[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnus-server-to-method crash on virtual server name in gnus-secondary-sel
From: |
Greg Klanderman |
Subject: |
gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods |
Date: |
Thu, 7 Jan 2021 13:14:18 -0500 |
Hi, hopefully this is the correct list for reporting Gnus problems
these days; I see there is also info-gnus-english@ but it doesn't look
terribly active.
Not subscribed so please include me in replies.
I'm a long time Gnus user since early/mid 90's, and was fairly active
reporting problems back then (still listed in 'Contributors'!).
I have recently transitioned my email from nnfolder to nnmaildir as I
ran up against 1Gb group file size limit (still on XEmacs 21.4 and
Gnus 5.10.8).
[As an aside, it took me some time to realize that I could not just
incrementally transition my largest groups; it would appear that you
can only have new mail delivered to a single server (get-new-mail=t)
when splitting with Gnus. If that is still the case with current
development version, it would be really nice to explain that
somewhere in the manual. I did look at the current manual online
https://www.gnu.org/software/emacs/manual/html_node/gnus/index.html
and didn't see this covered. I had expected that nnmail-split-fancy
would be able to just deliver to multiple backends/servers, either
using the explicit "backend+name:group" form, or that it would look up
the server based on the group name and deliver properly. But it seems
that there is a loop over servers in gnus-secondary-select-methods,
and whichever appears first and allows getting new mail gets all the
new mail.]
Anyway, in the process of this transition, I found that when I put my
new nnmaildir server, named "mail" before '(nnfolder "") in
gnus-secondary-select-methods, it crashes on startup in
gnus-server-to-method. Since that code looks the same in emacs 21.7 /
Gnus 5.13 it seemed warranted to report the issue.
In detail: I still have some legacy nnfolder groups (old groups that
are no longer delivered to). On startup, gnus-read-active-file loops
over gnus-secondary-select-methods, and when the nnfolder appears
second, Gnus has not yet opened the nnfolder server when
gnus-read-active-file-1 is (first) called with the nnmaildir and loops
over infos, calling gnus-find-method-for-group, in turn calling
gnus-server-to-method for one of the nnfolder groups
(gnus-server-to-method is called with "nnfolder:").
In that function, this code (unchanged in 5.13 / Debian testing emacs-gtk):
;; It could be a named method, search all servers
(let ((servers gnus-secondary-select-methods))
(while (and servers
(not (equal server (format "%s:%s" (caar servers)
(cadar servers)))))
(pop servers))
(car servers))
is not handling the fact that gnus-secondary-select-methods may
contain virtual server name strings (only handling select methods,
assuming it can take car/cdr of elements).
For now I can just swap the order in gnus-secondary-select-methods so
that the nnfolder is opened first but someday I'll transition to GNU
emacs and newer Gnus so hopefully you can address this.
[As a second aside, can you explain this code in
gnus-summary-move-article (logically unchanged in current 5.13):
;; See whether the article is to be put in the cache.
(let* ((expirable (gnus-group-auto-expirable-p to-group))
(marks (if expirable
gnus-article-mark-lists
(delete '(expirable . expire)
(copy-sequence
gnus-article-mark-lists))))
..)..)
It was unexpected that when I moved (B m) my mail to the new nnmaildir
backend groups, articles marked expirable lost that mark, leaving them
merely read. Is the condition in the 'if' there maybe reversed? I
could maybe imagine that when moving to an auto-expirable group you
might want to clear expirable on a move, assuming it will eventually
be marked expirable again, automatically.
IMO moving articles should preserve expirable like any other mark.
I'd also love it if nnmail-expiry-wait were measured relative to when
I mark an article expirable, is there any way to get that behavior in
newer Gnus?]
Thank you for so many decades of great work on Gnus!
Greg
- gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods,
Greg Klanderman <=
- Re: gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods, Eric Abrahamsen, 2021/01/08
- Re: gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods, Greg Klanderman, 2021/01/18
- Re: gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods, Robert Pluim, 2021/01/26
- slow X11 frame creation and refresh after occlusion (was: gnus-server-to-method crash on virtual server name in gnus-secondary-select-methods), Greg Klanderman, 2021/01/26
- Re: slow X11 frame creation and refresh after occlusion, Robert Pluim, 2021/01/27
- Re: slow X11 frame creation and refresh after occlusion, Greg Klanderman, 2021/01/30