From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/73529 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: Re: Outstanding stuff? Date: Sun, 24 Oct 2010 19:20:00 +0200 Organization: Programmerer Ingebrigtsen Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1287940840 20283 80.91.229.12 (24 Oct 2010 17:20:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 24 Oct 2010 17:20:40 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M21898@lists.math.uh.edu Sun Oct 24 19:20:39 2010 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PA4FJ-0004jr-LO for ding-account@gmane.org; Sun, 24 Oct 2010 19:20:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1PA4Ex-0007xJ-I6; Sun, 24 Oct 2010 12:20:15 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1PA4Ev-0007x0-N3 for ding@lists.math.uh.edu; Sun, 24 Oct 2010 12:20:13 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1PA4Er-0001TA-3r for ding@lists.math.uh.edu; Sun, 24 Oct 2010 12:20:13 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 3.36 #1 (Debian)) id 1PA4Eq-0000mf-00 for ; Sun, 24 Oct 2010 19:20:08 +0200 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PA4Ep-0004bw-EV for ding@gnus.org; Sun, 24 Oct 2010 19:20:07 +0200 Original-Received: from cm-84.215.34.171.getinternet.no ([84.215.34.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 24 Oct 2010 19:20:07 +0200 Original-Received: from larsi by cm-84.215.34.171.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 24 Oct 2010 19:20:07 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 91 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.34.171.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEX+//z7+/nQz8z+/vyg nZno6OY8ODP///+lfqWLAAACa0lEQVQ4jX2TQW/iMBCFvdtDr3Woy7UZbHJdgiLOeIdwjhs357LB vRKzlv/+joNKQ1XtSAhpPs979mNg/D5+V3fs4Xtw+g/4tn8D5rGL8SzAgpbdVGqHe4mINfZYF3EC EPdLRClBNQ1Jsfs4yL+4iNE284kJe2ChxVYn8sWcZcZWcrflt4SAUo9odyC+gvu11Yg6CPEVtAJ7 18Ojnoqd2K+mrgFVe+TYTAlTdxYBTM5Feygn92Wo4jAznS15V0M3AXUdxdwWIl+12MOlydezyECn /Druy6Wj8EYgASJr+62waidsVboet9Q2YCSBZb2fVQ0PKw61wzTOlU4TVhYbEcIAKqu3iPM4AEBL 4LkThaFuCCUeZF2cziWYcUJB0fEhhEwZ59w+xgC63UUmSiMa+uGK5b6gaP5Qn85qui7pD+no0zFf 1u5I7paKIjF0PQK/feOf3AjIInn4MHdu24UgEj+QhwWQlJUpZyRUmFIX9QgqArBhLrOWFJR61c3S uT6eFb1DEiiT1HuXv/b4mkDktgGzYQBZmsitLVCOE6BGqedFVRpj1l1RIJm7GIdKSROZ3jbe+xAb wAT6FLtXesPerMgoZmNUOj8CyIAAqYfgmyCg/wDxfD5TJGCsN6ayi+IKrLFzZrw3HtRLV+RufPl5 nWrDtPlZhrBqVHqnc2/XLVk0lJkEm1UpKvf+uXAvXAye/M34jP0VVHRTg9qqy/uuu8h05qtV13U5 yI9LXQBtAiiUNvMJHD+BfclzpYzP2npqQcvwKCklpE8/tSAPaejfTWp4o3RiCrAe43P09cyoLgM0 MYIRHjjnP9il/gEuLnfPr+6ZmQAAAABJRU5ErkJggg== Mail-Copies-To: never X-Now-Playing: LCD Soundsystem's _LCD Soundsystem (2)_: "Yeah (Pretentious Version)" User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:S+admBx5mQDFHIzLo6affxXiL6g= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:73529 Archived-At: Robert Pluim writes: > Actually, now that I've read the relevant section of the IMAP rfc for > the first time in my life, I'm more suspicious about the BODY.PEEK[] > thing, doesn't that download the entire message? Surely at most the > headers are required? Yes, and I've now made that change, so I now get this pattern: 19:05:12 1086 SELECT "efn" 19:05:12 1087 UID FETCH 42 (UID RFC822.SIZE BODYSTRUCTURE BODY.PEEK[HEADER.FIELDS (Subject From Date Message-Id References In-Reply-To Xref To Newsgroups)]) 19:05:12 1088 UID COPY 42 "Test" 19:05:12 1089 UID STORE 42 +FLAGS.SILENT (\Deleted) 19:05:12 1090 EXPUNGE 19:05:12 1091 EXAMINE "Test" 19:05:12 1092 UID SEARCH HEADER Message-Id "" 19:05:12 1093 SELECT "Test" 19:05:12 1094 UID STORE 4 +FLAGS.SILENT (\Seen) 19:05:12 1095 SELECT "Test" 19:05:12 1096 UID FETCH 1:* FLAGS Which is still way excessive, but let's examine it and consider what our options are for speeding this up. 19:05:12 1086 SELECT "efn" Can't be removed, but could (in theory) happen once. 19:05:12 1087 UID FETCH 42 (UID RFC822.SIZE BODYSTRUCTURE BODY.PEEK[HEADER.FIELDS (Subject From Date Message-Id References In-Reply-To Xref To Newsgroups)]) 19:05:12 1091 EXAMINE "Test" 19:05:12 1092 UID SEARCH HEADER Message-Id "" We need the Message-ID of the message if we're going to return the article number. The question is: Do we need the article number, and the answer is "kinda". If the method is covered by the Agent, or the message is cached, or whatever, then we need to know the new article number so that we can do the right things there. We also update the marks in Gnus immediately, so we need the article number for that too, although we could do without, since the next `g' will update Gnus wrt. the target group anyway. (If that group allows flags.) So: If we want a sloppier not-quite-coherent update, we could get rid of those. 19:05:12 1088 UID COPY 42 "Test" Can't be removed. :-) 19:05:12 1089 UID STORE 42 +FLAGS.SILENT (\Deleted) Could be batched. 19:05:12 1090 EXPUNGE Could easily be postponed until the last move. 19:05:12 1093 SELECT "Test" 19:05:12 1094 UID STORE 4 +FLAGS.SILENT (\Seen) This is probably superfluous? IMAP probably copies over all the marks anyway? 19:05:12 1095 SELECT "Test" 19:05:12 1096 UID FETCH 1:* FLAGS I have no idea what's this is about. Oh, it's this thing at the end: ;; Re-activate all groups that have been moved to. (with-current-buffer gnus-group-buffer (let ((gnus-group-marked to-groups)) (gnus-group-get-new-news-this-group nil t))) But that's only done once per move. So I'm not sure how much faster things could be without making things kinda weird. HOWEVER, we could just cheat and totally special-case things for nnimap. That is, a new interface function (*-request-move-articles-internally articles from-group server to-group) If it exists, and the move is internal (from one group on the same IMAP server to another), this would just issue COPY + \Deleted + EXPUNGE, and forget about all Gnus niceties with the cache/agent/etc. -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen