GNU bug report logs - #36714
27.0.50; Gnus nnmaildir taking long time to recursively visit sub-Maildirs

Previous Next

Package: emacs;

Reported by: Jean Louis <bugs <at> gnu.support>

Date: Thu, 18 Jul 2019 12:22:01 UTC

Severity: wishlist

Found in version 27.0.50

Done: Eric Abrahamsen <eric <at> ericabrahamsen.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jean Louis <bugs <at> gnu.support>
To: Eric Abrahamsen <eric <at> ericabrahamsen.net>
Cc: 36714 <at> debbugs.gnu.org
Subject: bug#36714: 27.0.50; Gnus nnmaildir taking long time to recursively visit sub-Maildirs
Date: Thu, 18 Jul 2019 22:48:41 +0200
* Eric Abrahamsen <eric <at> ericabrahamsen.net> [2019-07-18 22:04]:
> I'm assuming your value of `gnus-check-new-newsgroups' is at its default
> of 'ask-server. Try setting it to nil. That will (should) at least
> prevent Gnus from scanning all the folders at startup. It doesn't solve
> the underlying problem, but in your case it
> might avoid it.

Thank you.

I did try to set it to nil, it is set. However,
"Checking new news" is seen and Gnus is working
with hard disk.

So it does not prevent it to scan Maildirs.

gnus-select-method is a variable defined in ‘gnus.el’.
Its value is (nnmaildir "" (directory "~/Maildir"))

> The final setup you want is to be subscribed to the main folder, but
> unsubscribed from the sub maildirs. The question is, can you get to the
> point where you can do that without first having Gnus spend hours
> scanning a million directories. Try the above fix and see if Gnus will
> show you all the other (unwanted) directories.

It does not work.

> We're talking about two different things here. One is defining each of
> the maildirs as a separate server. So:
> 
>  '(gnus-secondary-select-methods
>     '(
>     (nnmaildir email1
>  	(directory /home/data1/protected/Maildir/email1 <at> example.com/))
>     (nnmaildir email2
>  	(directory /home/data1/protected/Maildir/email2 <at> example.com/))
>     (nnmaildir email3
>  	(directory /home/data1/protected/Maildir/email3 <at> example.com/))))
> 
> Etc.
> 
> The other thing you want -- quick switching to a particular group -- can
> certainly be done, but will require a little bit of elisp. Something
> like (totally untested):
> 
> (let* (( email "ss <at> rcdrrun.com")
>        (account (car-safe (split-string email @))))
>   (when account
>     (gnus-group-read-group
>      nil t (concat nnmaildir+ account :INBOX))))

I will try that, but I cannot get it without
starting to run or index whatever.

I was thinking that gnus-secondary-select-methods
has to be set before I start reading the folder,
and that above looks that you think that way.

I have tried this

(let* ((email "person <at> example.com")
	(gnus-secondary-select-methods '((nnmaildir email (directory (concat "~/Maildir/" email))))))
   (gnus-group-read-group nil t (concat "nnmaildir+" email :INBOX)))


but I am getting this below and I used real email
address. Do I need to assign the group somehow?

Debugger entered--Lisp error: (error "Couldn’t activate group nnmaildir+person <at> example.com: No such group: nnmaildir+person <at> example.com")
  signal(error ("Couldn’t activate group nnmaildir+person <at> example.com: No such group: nnmaildir+person <at> example.com"))
  error("Couldn't activate group %s: %s" "nnmaildir+person <at> example.com" "No such group: nnmaildir+person <at> example.com")
  gnus-select-newsgroup("nnmaildir+person <at> example.com" nil :INBOX)
  gnus-summary-read-group-1("nnmaildir+person <at> example.com" nil t nil nil :INBOX)
  gnus-summary-read-group("nnmaildir+person <at> example.com" nil t nil nil nil :INBOX)
  gnus-group-read-group(nil t "nnmaildir+person <at> example.com" :INBOX)

Jean




This bug report was last modified 5 years and 298 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.