Synch with Oort Gnus.
authoryamaoka <yamaoka>
Sun, 6 Oct 2002 04:19:48 +0000 (04:19 +0000)
committeryamaoka <yamaoka>
Sun, 6 Oct 2002 04:19:48 +0000 (04:19 +0000)
lisp/ChangeLog
lisp/gnus-agent.el
lisp/imap.el

index b593eb8..27e7430 100644 (file)
@@ -1,5 +1,17 @@
+2002-10-06  Simon Josefsson  <jas@extundo.com>
+
+       * imap.el (imap-parse-status): Don't use read to read token.
+
+2002-10-05  Kai Gro\e,A_\e(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+       * gnus-agent.el (gnus-agent-fetch-selected-article): Do nothing
+       for methods not covered by the agent, and when unplugged.
+
 2002-10-05  Simon Josefsson  <jas@extundo.com>
 
+       * pgg-gpg.el (pgg-gpg-encrypt-region): Query passphrase when
+       signing.
+
        * gnus-agent.el (gnus-agent-read-servers): If getting method from
        a named server fails, ignore the server.
 
index 742d3b2..df30949 100644 (file)
@@ -801,9 +801,10 @@ Optional arg ALL, if non-nil, means to fetch all articles."
 This can be added to `gnus-select-article-hook' or
 `gnus-mark-article-hook'."
   (let ((gnus-command-method gnus-current-select-method))
-    (gnus-agent-fetch-articles
-     gnus-newsgroup-name
-     (list gnus-current-article))))
+    (when (and gnus-plugged (gnus-agent-method-p gnus-command-method))
+      (gnus-agent-fetch-articles
+       gnus-newsgroup-name
+       (list gnus-current-article)))))
 
 ;;;
 ;;; Internal functions
index 9d30166..4ff3e70 100644 (file)
@@ -2276,26 +2276,32 @@ Return nil if no complete line has arrived."
 
 (defun imap-parse-status ()
   (let ((mailbox (imap-parse-mailbox)))
-    (when (and mailbox (search-forward "(" nil t))
-      (while (not (eq (char-after) ?\)))
-       (let ((token (read (current-buffer))))
-         (cond ((eq token 'MESSAGES)
+    (if (eq (char-after) ? )
+       (forward-char))
+    (when (and mailbox (eq (char-after) ?\())
+      (while (and (not (eq (char-after) ?\)))
+                 (or (forward-char) t)
+                 (looking-at "\\([A-Za-z]+\\) "))
+       (let ((token (match-string 1)))
+         (goto-char (match-end 0))
+         (cond ((string= token "MESSAGES")
                 (imap-mailbox-put 'messages (read (current-buffer)) mailbox))
-               ((eq token 'RECENT)
+               ((string= token "RECENT")
                 (imap-mailbox-put 'recent (read (current-buffer)) mailbox))
-               ((eq token 'UIDNEXT)
-                (and (looking-at " \\([0-9]+\\)")
-                     (imap-mailbox-put 'uidnext (match-string 1) mailbox)
-                     (goto-char (match-end 1))))
-               ((eq token 'UIDVALIDITY)
-                (and (looking-at " \\([0-9]+\\)")
-                     (imap-mailbox-put 'uidvalidity (match-string 1) mailbox)
-                     (goto-char (match-end 1))))
-               ((eq token 'UNSEEN)
+               ((string= token "UIDNEXT")
+                (and (looking-at "[0-9]+")
+                     (imap-mailbox-put 'uidnext (match-string 0) mailbox)
+                     (goto-char (match-end 0))))
+               ((string= token "UIDVALIDITY")
+                (and (looking-at "[0-9]+")
+                     (imap-mailbox-put 'uidvalidity (match-string 0) mailbox)
+                     (goto-char (match-end 0))))
+               ((string= token "UNSEEN")
                 (imap-mailbox-put 'unseen (read (current-buffer)) mailbox))
                (t
                 (message "Unknown status data %s in mailbox %s ignored"
-                         token mailbox))))))))
+                         token mailbox)
+                (read (current-buffer)))))))))
 
 ;;   acl_data        ::= "ACL" SPACE mailbox *(SPACE identifier SPACE
 ;;                        rights)