]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge changes made in Gnus trunk.
authorGnus developers <ding@gnus.org>
Thu, 3 Mar 2011 13:21:50 +0000 (13:21 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 3 Mar 2011 13:21:50 +0000 (13:21 +0000)
nnimap.el (nnimap-parse-flags): Add a workaround for FETCH lines with numbers too big to be `read'.
password-cache.el (password-in-cache-p): Add autoload.
message.el (message-options): Make buffer-local two ways to attempt to fix a XEmacs bug.

lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/message.el
lisp/gnus/nnimap.el
lisp/password-cache.el

index ab96ec4ad0191437cebc33bbfbc24d27ecba3ffd..57339a8fee977c50723de2468ea9b36e2a28bfad 100644 (file)
        * vc/vc-bzr.el (vc-bzr-state-heuristic): Handle dirstate entries
        with no parents.  (Bug#8025)
 
+2011-03-02  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * password-cache.el (password-in-cache-p): Add autoload.
+
 2011-03-02  Glenn Morris  <rgm@gnu.org>
 
        * man.el (Man-support-local-filenames): Also handle Red Hat's man.
index 7606d1a44aedeb359d08582408050755fde19896..0dc3f487f2c79d96c90b9b654d651ea1361203ae 100644 (file)
@@ -1,3 +1,13 @@
+2011-03-03  Tassilo Horn  <tassilo@member.fsf.org>
+
+       * nnimap.el (nnimap-parse-flags): Add a workaround for FETCH lines with
+       numbers too big to be `read'.
+
+2011-03-02  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * message.el (message-options): Make buffer-local two ways to attempt
+       to fix a XEmacs bug.
+
 2011-03-02  Julien Danjou  <julien@danjou.info>
 
        * gnus-art.el (gnus-with-article-buffer): Fix buffer live check.
index 58daf1baf944972b1485fe7a071b5f05f5119498..6adde4e6e51ed97c7bba61524e8297478e502a97 100644 (file)
@@ -1814,7 +1814,10 @@ You must have the \"hashcash\" binary installed, see `hashcash-path'."
 
 (defvar        message-options nil
   "Some saved answers when sending message.")
-(make-variable-buffer-local 'message-options)
+
+(if (featurep 'xemacs)
+    (make-local-variable 'message-options)
+  (make-variable-buffer-local 'message-options))
 
 (defvar message-send-mail-real-function nil
   "Internal send mail function.")
index c579261e35625bd4bb5bc563b7ac3701c604df0d..aa4ecbc3b0f641ad97eb463e533d11f98ef3697a 100644 (file)
@@ -1496,10 +1496,22 @@ textual parts.")
            (setq start (point))
            (goto-char end))
          (while (re-search-forward "^\\* [0-9]+ FETCH " start t)
-           (setq elems (read (current-buffer)))
-           (push (cons (cadr (memq 'UID elems))
-                       (cadr (memq 'FLAGS elems)))
-                 articles))
+           (let ((p (point)))
+             ;; FIXME: For FETCH lines like "* 2971 FETCH (FLAGS (%Recent) UID
+             ;; 12509 MODSEQ (13419098521433281274))" we get an
+             ;; overflow-error.  The handler simply deletes that large number
+             ;; and reads again.  But maybe there's a better fix...
+             (setq elems (condition-case nil (read (current-buffer))
+                           (overflow-error
+                            ;; After an overflow-error, point is just after
+                            ;; the too large number.  So delete it and try
+                            ;; again.
+                            (delete-region (point) (progn (backward-word) (point)))
+                            (goto-char p)
+                            (read (current-buffer)))))
+             (push (cons (cadr (memq 'UID elems))
+                         (cadr (memq 'FLAGS elems)))
+                   articles)))
          (push (nconc (list group uidnext totalp permanent-flags uidvalidity
                             vanished highestmodseq)
                       articles)
index a7f75a03addcaeb07d88375faac3030510396fdf..941428d5291b7c07f5907e0ee194d2448032973d 100644 (file)
@@ -76,6 +76,7 @@ regulate cache behavior."
        key
        (symbol-value (intern-soft key password-data))))
 
+;;;###autoload
 (defun password-in-cache-p (key)
   "Check if KEY is in the cache."
   (and password-cache