Subject: 24.0.50; read-file-name-predicate is never reset

From: "Drew Adams" <[email-masked]>
Date: Tue, 15 Jun 2010 11:06:20 -0700

read-file-name-predicate is declared obsolete in 23.2.  But it is still
available and still used.
 
However, it is no longer bound in `read-file-name', as it was.  So if
3rd-party code ever sets it then it stays set instead of being
reinitialized by `read-file-name'.
 
The binding is missing here, in `read-file-name':
 
(let ((completion-ignore-case read-file-name-completion-ignore-case)
      (minibuffer-completing-file-name t)
      (read-file-name-predicate (or predicate 'file-exists-p)) ; MISSING
      (add-to-history nil))

In GNU Emacs 24.0.50.1 (i386-mingw-nt5.1.2600)
 of 2010-06-14 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.4) --no-opt --cflags -Ic:/xpm/include'