* gnus-art.el (gnus-article-describe-bindings): Work for prefix keys.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 6 Jan 2010 09:24:25 +0000 (09:24 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 6 Jan 2010 09:24:25 +0000 (09:24 +0000)
* gnus-xmas.el (gnus-xmas-article-describe-bindings): Ditto.

* message.el (message-check-news-header-syntax): Protect against a
string that `rfc822-addresses' returns when parsing fails.

lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-xmas.el
lisp/message.el

index 5fdcd90..30e8811 100644 (file)
@@ -1,3 +1,12 @@
+2010-01-06  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-art.el (gnus-article-describe-bindings): Work for prefix keys.
+
+       * gnus-xmas.el (gnus-xmas-article-describe-bindings): Ditto.
+
+       * 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 6bc84e4..dcb6388 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 008d588..ecc1576 100644 (file)
@@ -362,10 +362,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)
     (set-keymap-default-binding map 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)))
       (let ((def (key-binding "S"))
            gnus-pick-mode)
        (set-keymap-parent map (if (symbolp def)
index 17fecdf..424938a 100644 (file)
@@ -5039,7 +5039,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)