read-file-name
Katsumi Yamaoka
yamaoka @ jpl.org
2000年 2月 4日 (金) 18:33:55 JST
Emacs 19.28 などの `read-file-name' の仕様が現在と違うのを吸収するコー
ドを poe.el に追加しました。元は奥西さんが発見されたものです。↓
>>>>> In [Elips : No.01353]
>>>>> Katsumi Yamaoka <yamaoka @ ga.sony.co.jp> wrote:
山岡> Mule 2.3 @ 19.28 をお持ちの方は以下の簡単なテストをしてみて下さい。
山岡> ○ ~/.emacs 以外のファイルを find-file して下さい。
山岡> ○ (read-file-name "File: " "~/" nil t ".emacs") を eval して、
山岡> そのまま ENTER をタイプして下さい。つまりこう↓です。
山岡> M-x eval-expression
山岡> Eval: (read-file-name "File: " "~/" nil t ".emacs")
山岡> File: ~/.emacs
山岡> その結果何が返ってきますか? 当然期待されるのは "~/.emacs" とい
山岡> う文字列ですが、何と実際には (buffer-file-name) の値、つまり直前
山岡> に find-fileしたファイルの名前が返ってくるのです。
山岡> 同じことを *scratch* などの (buffer-file-name) が nil のバッファ
山岡> で行なった場合は正常に動作します。
これは 19.29 で以下のような修正が行なわれているので、これに倣いました。
Wed Sep 21 14:52:44 1994 Richard Stallman <rms @ mole.gnu.ai.mit.edu>
* fileio.c (Fread_file_name): If DEFAULT is nil and INITIAL is not,
use INITIAL to set DEFAULT.
さて、実はあまり言いたくなかったのですが、`read-file-name' に限らず
version によって引数が微妙に違う関数がたくさんありますよね。
x20:
(read-file-name PROMPT &optional DIR DEFAULT MUSTMATCH INITIAL HISTORY)
e20,e19:
(read-file-name PROMPT &optional DIR DEFAULT MUSTMATCH INITIAL)
e18:
(read-file-name PROMPT &optional DIR DEFAULT MUSTMATCH)
今回この対応は行なわなかったのですが、こういうのは需要がでてきたときに
行なう腹積りでいて良いですよね?
;; XEmacs 19 の tarball には ChangeLog が無いので、調べるのが超大変で
;; す。19.16 から順に 19.15, 19.14, 19.13 ... と開いてみないと、いつ
;; 変更されたのかわかりません。
--
Katsumi Yamaoka <yamaoka @ jpl.org>
;; v18 の議論に加わらなくてごめんなさい。自分でほとんど使っていないの
;; で、何も意見が無いのです。:-p
More information about the APEL-ja
mailing list