Commit d6b8d4e7 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* progmodes/meta-mode.el (meta-complete-symbol):

* progmodes/etags.el (complete-tag): Use completion-in-region.
parent e2d4ea5a
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.
......
......@@ -2047,28 +2047,13 @@ for \\[find-tag] (which see)."
(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$"
......
......@@ -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)))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment