;;; icomplete.el --- minibuffer completion incremental feedback
-;; Copyright (C) 1992, 1993, 1994, 1997, 1999, 2001, 2005
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1997, 1999, 2001, 2002, 2003,
+;; 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Ken Manheimer <klm@i.am>
;; Maintainer: Ken Manheimer <klm@i.am>
(if (commandp func-name)
(save-excursion
(let* ((sym (intern func-name))
- (buf (other-buffer))
+ (buf (other-buffer nil t))
(map (save-excursion (set-buffer buf) (current-local-map)))
(keys (where-is-internal sym map)))
(if keys
;; embarking on computing completions:
(sit-for icomplete-compute-delay)))
(let ((text (while-no-input
- (icomplete-completions
- (field-string)
- minibuffer-completion-table
- minibuffer-completion-predicate
- (not minibuffer-completion-confirm))))
+ (list
+ (icomplete-completions
+ (field-string)
+ minibuffer-completion-table
+ minibuffer-completion-predicate
+ (not minibuffer-completion-confirm)))))
(buffer-undo-list t))
- (if text (insert text)))))))
+ ;; Do nothing if while-no-input was aborted.
+ (if (consp text) (insert (car text))))))))
;;;_ > icomplete-completions (name candidates predicate require-match)
(defun icomplete-completions (name candidates predicate require-match)
;;;_* Local emacs vars.
;;;Local variables:
-;;;outline-layout: (-2 :)
+;;;allout-layout: (-2 :)
;;;End:
;; arch-tag: 339ec25a-0741-4eb6-be63-997532e89b0f