1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-30 08:09:04 +00:00

Handle nil value of ido-completion-buffer.

* lisp/ido.el (ido-set-current-directory, ido-read-internal)
(ido-choose-completion-string, ido-completion-help): Handle nil
value of ido-completion-buffer.

Fixes: debbugs:11008
This commit is contained in:
Anmol Khirbat 2012-03-22 00:41:01 +08:00 committed by Chong Yidong
parent a98a6a97d9
commit 99fc91fecd
2 changed files with 21 additions and 10 deletions

View File

@ -1,3 +1,9 @@
2012-03-21 Anmol Khirbat <anmol@khirbat.net> (tiny change)
* ido.el (ido-set-current-directory, ido-read-internal)
(ido-choose-completion-string, ido-completion-help): Handle nil
value of ido-completion-buffer (Bug#11008).
2012-03-21 Sam Steingold <sds@gnu.org>
* window.el (switch-to-prev-buffer): Do not switch to a visible

View File

@ -1722,8 +1722,9 @@ This function also adds a hook to the minibuffer."
(unless (and ido-enable-tramp-completion
(string-match "\\`/[^/]*@\\'" dir))
(setq dir (ido-final-slash dir t))))
(if (get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(and ido-completion-buffer
(get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(cond
((equal dir ido-current-directory)
nil)
@ -1736,8 +1737,9 @@ This function also adds a hook to the minibuffer."
(t
(ido-trace "cd" dir)
(setq ido-current-directory dir)
(if (get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(and ido-completion-buffer
(get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(setq ido-directory-nonreadable (ido-nonreadable-directory-p dir))
(setq ido-directory-too-big (and (not ido-directory-nonreadable)
(ido-directory-too-big-p dir)))
@ -1982,8 +1984,9 @@ If INITIAL is non-nil, it specifies the initial input string."
(setq ido-text-init nil))
ido-completion-map nil hist))))
(ido-trace "read-from-minibuffer" ido-final-text)
(if (get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(and ido-completion-buffer
(get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(ido-trace "\n_EXIT_" ido-exit)
@ -3837,8 +3840,9 @@ This is to make them appear as if they were \"virtual buffers\"."
(defun ido-choose-completion-string (choice &rest ignored)
(when (ido-active)
;; Insert the completion into the buffer where completion was requested.
(if (get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(and ido-completion-buffer
(get-buffer ido-completion-buffer)
(kill-buffer ido-completion-buffer))
(cond
((ido-active t) ;; ido-use-merged-list
(setq ido-current-directory ""
@ -3857,7 +3861,8 @@ This is to make them appear as if they were \"virtual buffers\"."
"Show possible completions in a *File Completions* buffer."
(interactive)
(setq ido-rescan nil)
(let ((temp-buf (get-buffer ido-completion-buffer))
(let ((temp-buf (and ido-completion-buffer
(get-buffer ido-completion-buffer)))
display-it full-list)
(if (and (eq last-command this-command) temp-buf)
;; scroll buffer
@ -3876,7 +3881,7 @@ This is to make them appear as if they were \"virtual buffers\"."
(scroll-other-window))
(set-buffer buf))
(setq display-it t))
(if display-it
(if (and ido-completion-buffer display-it)
(with-output-to-temp-buffer ido-completion-buffer
(let ((completion-list (sort
(cond