diff options
| author | Eli Zaretskii | 2005-12-10 11:40:04 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2005-12-10 11:40:04 +0000 |
| commit | 6d93e4aa38aa1993c8be0e24cf374d40583455bd (patch) | |
| tree | 1f397fc29a77adfa402810dda0205e686d92ecbf | |
| parent | eba9bb5f1a21b52c9ce87f641dfb4521dfaa4b55 (diff) | |
| download | emacs-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/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/emacs-lisp/lisp.el | 13 |
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 @@ | |||
| 1 | 2005-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 | |||
| 1 | 2005-12-10 Eli Zaretskii <eliz@gnu.org> | 9 | 2005-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 |