aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2005-12-10 11:40:04 +0000
committerEli Zaretskii2005-12-10 11:40:04 +0000
commit6d93e4aa38aa1993c8be0e24cf374d40583455bd (patch)
tree1f397fc29a77adfa402810dda0205e686d92ecbf
parenteba9bb5f1a21b52c9ce87f641dfb4521dfaa4b55 (diff)
downloademacs-6d93e4aa38aa1993c8be0e24cf374d40583455bd.tar.gz
emacs-6d93e4aa38aa1993c8be0e24cf374d40583455bd.zip
(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.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/emacs-lisp/lisp.el13
2 files changed, 16 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b69c5a831af..21f3422a63d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12005-12-10 Kevin Rodgers <ihs_4664@ihs.com>
2
3 * emacs-lisp/lisp.el (lisp-complete-symbol): Regenerate the
4 completion list, even after a partial completion has been
5 inserted in the current buffer. If there are more than 1
6 completion, redisplay the *Completions* buffer; if the
7 completion is unique, delete the *Completions* window.
8
12005-12-10 Eli Zaretskii <eliz@gnu.org> 92005-12-10 Eli Zaretskii <eliz@gnu.org>
2 10
3 * mail/rmail.el (rmail-next-same-subject): Handle multiple "Re: " 11 * mail/rmail.el (rmail-next-same-subject): Handle multiple "Re: "
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index 4b799ebfedf..7aeb33a648e 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -569,10 +569,11 @@ considered."
569 ((null completion) 569 ((null completion)
570 (message "Can't find completion for \"%s\"" pattern) 570 (message "Can't find completion for \"%s\"" pattern)
571 (ding)) 571 (ding))
572 ((not (string= pattern completion))
573 (delete-region beg end)
574 (insert completion))
575 (t 572 (t
573 (unless (string= completion pattern)
574 (delete-region beg end)
575 (insert completion)
576 (setq pattern completion))
576 (message "Making completion list...") 577 (message "Making completion list...")
577 (let ((list (all-completions pattern obarray predicate))) 578 (let ((list (all-completions pattern obarray predicate)))
578 (setq list (sort list 'string<)) 579 (setq list (sort list 'string<))
@@ -585,8 +586,10 @@ considered."
585 new)) 586 new))
586 (setq list (cdr list))) 587 (setq list (cdr list)))
587 (setq list (nreverse new)))) 588 (setq list (nreverse new))))
588 (with-output-to-temp-buffer "*Completions*" 589 (if (> (length list) 1)
589 (display-completion-list list pattern))) 590 (with-output-to-temp-buffer "*Completions*"
591 (display-completion-list list pattern))
592 (delete-windows-on "*Completions*")))
590 (message "Making completion list...%s" "done"))))))) 593 (message "Making completion list...%s" "done")))))))
591 594
592;;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e 595;;; arch-tag: aa7fa8a4-2e6f-4e9b-9cd9-fef06340e67e