summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog7
-rw-r--r--lisp/gnus/nnimap.el17
2 files changed, 20 insertions, 4 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index bca84de521b..655bffc8f96 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,10 @@
+2012-02-01 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * nnimap.el (nnimap-retrieve-group-data-early): Keep track of how many
+ groups we do a total scan for.
+ (nnimap-wait-for-response): Say that we're doing a total scan, if we're
+ doing that.
+
2012-01-31 Jim Meyering <jim@meyering.net>
* gnus-agent.el (gnus-agent-expire-unagentized-dirs):
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 36245af4bc4..c3b36709904 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -134,7 +134,7 @@ textual parts.")
(defstruct nnimap
group process commands capabilities select-result newlinep server
- last-command-time greeting examined stream-type)
+ last-command-time greeting examined stream-type initial-resync)
(defvar nnimap-object nil)
@@ -288,7 +288,8 @@ textual parts.")
(gnus-add-buffer)
(set (make-local-variable 'after-change-functions) nil)
(set (make-local-variable 'nnimap-object)
- (make-nnimap :server (nnoo-current-server 'nnimap)))
+ (make-nnimap :server (nnoo-current-server 'nnimap)
+ :initial-resync 0))
(push (list buffer (current-buffer)) nnimap-connection-alist)
(push (current-buffer) nnimap-process-buffers)
(current-buffer)))
@@ -1218,6 +1219,7 @@ textual parts.")
(with-current-buffer (nnimap-buffer)
(erase-buffer)
(setf (nnimap-group nnimap-object) nil)
+ (setf (nnimap-initial-resync nnimap-object) 0)
(let ((qresyncp (nnimap-capability "QRESYNC"))
params groups sequences active uidvalidity modseq group)
;; Go through the infos and gather the data needed to know
@@ -1256,6 +1258,8 @@ textual parts.")
;; examine), but will tell us whether the group
;; is read-only or not.
"SELECT")))
+ (setf (nnimap-initial-resync nnimap-object)
+ (1+ (nnimap-initial-resync nnimap-object)))
(push (list (nnimap-send-command "%s %S" command
(utf7-encode group t))
(nnimap-send-command "UID FETCH %d:* FLAGS" start)
@@ -1738,10 +1742,15 @@ textual parts.")
(not (looking-at (format "%d .*\n" sequence)))))
(when messagep
(nnheader-message-maybe
- 7 "nnimap read %dk from %s" (/ (buffer-size) 1000)
- nnimap-address))
+ 7 "nnimap read %dk from %s%s" (/ (buffer-size) 1000)
+ nnimap-address
+ (if (not (zerop (nnimap-initial-resync nnimap-object)))
+ (format " (initial sync of %d groups; please wait)"
+ (nnimap-initial-resync nnimap-object))
+ "")))
(nnheader-accept-process-output process)
(goto-char (point-max)))
+ (setf (nnimap-initial-resync nnimap-object) 0)
openp)
(quit
(when debug-on-quit