At Sat, 16 Oct 2010 17:50:17 -0700, Erik Hetzner wrote: > > Hi, > > I noticed that when opening folders WL sometimes spends a bit of time > “Re-scanning...” Looking at the code, this didn’t seem to be right. I > noticed that the function wl-summary-view-old-p sometimes returns true > when perhaps it shouldn’t. > > It seems that the variable wl-summary-buffer-number-list is sometimes > set (at least in my buffers) to '(nil) (not plain old nil). (Perhaps > this is because I sometimes interrupt opening a folder with C-g.) When > the Summary buffer is empty and the value of > wl-summary-buffer-number-list is '(nil), wl-summary-view-old-p will > return t, necessitating a rescan when opening a buffer. Here is a > modified version of wl-summary-view-old-p which checks for this > situation. > > Am I wrong to make this change? Any thoughts? Thank you! Does the attached patch fix the problem? I should prevent the creation of the wrong buffer-number-list in the first place. Best, -- David -- OpenPGP... 0x99ADB83B5A4478E6 Jabber.... dmjena@jabber.org Email..... dmaus@ictsoc.de
diff --git a/wl/ChangeLog b/wl/ChangeLog
index 2786da9..63f7e1c 100644
--- a/wl/ChangeLog
+++ b/wl/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-17 David Maus <dmaus@ictsoc.de>
+
+ * wl-summary.el (wl-summary-make-number-list): Handle quit
+ condition.
+
2011-06-05 David Maus <dmaus@ictsoc.de>
* wl-draft.el (wl-draft-save): Obtain number of appended draft
diff --git a/wl/wl-summary.el b/wl/wl-summary.el
index 8e833a9..49c3f76 100644
--- a/wl/wl-summary.el
+++ b/wl/wl-summary.el
@@ -2344,16 +2344,21 @@ If ARG, without confirm."
(get-buffer-create wl-summary-buffer-name))))
(defun wl-summary-make-number-list ()
+ "Store list of visible messages' numbers in
+`wl-summary-buffer-number-list."
(save-excursion
(goto-char (point-min))
(setq wl-summary-buffer-number-list nil)
- (while (not (eobp))
- (setq wl-summary-buffer-number-list
- (cons (wl-summary-message-number)
- wl-summary-buffer-number-list))
- (forward-line 1))
- (setq wl-summary-buffer-number-list
- (nreverse wl-summary-buffer-number-list))))
+ (condition-case nil
+ (progn
+ (while (not (eobp))
+ (setq wl-summary-buffer-number-list
+ (cons (wl-summary-message-number)
+ wl-summary-buffer-number-list))
+ (forward-line 1))
+ (setq wl-summary-buffer-number-list
+ (nreverse wl-summary-buffer-number-list)))
+ (quit (setq wl-summary-buffer-number-list nil)))))
(defun wl-summary-auto-select-msg-p (unread-msg)
(and unread-msg
Attachment:
pgpgepYOIqMvr.pgp
Description: PGP signature