2009-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
+ * mail/mailabbrev.el (mail-abbrev-complete-alias):
+ Use completion-in-region.
+
* dabbrev.el (dabbrev--minibuffer-origin): Use minibuffer-selected-window.
(dabbrev-completion): Use completion-in-region.
(dabbrev--abbrev-at-point): Simplify regexp.
;; Based on lisp.el:lisp-complete-symbol
(interactive)
(mail-abbrev-make-syntax-table)
- (let* ((end (point))
- (beg (with-syntax-table mail-abbrev-syntax-table
- (save-excursion
- (backward-word 1)
- (point))))
- (alias (buffer-substring beg end))
- (completion (try-completion alias mail-abbrevs)))
- (cond ((eq completion t)
- (message "%s" alias)) ; confirm
- ((null completion)
- (error "[Can't complete \"%s\"]" alias)) ; (message ...) (ding)
- ((not (string= completion alias))
- (delete-region beg end)
- (insert completion))
- (t (with-output-to-temp-buffer "*Completions*"
- (display-completion-list
- (prog2
- (message "Making completion list...")
- (all-completions alias mail-abbrevs)
- (message "Making completion list...done"))
- alias))))))
+ (let ((end (point))
+ (beg (with-syntax-table mail-abbrev-syntax-table
+ (save-excursion
+ (backward-word 1)
+ (point)))))
+ (completion-in-region beg end mail-abbrevs)))
(defun mail-abbrev-next-line (&optional arg)
"Expand a mail abbrev before point, then move vertically down ARG lines.