message.el (message-completion-function): Make sure message-tab-body-function is...
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 26 Oct 2011 22:23:23 +0000 (22:23 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 26 Oct 2011 22:23:23 +0000 (22:23 +0000)
lisp/ChangeLog
lisp/message.el

index 66c2363..831cbce 100644 (file)
@@ -1,3 +1,9 @@
+2011-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * message.el (message-completion-function): Make sure
+       message-tab-body-function is not attempted if one of
+       message-completion-alist fails to find a completion (bug#9158).
+
 2011-10-26  Daiki Ueno  <ueno@unixuser.org>
 
        * mml.el (mml-quote-region): Quote <#secure> tag.
@@ -7,7 +13,7 @@
 
        * gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24,
        calling a minor mode from Lisp with nil arg enables it, so we have to
-       make the working a bit ambiguous here).
+       make the wording a bit ambiguous here).
 
 2011-10-18  Teodor Zlatanov  <tzz@lifelogs.com>
 
        gnus-requst-update-info with explicit code to sync the in-memory
        info read flags with the marks being sync'd to the backend.
 
-       *gnus-util.el (gnus-pp): Add optional stream to match pp API.
+       * gnus-util.el (gnus-pp): Add optional stream to match pp API.
 
 2004-09-28  Teodor Zlatanov  <tzz@lifelogs.com>
 
index 7f56ed6..a7045da 100644 (file)
@@ -7932,7 +7932,11 @@ those headers."
                (let ((mail-abbrev-mode-regexp (caar alist)))
                  (not (mail-abbrev-in-expansion-header-p))))
       (setq alist (cdr alist)))
-    (cdar alist)))
+    (when (cdar alist)
+      (lexical-let ((fun (cdar alist)))
+        ;; Even if completion fails, return a non-nil value, so as to avoid
+        ;; falling back to message-tab-body-function.
+        (lambda () (funcall fun) 'completion-attempted)))))
 
 (eval-and-compile
   (condition-case nil