]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from mainline.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 6 Jan 2010 09:16:36 +0000 (09:16 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 6 Jan 2010 09:16:36 +0000 (09:16 +0000)
lisp/gnus/ChangeLog
lisp/gnus/gnus-art.el
lisp/gnus/message.el

index 177b0a032f89d6dbf2dadc6ef83280a5eaf9efbc..2e90bf6e824ddf5556ee7dcc1775a0e5a1420033 100644 (file)
@@ -1,3 +1,10 @@
+2010-01-06  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-article-describe-bindings): Work for prefix keys.
+
+       * message.el (message-check-news-header-syntax): Protect against a
+       string that `rfc822-addresses' returns when parsing fails.
+
 2010-01-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-util.el (gnus-invisible-p, gnus-next-char-property-change)
index 6bc84e4222541107c2be7d00bea1b8bbb4e5bdb0..dcb6388399719857d8c8036ef571e6c152964217 100644 (file)
@@ -6477,10 +6477,17 @@ then we display only bindings that start with that prefix."
   (let ((keymap (copy-keymap gnus-article-mode-map))
        (map (copy-keymap gnus-article-send-map))
        (sumkeys (where-is-internal 'gnus-article-read-summary-keys))
-       agent draft)
+       parent agent draft)
     (define-key keymap "S" map)
     (define-key map [t] nil)
     (with-current-buffer gnus-article-current-summary
+      (set-keymap-parent
+       keymap
+       (if (setq parent (keymap-parent gnus-article-mode-map))
+          (prog1
+              (setq parent (copy-keymap parent))
+            (set-keymap-parent parent (current-local-map)))
+        (current-local-map)))
       (set-keymap-parent map (key-binding "S"))
       (let (key def gnus-pick-mode)
        (while sumkeys
index 18feee83032a1bedc08de6c5eec3e8a528b60bbc..941fa92b8b3256f908533ccb440e9ba88d75d5ba 100644 (file)
@@ -5077,7 +5077,8 @@ Otherwise, generate and save a value for `canlock-password' first."
          "Denied posting -- the From looks strange: \"%s\"." from)
         nil)
        ((let ((addresses (rfc822-addresses from)))
-          (while (and addresses
+          ;; `rfc822-addresses' returns a string if parsing fails.
+          (while (and (consp addresses)
                       (not (eq (string-to-char (car addresses)) ?\()))
             (setq addresses (cdr addresses)))
           addresses)