Function: ido-completion-help

ido-completion-help is an interactive and byte-compiled function defined in ido.el.gz.

Signature

(ido-completion-help)

Documentation

Show possible completions in the ido-completion-buffer.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/ido.el.gz
(defun ido-completion-help ()
  "Show possible completions in the `ido-completion-buffer'."
  (interactive)
  (setq ido-rescan nil)
  (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
	(let (win (buf (current-buffer)))
	  (display-buffer temp-buf)
	  (set-buffer temp-buf)
	  (setq win (get-buffer-window temp-buf))
	  (if (pos-visible-in-window-p (point-max) win)
	      (if (or ido-completion-buffer-all-completions
		      (boundp 'ido-completion-buffer-full))
		  (set-window-start win (point-min))
		(with-no-warnings
                  (setq-local ido-completion-buffer-full t))
		(setq full-list t
		      display-it t))
	    (scroll-other-window))
	  (set-buffer buf))
      (setq display-it t))
    (if (and ido-completion-buffer display-it)
	(with-temp-buffer-window ido-completion-buffer
            '((display-buffer-reuse-window display-buffer-at-bottom)
              (window-height . fit-window-to-buffer))
            nil
	  (let* ((comps
		  (cond
		   (ido-directory-too-big
		    (message "Reading directory...")
		    (setq ido-directory-too-big nil
			  ido-ignored-list nil
			  ido-cur-list (ido-all-completions)
			  ido-rescan t)
		    (ido-set-matches)
		    (or ido-matches ido-cur-list))
		   (ido-use-merged-list
		    (ido-flatten-merged-list (or ido-matches ido-cur-list)))
		   ((or full-list ido-completion-buffer-all-completions)
		    (ido-all-completions))
		   (t
		    (copy-sequence (or ido-matches ido-cur-list)))))
                 (completion-list
                  ;; If we have an alist COMPLETIONS, transform to a
                  ;; simple list first.
                  (sort (if (and (consp comps)
                                 (consp (car comps)))
                            (mapcar #'car comps)
                          comps)
                        #'ido-file-lessp)))
	    ;;(add-hook 'completion-setup-hook #'completion-setup-function)
	    (display-completion-list completion-list))))))