Subject: bug#2585: 23.0.90; read-file-name with dialog

From: Jason Rumney <[email-masked]>
Date: Sat, 07 Mar 2009 15:50:25 +0800

Whoever did the conversion of read-file-name from C to lisp probably 
knows what was meant by this, by my naive impression is that the 
following logic is a mistake:

                  ;; If DIR contains a file name, split it.
                  (let ((file (file-name-nondirectory dir)))
                    (when (and default-filename (not (zerop (length file))))
                      (setq default-filename file)
                      (setq dir (file-name-directory dir)))

The third line makes more sense to me as:

         (when (and (not default-filename) (not (zerop (length file))))

ie. if default-filename is specified, then the splitting should NOT be done.