From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/77816 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.gnus.general Subject: IMAP and IDLE... Date: Wed, 16 Mar 2011 12:31:00 +0100 Organization: Programmerer Ingebrigtsen Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1300275084 17376 80.91.229.12 (16 Mar 2011 11:31:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 16 Mar 2011 11:31:24 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M26136=ding+2Daccount=gmane.org@lists.math.uh.edu Wed Mar 16 12:31:20 2011 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 1Pzowi-0007Iw-5F for ding-account@gmane.org; Wed, 16 Mar 2011 12:31:20 +0100 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 1Pzowh-00009F-1Z for ding-account@gmane.org; Wed, 16 Mar 2011 06:31:19 -0500 Original-Received: from mx1.math.uh.edu ([129.7.128.32]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1Pzowf-000099-JO for ding@lists.math.uh.edu; Wed, 16 Mar 2011 06:31:17 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx1.math.uh.edu with esmtp (Exim 4.72) (envelope-from ) id 1Pzowa-0003V1-Gx for ding@lists.math.uh.edu; Wed, 16 Mar 2011 06:31:17 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]) by quimby.gnus.org with esmtp (Exim 4.72) (envelope-from ) id 1PzowZ-00033Z-Q5 for ding@gnus.org; Wed, 16 Mar 2011 12:31:11 +0100 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1PzowZ-0007G6-Eo for ding@gnus.org; Wed, 16 Mar 2011 12:31:11 +0100 Original-Received: from cm-84.215.51.58.getinternet.no ([84.215.51.58]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Mar 2011 12:31:11 +0100 Original-Received: from larsi by cm-84.215.51.58.getinternet.no with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 16 Mar 2011 12:31:11 +0100 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: ding@gnus.org Original-Lines: 38 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: cm-84.215.51.58.getinternet.no Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEWSJhWlEgD49O/l4NyY DgCtFQDOyseOfntgKVTsAAACI0lEQVQ4jW3UTW/jIBAGYO+6MWereHvHknOtQCLXWutkr0EK22sV FHy1ksb8/X0HQz6knYOVzBNmgBgKFv4bU1E5JUUKpZT3Hk+lx6LyOcYQZp9ARYhfw8oi9nOCTVEi h/xk6xiWLbBGDz+HeTJ1zYce0rAMrfNh4kgNiLru3ygv10WptB9fKEXAef+H8gIjpPffSPUREDsa AShbNVoz3OO3oiUBpLpaS5l+gZ8iQbux1nBKNY0ZtndQJ0ul0AML3Nq6vAGWfMB86q2NccmASgtY 00SQCd4JUmMSlwFzuk2XPsoMtKvc3GAvjgtUdqARDbefgbb+TaQRbOBNbfua730o2Mr+yqWKvOIQ RjYx+yqjALYALPxjDBf8u6tLHrHqD5xgtw7BddPVxT1sAcuybNlN7KxDUKqVC2CyBOdOT2GeZ9Xh 30hgaJfO1C+MF3q3MtgmQxG0bAm6TQSbgG3YE8S9K1sfZtE5KZUWQkcwNOKv0EehvW/RoxV4d3Op Pd5N0ekfPkORwFY0mXfbLbApWIa9Q+mV0TgDESp7E9r2A0phZh6wso9RX1SrtSY45VR8NDsA2uDg fN1+TMfDvDpM2BH4ex0syKBUAv3UBNBJ5+hwqtMT4LwAYqnxaVr87IVzbqTDeTXmQXYK0I10OMPA H4sxkUr58D08FvtUsVSl/Ty+PIM/xpsB98fXI1RyWbl3QuFiuOexU9SDrqWZ2izx8ZGupX+w+yt5 c881YgAAAABJRU5ErkJggg== Mail-Copies-To: never X-Now-Playing: Boris's _The Thing Which Solomon Overlooked 2_: "Merciless" User-Agent: Gnus/5.110014 (No Gnus v0.14) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:jjnBr8ZFlt7haOTSZAU3HYMVLDY= X-Spam-Score: -1.9 (-) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:77816 Archived-At: I was looking at Mail.app just now, and it is really appealing the way it just updates all the stuff asynchronously. I've been sceptical to supporting IDLE before, since you can only IDLE on one mail box at a time. But it just occurred to me that if you're doing client-side splitting, just idling on the INBOX would suffice. So, doing stuff asynchronously in Emacs is a major pain in the ass, and it tends to hang Emacs spontaneously, especially when doing network connects and stuff. But here's my idea: We could open an extra connection to every IMAP server (that we're doing client splits on). We issue an IDLE on the INBOX. If the connection goes away, we don't do anything asynchronously. But otherwise, every time we get a new message in the INBOX, we run it through the normal splitting methods and update the group buffer. Since this will mostly be splitting one single message at a time, and we only download the headers to do the splitting, this can probably be done without hanging Emacs too badly. Of course, updating the group buffer (and any summary buffer you have open that gets a new message) from an async process will give you all the same problems with buffer management (copying/yanking text etc) that we see with the updated Date line, so we have to figure out how to fix that problem generally. (For viewers who have recently joined us -- updating text in the buffer asynchronously (from timers and sentinels) is tricky, because we want to avoid moving point and mark, even though they might be in the region we're updating. And there's some weird interaction between this and transient-mark-mode. We should aim to create a `with-no-buffer-change' macro that we can run arbitrary buffer-altering functions inside of safely.) -- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen