XEmacs の packages にもある APEL の poe.el の中で
(defun require (feature &optional filename noerror) ...)
という FSF Emacs 20.4 以上と同じ第三引数を持った require が定義されて
いるのですが、往々にして efs.el にある efs-require で上書きされて、
XEmacs 本来の
(require FEATURE &optional FILE-NAME)
という仕様に戻されてしまいます。
;; 話しによれば jam-zcat もそうらしい、しかも FSFmacs で使った場合もそ
;; うなるようなのですが、jka-compr の守備範囲に require はありません。
ですから、あるプログラムに
(require 'foo nil t)
と書いてあったとすると、現在これを確実に XEmacs で使うためには、efs の
後で poe を load する必要があります。しかし、そんな制約があるのは好ま
しくありませんし efs が不要な人にとって efs 本体は重いものです。
で、以下は実行を伴わない個人的な意見ですが、:-p
・XEmacs の built-in 関数の require を FSFmacs に合わせてもらい、かつ
efs もそれに同期して変更してもらう。
というのが最上解ではないかと思うのですが、いかがなものでしょうか?
;; どなたかやって下さると嬉しい。(^^;;)
とは言うものの、FSFmacs と XEmacs (加えて古い Emacs) 共用のプログラム
を書く場合は、今後も require の第三引数は使わないようにするしかなさそ
うです。
;;; 上野さんへの私信で「やってみる」と書いたけれど、こんな状況だとは
;;; 思いませんでした。(^^;;;)
--
Katsumi Yamaoka <yamaoka(a)jpl.org>