emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master f518a38 5/5: lisp/gnus/nnimap.el (nnimap-request-gr


From: Katsumi Yamaoka
Subject: [Emacs-diffs] master f518a38 5/5: lisp/gnus/nnimap.el (nnimap-request-group-scan): Further `M-g' group fixes
Date: Thu, 05 Feb 2015 04:03:13 +0000

branch: master
commit f518a387c952f8b0d70cfec4087ce0b14f79fd27
Author: Lars Magne Ingebrigtsen <address@hidden>
Commit: Katsumi Yamaoka <address@hidden>

    lisp/gnus/nnimap.el (nnimap-request-group-scan): Further `M-g' group fixes
---
 lisp/gnus/ChangeLog |    5 ++++
 lisp/gnus/nnimap.el |   63 ++++++++++++++++++++++++++-------------------------
 2 files changed, 37 insertions(+), 31 deletions(-)

diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 0de7af4..bd34beb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-05  Lars Ingebrigtsen  <address@hidden>
+
+       * nnimap.el (nnimap-request-group-scan): Ensure that we've selected the
+       correct server.
+
 2015-02-05  Vincent Bernat  <address@hidden>  (tiny change)
 
        * nnimap.el (nnimap-request-group-scan): Fix the function name.
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index cdbc2a6..e7f91b7 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -822,37 +822,38 @@ textual parts.")
 
 (deffoo nnimap-request-group-scan (group &optional server info)
   (setq group (nnimap-decode-gnus-group group))
-  (let (marks high low)
-    (with-current-buffer (nnimap-buffer)
-      (erase-buffer)
-      (let ((group-sequence
-            (nnimap-send-command "SELECT %S" (utf7-encode group t)))
-           (flag-sequence
-            (nnimap-send-command "UID FETCH 1:* FLAGS")))
-       (setf (nnimap-group nnimap-object) group)
-       (nnimap-wait-for-response flag-sequence)
-       (setq marks
-             (nnimap-flags-to-marks
-              (nnimap-parse-flags
-               (list (list group-sequence flag-sequence
-                           1 group "SELECT")))))
-       (when (and info
-                  marks)
-         (nnimap-update-infos marks (list info))
-         (nnimap-store-info info (gnus-active (gnus-info-group info))))
-       (goto-char (point-max))
-       (let ((uidnext (nth 5 (car marks))))
-         (setq high (or (if uidnext
-                            (1- uidnext)
-                          (nth 3 (car marks)))
-                        0)
-               low (or (nth 4 (car marks)) uidnext 1)))))
-    (with-current-buffer nntp-server-buffer
-      (erase-buffer)
-      (insert
-       (format
-       "211 %d %d %d %S\n" (1+ (- high low)) low high group))
-      t)))
+  (when (nnimap-change-group nil server)
+    (let (marks high low)
+      (with-current-buffer (nnimap-buffer)
+       (erase-buffer)
+       (let ((group-sequence
+              (nnimap-send-command "SELECT %S" (utf7-encode group t)))
+             (flag-sequence
+              (nnimap-send-command "UID FETCH 1:* FLAGS")))
+         (setf (nnimap-group nnimap-object) group)
+         (nnimap-wait-for-response flag-sequence)
+         (setq marks
+               (nnimap-flags-to-marks
+                (nnimap-parse-flags
+                 (list (list group-sequence flag-sequence
+                             1 group "SELECT")))))
+         (when (and info
+                    marks)
+           (nnimap-update-infos marks (list info))
+           (nnimap-store-info info (gnus-active (gnus-info-group info))))
+         (goto-char (point-max))
+         (let ((uidnext (nth 5 (car marks))))
+           (setq high (or (if uidnext
+                              (1- uidnext)
+                            (nth 3 (car marks)))
+                          0)
+                 low (or (nth 4 (car marks)) uidnext 1)))))
+      (with-current-buffer nntp-server-buffer
+       (erase-buffer)
+       (insert
+        (format
+         "211 %d %d %d %S\n" (1+ (- high low)) low high group))
+       t))))
 
 (deffoo nnimap-request-create-group (group &optional server args)
   (setq group (nnimap-decode-gnus-group group))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]