]> code.delx.au - gnu-emacs/commitdiff
(lisp-complete-symbol): Regenerate the completion list, even after a partial
authorEli Zaretskii <eliz@gnu.org>
Sat, 10 Dec 2005 11:40:04 +0000 (11:40 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 10 Dec 2005 11:40:04 +0000 (11:40 +0000)
completion has been inserted in the current buffer.  If there are more than 1
completion, redisplay the *Completions* buffer; if the completion is unique,
delete the *Completions* window.

lisp/ChangeLog
lisp/emacs-lisp/lisp.el

index b69c5a831af2ef1c98aecaae21f91fd7cafb910e..21f3422a63d81cc49b6c674624ce5b7e105acb17 100644 (file)
@@ -1,3 +1,11 @@
+2005-12-10  Kevin Rodgers  <ihs_4664@ihs.com>
+
+       * emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the
+       completion list, even after a partial completion has been
+       inserted in the current buffer.  If there are more than 1
+       completion, redisplay the *Completions* buffer; if the
+       completion is unique, delete the *Completions* window.
+
 2005-12-10  Eli Zaretskii  <eliz@gnu.org>
 
        * mail/rmail.el (rmail-next-same-subject): Handle multiple "Re: "
index 4b799ebfedf1e03affa8e49f10657c0d3bbaf424..7aeb33a648e1c83501d8a23d1c029675d830b132 100644 (file)
@@ -569,10 +569,11 @@ considered."
              ((null completion)
               (message "Can't find completion for \"%s\"" pattern)
               (ding))
-             ((not (string= pattern completion))
-              (delete-region beg end)
-              (insert completion))
              (t
+              (unless (string= completion pattern)
+                (delete-region beg end)
+                (insert completion)
+                (setq pattern completion))
               (message "Making completion list...")
               (let ((list (all-completions pattern obarray predicate)))
                 (setq list (sort list 'string<))
@@ -585,8 +586,10 @@ considered."
                                         new))
                         (setq list (cdr list)))
                       (setq list (nreverse new))))
-                (with-output-to-temp-buffer "*Completions*"
-                  (display-completion-list list pattern)))
+                (if (> (length list) 1)
+                    (with-output-to-temp-buffer "*Completions*"
+                      (display-completion-list list pattern))
+                  (delete-windows-on "*Completions*")))
               (message "Making completion list...%s" "done")))))))
 
 ;;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e