From d6b8d4e75e3b293ebe643c102ee821c20efe925c Mon Sep 17 00:00:00 2001 From: Stefan Monnier <monnier@iro.umontreal.ca> Date: Wed, 25 Nov 2009 06:08:42 +0000 Subject: * progmodes/meta-mode.el (meta-complete-symbol): * progmodes/etags.el (complete-tag): Use completion-in-region. --- lisp/progmodes/meta-mode.el | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) (limited to 'lisp/progmodes/meta-mode.el') diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el index a52fd1d3d7e..ed6d87dcfae 100644 --- a/lisp/progmodes/meta-mode.el +++ b/lisp/progmodes/meta-mode.el @@ -487,29 +487,12 @@ If the list was changed, sort the list and remove duplicates first." (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))))) -- cgit v1.2.3