Re: gnus-group-change-level

Eric Abrahamsen <[email protected]>
Newsgroups gmane.emacs.gnus.general
Message-ID <[email protected]>
James Cloos <[email protected]> writes:

>>>>>> "EA" == Eric Abrahamsen <[email protected]> writes:
>
> EA> (let ((level 55))
> EA>   (dolist (grp very-long-list-of-group-names)
> EA>     (when-let ((entry (gnus-group-entry grp)))
> EA>       (setcar (cdadr entry) level))))
>
> Ah.  Cool.  As a first step I tried out:
>
>  (cdadr (gnus-group-entry "nnimap+oxygen:[email protected]"))
>
> since ding was at point and thus easy to copy-n-yank.
>
> It errored out that (listp 0) return nil.
>
> Some experimentation showed that:
>
>  (cadadr (gnus-group-entry "nnimap+oxygen:[email protected]"))
>
> returned the cons (11 . 15), where 11 is the current level.
> (I'm not sure what that cons' cdr is.)

Ah, that's "rank". Once upon a time I knew what rank meant, but have
since forgotten.

> I see aroung 7% of the groups' lines in .newsrc.eld have just an integer
> at that point for level, whereas the others have such a cons.
>
> Eg this returns just the integer 11:
>
>  (cadadr (gnus-group-entry "nnimap+oxygen:GitHub-Torvalds"))
>
> I take it setcar will not do the right thing in such cases, yes?
> And something like a cl-typecase would be required?
>
> Is cadadr setf-able in emacs?

I'd also forgotten there are tools for reliably setting the level,
whether or not rank is involved. Specifically there's a
`gnus-info-level' that advertises itself as setf-able, so try:

(let ((level 55))
   (dolist (grp very-long-list-of-group-names)
     (when-let ((info (gnus-get-info grp)))
       (setf (gnus-info-level info) level))))

Note that now we're using `gnus-get-info', not `gnus-group-entry'. Sorry
I didn't (re-)discover this the first time around!

> P.S.  setting (nnimap-expunge never) or (nnimap-expunge 'never)
>       in an entry in gnus-secondary-select-methods doesn't seem
>       to do anything.  dovecot removes the files everytime gnus
>       quits the *Summary* buffer.  I want to set \Delete but not
>       to expunge...

Hmm, that ought to work -- how are you marking your messages for deletion?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.