Ticket #270 (reopened 不具合)

Opened 2 years ago

Last modified 2 years ago

read-file-name が PREDICATE を無視する

Reported by: anonymous Assigned to:
Priority: major Milestone:
Component: その他/一般 Version: 3.00 (開発中)
Keywords: Cc:

Description

(read-file-name "dir: " "c:/meadow/lisp/" nil t nil 'ignore) で一切のファイルは入力できないはずだが、 cdl.el や help.el が 何故か入力できてしまう。

Attachments

Change History

07/23/06 00:19:32 changed by fujii

  • status changed from new to closed.
  • resolution set to wontfix.

もう現象は発生しなくなっているはずです。おそらく以下の変更でなおったのだと思います。

src/ChangeLogより引用:

2005-12-06  Ken Raeburn  <raeburn@gnu.org>

	* buffer.c (Fkill_buffer): Avoid dangerous side effects in NILP args.
	* bytecode.c (Fbyte_code): Likewise.
	* fileio.c (internal_delete_file, Fread_file_name_internal): Likewise.
	* minibuf.c (Fminibuffer_complete_and_exit): Likewise.
	* undo.c (truncate_undo_list): Likewise.

07/23/06 16:09:49 changed by anonymous

試してみたところ、PREDICATE を無視して任意の既存のファイル名を入力できてしまいました。(r4111)

同様に read-directory で既存の非ディレクトリのファイル名も入力できてしまいます。

07/23/06 19:27:02 changed by anonymous2

  • status changed from closed to reopened.
  • resolution deleted.
  • component changed from Emacs Lisp to その他/一般.

Meadowではなく、本家Emacsのバグだと思います。 read-file-name-internal (fileio.c) が action = nil で呼ばれた場合、 文字列で指定したファイルが存在すると、predicate を考慮されずに t が返さ れるからでしょう。(条件は、はしょっています)


Add/Change #270 (read-file-name が PREDICATE を無視する)




Change Properties
Action