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

Re: Setting Marks very slow in 0.87



>>>>> "Simon" == Simon Josefsson <jas@pdc.kth.se> writes:

   Simon> It shouldn't be doing this, and that part hasn't changed, I think.
   Simon> Are you sure you're using the new `gnus-remove-from-range'
   Simon> function?

How do I know whether I am or not?  I am using pgnus 0.66 running under
InfoDock 4.0.5 (based on XEmacs 21.0).  Should I be using a later version of
pgnus or have patched it in someway?

   Simon> If so, does the *imap-log* buffer show clearing/setting all the
   Simon> marks?

Would you _want_ it to show the clearing/setting of all the marks?  Because
the log file seems to be clearly fetching each message individually.

Here is what seems to be the relevant section of my *imap-log*:

540 SELECT INBOX/Misc
* 212 EXISTS
* 0 RECENT
* FLAGS (\Seen \Answered \Flagged \Deleted \Draft)
* OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft)]
* OK [UNSEEN 212] Is the first unseen message
* OK [UIDVALIDITY 2672] UIDVALIDITY value.
540 OK [READ-WRITE] SELECT completed.
541 UID STORE 1746:1747 +FLAGS (\Answered)
* 93 FETCH (UID 1746 FLAGS (\Seen \Answered))
* 94 FETCH (UID 1747 FLAGS (\Seen \Answered))
541 OK STORE completed.
542 UID STORE 1:1864 -FLAGS (\Seen)
* 1 FETCH (FLAGS () UID 1654)
* 2 FETCH (FLAGS () UID 1655)
* 3 FETCH (FLAGS () UID 1656)
* 4 FETCH (FLAGS () UID 1657)
* 5 FETCH (FLAGS (\Answered) UID 1658)
* 6 FETCH (FLAGS () UID 1659)
* 7 FETCH (FLAGS () UID 1660)
* 8 FETCH (FLAGS () UID 1661)
     <snip>
* 211 FETCH (FLAGS (\Seen) UID 1864)
* 212 FETCH (FLAGS (\Seen) UID 1866)
543 OK STORE completed.
544 CLOSE
544 OK CLOSE completed.


   Simon> If so, how does the `nnimap-request-set-mark' lines in *nnimap-debug*
   Simon> look like?

Following is the relevant section of my *nnimap-debug*.  This section seems
to cover all the activity from entry till exit for the specific group.

======================================================================
1 -> nnimap-update-flags-hook: foo=nil
| 2 -> nnimap-request-set-mark: group="INBOX/Misc" actions=((((1005 . 1007) 1010 1022 1047 1049 (1746 . 1747)) del (reply)) ((1746 . 1747) add (reply)) ((1 . 1864) del (read)) ((1 . 1866) add (read))) server=nil
| | 3 -> nnimap-possibly-change-group: group="INBOX/Misc" server=nil
| | | 4 -> nnimap-possibly-change-server: server="truman"
| | | | 5 -> nnimap-open-server: server="truman" defs=nil
| | | | | 6 -> nnimap-server-opened: server="truman"
| | | | | 6 <- nnimap-server-opened: (open run)
| | | | 5 <- nnimap-open-server: t
| | | 4 <- nnimap-possibly-change-server: t
| | 3 <- nnimap-possibly-change-group: "INBOX/Misc"
| | 3 -> nnimap-range-to-string: range=(1746 . 1747)
| | 3 <- nnimap-range-to-string: "1746:1747"
| | 3 -> nnimap-mark-to-flag: preds=(reply) always-list=nil make-string=t
| | | 4 -> nnimap-mark-to-flag: preds=reply always-list=nil make-string=nil
| | | 4 <- nnimap-mark-to-flag: "\\Answered"
| | | 4 -> nnimap-mark-to-flag: preds=nil always-list=nil make-string=nil
| | | 4 <- nnimap-mark-to-flag: nil
| | 3 <- nnimap-mark-to-flag: "\\Answered"
| | 3 -> nnimap-range-to-string: range=(1 . 1864)
| | 3 <- nnimap-range-to-string: "1:1864"
| | 3 -> nnimap-mark-to-flag: preds=(read) always-list=nil make-string=t
| | | 4 -> nnimap-mark-to-flag: preds=read always-list=nil make-string=nil
| | | 4 <- nnimap-mark-to-flag: "\\Seen"
| | | 4 -> nnimap-mark-to-flag: preds=nil always-list=nil make-string=nil
| | | 4 <- nnimap-mark-to-flag: nil
| | 3 <- nnimap-mark-to-flag: "\\Seen"
| | 3 -> nnimap-range-to-string: range=(1 . 1866)
| | 3 <- nnimap-range-to-string: "1:1866"
| | 3 -> nnimap-mark-to-flag: preds=(read) always-list=nil make-string=t
| | | 4 -> nnimap-mark-to-flag: preds=read always-list=nil make-string=nil
| | | 4 <- nnimap-mark-to-flag: "\\Seen"
| | | 4 -> nnimap-mark-to-flag: preds=nil always-list=nil make-string=nil
| | | 4 <- nnimap-mark-to-flag: nil
| | 3 <- nnimap-mark-to-flag: "\\Seen"
| 2 <- nnimap-request-set-mark: "Setting marks in truman:INBOX/Misc...done"
| 2 -> nnimap-expunge-close-group: server=nil
| | 3 -> nnimap-possibly-change-server: server=nil
| | | 4 -> nnimap-open-server: server="truman" defs=nil
| | | | 5 -> nnimap-server-opened: server="truman"
| | | | 5 <- nnimap-server-opened: (open run)
| | | 4 <- nnimap-open-server: t
| | 3 <- nnimap-possibly-change-server: t
| 2 <- nnimap-expunge-close-group: t
1 <- nnimap-update-flags-hook: t
======================================================================


   Simon> (The new `gnus-remove-from-range' function is included in the next
   Simon> pgnus release, i believe)

Which version is "next"?  Also, should I be patching 0.66 to get the same
functionality now?  Anything that would solve this problem, I'll try!

Thanx!

-- 
Jake Colman                     

Principia Partners LLC                  Phone: (201) 946-0300
Harborside Financial Center               Fax: (201) 946-0320
902 Plaza II                           Beeper: (800) 505-2795
Jersey City, NJ 07311                  E-mail: colman@ppllc.com
                                       E-mail: jcolman@jnc.com
                                          web: http://www.ppllc.com