Function: ido-read-directory-name
ido-read-directory-name is an autoloaded and byte-compiled function
defined in ido.el.gz.
Signature
(ido-read-directory-name PROMPT &optional DIR DEFAULT-DIRNAME MUSTMATCH INITIAL)
Documentation
Ido replacement for the built-in read-directory-name.
Read directory name, prompting with PROMPT and completing in directory DIR.
See read-directory-name for additional parameters.
Source Code
;; Defined in /usr/src/emacs/lisp/ido.el.gz
;;;###autoload
(defun ido-read-directory-name (prompt &optional dir default-dirname mustmatch initial)
"Ido replacement for the built-in `read-directory-name'.
Read directory name, prompting with PROMPT and completing in directory DIR.
See `read-directory-name' for additional parameters."
(let* (filename
(minibuffer-completing-file-name t)
(ido-context-switch-command 'ignore)
ido-saved-vc-hb
(ido-current-directory (ido-expand-directory dir))
(ido-directory-nonreadable (not (file-readable-p ido-current-directory)))
(ido-directory-too-big (and (not ido-directory-nonreadable)
(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
(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))
(run-hook-with-args 'ido-before-fallback-functions 'read-directory-name)
(read-directory-name prompt ido-current-directory
default-dirname mustmatch initial)))
((equal filename ".") ido-current-directory)
(t (concat ido-current-directory filename)))))