From a43d577e485424c5352fe551e34fa35ea2724124 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Thu, 11 Jul 2013 10:59:54 +0800 Subject: [PATCH] * ido.el (ido-read-file-name): Conform to the requirements of read-file-name. (ido-read-directory-name): Conform to the requirements of read-directory-name. Fixes: debbugs:11861 --- lisp/ChangeLog | 7 +++++++ lisp/ido.el | 18 +++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 37421981f7f..4b9cbe829f3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2013-07-11 Leo Liu + + * ido.el (ido-read-file-name): Conform to the requirements of + read-file-name. (Bug#11861) + (ido-read-directory-name): Conform to the requirements of + read-directory-name. + 2013-07-11 Juanma Barranquero * subr.el (delay-warning): New function. diff --git a/lisp/ido.el b/lisp/ido.el index 22c8a4e65be..b32c1d00bc2 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -4780,7 +4780,14 @@ See `read-file-name' for additional parameters." (ido-find-literal nil)) (setq ido-exit nil) (setq filename - (ido-read-internal 'file prompt 'ido-file-history default-filename mustmatch initial)) + (ido-read-internal 'file prompt 'ido-file-history + (cond ; Bug#11861. + ((stringp default-filename) default-filename) + ((consp default-filename) (car default-filename)) + ((and (not default-filename) initial) + (expand-file-name initial dir)) + (buffer-file-name buffer-file-name)) + mustmatch initial)) (setq dir ido-current-directory) ; See bug#1516. (cond ((eq ido-exit 'fallback) @@ -4813,8 +4820,13 @@ See `read-directory-name' for additional parameters." (ido-directory-too-big-p ido-current-directory))) (ido-work-directory-index -1) (ido-work-file-index -1)) - (setq filename - (ido-read-internal 'dir prompt 'ido-file-history default-dirname mustmatch initial)) + (setq filename (ido-read-internal + 'dir prompt 'ido-file-history + (or default-dirname ; Bug#11861. + (if initial + (expand-file-name initial ido-current-directory) + ido-current-directory)) + mustmatch initial)) (cond ((eq ido-exit 'fallback) (let ((read-file-name-function nil)) -- 2.39.2