From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/65081 Path: news.gmane.org!not-for-mail From: James Cloos Newsgroups: gmane.emacs.gnus.general Subject: gnus-group-find-new-groups vs nnimap Date: Sat, 25 Aug 2007 00:46:33 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1188017441 27352 80.91.229.12 (25 Aug 2007 04:50:41 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 25 Aug 2007 04:50:41 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M13591@lists.math.uh.edu Sat Aug 25 06:50:39 2007 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.50) id 1IOnbY-000084-Hx for ding-account@gmane.org; Sat, 25 Aug 2007 06:50:36 +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 1IOnae-0008Gu-3y; Fri, 24 Aug 2007 23:49:40 -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 1IOnab-0008Ga-8S for ding@lists.math.uh.edu; Fri, 24 Aug 2007 23:49:37 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.67) (envelope-from ) id 1IOnaY-0002we-1C for ding@lists.math.uh.edu; Fri, 24 Aug 2007 23:49:37 -0500 Original-Received: from eagle.jhcloos.com ([207.210.242.212]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1IOnaW-0002Sq-00 for ; Sat, 25 Aug 2007 06:49:32 +0200 Original-Received: by eagle.jhcloos.com (Postfix, from userid 10) id D4658400AE; Sat, 25 Aug 2007 04:49:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jhcloos.com; s=eagle; t=1188017367; bh=eOm8eQWBgihrHLdBnHdvggxvKVWwq4uEX7rUZHQrL dE=; h=Received:X-Hashcash:From:To:Subject:User-Agent:Face: Copyright:OpenPGP:OpenPGP-Fingerprint:Date:Message-ID:Lines: MIME-Version:Content-Type; b=nxaq0If+9PfoahcD2+8WXvyaepiQK8Cm0def8 lAQfBSu9gXr5D4GCydXz++3+JyYcLaQABvXuCT5YDxdSaleZL/KhBSS743S6kF9OE0l 53+R7oihut4ccKmEtSsBTFtDBaFLGd8Jl9rWNVgdFx2eQlUBtK5WUz8jof4kvSGsgRM = Original-Received: by lugabout.jhcloos.org (Postfix, from userid 500) id B33A1A0077; Sat, 25 Aug 2007 04:46:56 +0000 (UTC) X-Hashcash: 1:23:070825:ding@gnus.org::g51iNUIsnguYaMzq:00014LWm User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.0 (gnu/linux) Face: iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMnRFWHRUaXRsZQAvbWF4dG9y L2Nsb29zL2luY29taW5nLzIwMDQvMDIvUFdHL0pIQzE2LnBuZyJMlEwAAAAadEVYdFNvZnR3YXJl AEdOT01FIEljb24gRWRpdG9ynioKbAAAAHFJREFUeJzFk8EKwCAMQ1/ED9cvzw6iuM0N9WIvDTWE 1KjAxmKnLBEBjLcEIBCeI2nccy5YKrjxwbbvAvZ37zlo4GB9iRMC/cq/AppItwmMyJ5I98wd9G7P xxgrSKlYS2lMrOcV13o95aVSKA7E5ndGXG+IIzcl4BNfAAAAAElFTkSuQmCC Copyright: Copyright 2007 James Cloos OpenPGP: ED7DAEA6; url=http://jhcloos.com/public_key/0xED7DAEA6.asc OpenPGP-Fingerprint: E9E9 F828 61A4 6EA9 0F2B 63E7 997A 9F17 ED7D AEA6 Original-Lines: 48 X-Spam-Score: -2.6 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:65081 Archived-At: One issue I've seen with nnimap is that, when it is asked for new groups (either at gnus startup or due to an explicit call to gnus-group-find-new-groups) it EXAMINEs *every* group returned by the call to LSUB, rather than just the new groups. That means that at startup EXAMINE is called on every known group *twice*. The time loss for doing that is significant for me. On the order of hours. The code looks like: ,----( from gnus/lisp/nnimap.el ) | (deffoo nnimap-request-newgroups (date &optional server) | (when (nnimap-possibly-change-server server) | (with-current-buffer nntp-server-buffer | (gnus-message 5 "nnimap: Listing subscribed mailboxes%s%s..." | (if (> (length server) 0) " on " "") server) | (erase-buffer) | (nnimap-before-find-minmax-bugworkaround) | (dolist (pattern (nnimap-pattern-to-list-arguments | nnimap-list-pattern)) | (dolist (mbx (imap-mailbox-lsub (cdr pattern) (car pattern) nil | nnimap-server-buffer)) | (or (catch 'found | (dolist (mailbox (imap-mailbox-get 'list-flags mbx | nnimap-server-buffer)) | (if (string= (downcase mailbox) "\\noselect") | (throw 'found t))) | nil) | (let ((info (nnimap-find-minmax-uid mbx 'examine))) | (when info | (insert (format "\"%s\" %d %d y\n" | mbx (or (nth 2 info) 0) | (max 1 (or (nth 1 info) 1))))))))) | (gnus-message 5 "nnimap: Listing subscribed mailboxes%s%s...done" | (if (> (length server) 0) " on " "") server)) | t)) `---- As far as I can tell, at the point just before (nnimap-find-minmax-uid mbx 'examine) is called, I'd need to search for (mbx) in the current buffer and skip the (insert) if it is found, yes? Any suggestions on how best to accomplish that? -JimC -- James Cloos OpenPGP: 1024D/ED7DAEA6