diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2009-11-25 06:08:42 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2009-11-25 06:08:42 +0000 |
commit | d6b8d4e75e3b293ebe643c102ee821c20efe925c (patch) | |
tree | edea1e03a304cb6cd519ee04e0ee1a71220c54d3 /lisp/progmodes/meta-mode.el | |
parent | e2d4ea5aba359bdd3074ada855df03ca07728bd2 (diff) | |
download | emacs-d6b8d4e75e3b293ebe643c102ee821c20efe925c.tar.gz |
* progmodes/meta-mode.el (meta-complete-symbol):
* progmodes/etags.el (complete-tag): Use completion-in-region.
Diffstat (limited to 'lisp/progmodes/meta-mode.el')
-rw-r--r-- | lisp/progmodes/meta-mode.el | 29 |
1 files changed, 6 insertions, 23 deletions
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))))) |