Mercurial > emacs
changeset 106236:4436585c0829
* progmodes/meta-mode.el (meta-complete-symbol):
* progmodes/etags.el (complete-tag): Use completion-in-region.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 25 Nov 2009 06:08:42 +0000 |
parents | 4e5a706e62fa |
children | 7ddab4671153 |
files | lisp/ChangeLog lisp/progmodes/etags.el lisp/progmodes/meta-mode.el |
diffstat | 3 files changed, 10 insertions(+), 40 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Nov 25 06:02:01 2009 +0000 +++ b/lisp/ChangeLog Wed Nov 25 06:08:42 2009 +0000 @@ -1,5 +1,7 @@ 2009-11-25 Stefan Monnier <monnier@iro.umontreal.ca> + * progmodes/meta-mode.el (meta-complete-symbol): + * progmodes/etags.el (complete-tag): * mail/mailabbrev.el (mail-abbrev-complete-alias): Use completion-in-region.
--- a/lisp/progmodes/etags.el Wed Nov 25 06:02:01 2009 +0000 +++ b/lisp/progmodes/etags.el Wed Nov 25 06:08:42 2009 +0000 @@ -2047,28 +2047,13 @@ (get major-mode 'find-tag-default-function) 'find-tag-default))) (comp-table (tags-lazy-completion-table)) - beg - completion) + beg) (or pattern (error "Nothing to complete")) (search-backward pattern) (setq beg (point)) (forward-char (length pattern)) - (setq completion (try-completion pattern comp-table)) - (cond ((eq completion t)) - ((null completion) - (message "Can't find completion for \"%s\"" pattern) - (ding)) - ((not (string= pattern completion)) - (delete-region beg (point)) - (insert completion)) - (t - (message "Making completion list...") - (with-output-to-temp-buffer "*Completions*" - (display-completion-list - (all-completions pattern comp-table nil) - pattern)) - (message "Making completion list...%s" "done"))))) + (completion-in-region beg (point) comp-table))) (dolist (x '("^No tags table in use; use .* to select one$" "^There is no default tag$"
--- a/lisp/progmodes/meta-mode.el Wed Nov 25 06:02:01 2009 +0000 +++ b/lisp/progmodes/meta-mode.el Wed Nov 25 06:08:42 2009 +0000 @@ -487,29 +487,12 @@ (close (nth 3 entry)) (begin (match-beginning sub)) (end (match-end sub)) - (pattern (meta-match-buffer 0)) - (symbol (buffer-substring begin end)) - (list (funcall (nth 2 entry))) - (completion (try-completion symbol list))) - (cond ((eq completion t) - (and close - (not (looking-at (regexp-quote close))) - (insert close))) - ((null completion) - (error "Can't find completion for \"%s\"" pattern)) - ((not (string-equal symbol completion)) - (delete-region begin end) - (insert completion) - (and close - (eq (try-completion completion list) t) - (not (looking-at (regexp-quote close))) - (insert close))) - (t - (message "Making completion list...") - (let ((list (all-completions symbol list nil))) - (with-output-to-temp-buffer "*Completions*" - (display-completion-list list symbol))) - (message "Making completion list... done")))) + (list (funcall (nth 2 entry)))) + (completion-in-region + begin end + (if (zerop (length close)) list + (apply-partially 'completion-table-with-terminator + close list)))) (funcall (nth 1 entry)))))