]> git.eshelyaron.com Git - emacs.git/commitdiff
* ido.el (ido-read-file-name): Conform to the requirements of
authorLeo Liu <sdl.web@gmail.com>
Thu, 11 Jul 2013 02:59:54 +0000 (10:59 +0800)
committerLeo Liu <sdl.web@gmail.com>
Thu, 11 Jul 2013 02:59:54 +0000 (10:59 +0800)
read-file-name.
(ido-read-directory-name): Conform to the requirements of
read-directory-name.

Fixes: debbugs:11861
lisp/ChangeLog
lisp/ido.el

index 37421981f7fd385e6ceba14a086d976b6c157a21..4b9cbe829f31f9060ba9278f0a1af38d57c12ea6 100644 (file)
@@ -1,3 +1,10 @@
+2013-07-11  Leo Liu  <sdl.web@gmail.com>
+
+       * 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  <lekktu@gmail.com>
 
        * subr.el (delay-warning): New function.
index 22c8a4e65becc78f9730ae35700130bfd9fb010d..b32c1d00bc2f71e8b6498e6f359c72b7d0e782fc 100644 (file)
@@ -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))