Function: ido-get-work-directory
ido-get-work-directory is a byte-compiled function defined in
ido.el.gz.
Signature
(ido-get-work-directory &optional INCR MUST-MATCH)
Source Code
;; Defined in /usr/src/emacs/lisp/ido.el.gz
(defun ido-get-work-directory (&optional incr must-match)
(let ((n (length ido-work-directory-list))
(i ido-work-directory-index)
(j 0)
dir)
(if (or (not ido-text) (= (length ido-text) 0))
(setq must-match nil))
(while (< j n)
(setq i (+ i incr)
j (1+ j))
(if (> incr 0)
(if (>= i n) (setq i 0))
(if (< i 0) (setq i (1- n))))
(setq dir (nth i ido-work-directory-list))
(if (and dir
(not (equal dir ido-current-directory))
(file-directory-p dir)
(or (not must-match)
;; TODO. check for nonreadable and too-big.
(ido-set-matches-1
(if (eq ido-cur-item 'file)
(ido-make-file-list-1 dir)
(ido-make-dir-list-1 dir)))))
(setq j n)
(setq dir nil)))
(if dir
(setq ido-work-directory-index i))
dir))