Gnus development mailing list
 help / color / mirror / Atom feed
* Args out of range when quitting search buffer with recent Emacs/Gnus
@ 2020-09-12 18:53 Adam Sjøgren
  2020-09-13 12:43 ` Andrew Cohen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-12 18:53 UTC (permalink / raw)
  To: ding

In Emacs compiled from master just now, when I do a search in Gnus in
emails (G G "USB ID" RET) and press q after looking at the results, I
get this message:

  Args out of range: [["nnml:archive.mail-2000" 11836 0] ["nnml:archive.mail-2003" 148 0] ["nnml:archive.mail-2004" 474 0] ["nnml:archive.news-2006" 75 0] ["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:archive.news-2007" 646 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:archive.mail-2007" 674 0] ...], 999

and the search results stay on screen.

If I use Q to try and exit the results, I am returned to the group
buffer, and a new group appears:

   K   114: nnselect:nnselect-87een6g7ep.fsf 

I have configured Gnus to search using notmuch, that is, I have:

  (nnir-search-engine notmuch)

in both my normal email method (nnml ""), and my
gnus-message-archive-method (nnml "archive").

Is this a bug, or do I need to adjust something?


  Best regards,

    Adam

-- 
 "Upon first gazing upon the complexities of the            Adam Sjøgren
  real world, there is a certain temptation to return  asjo@koldfront.dk
  to number theory."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-12 18:53 Args out of range when quitting search buffer with recent Emacs/Gnus Adam Sjøgren
@ 2020-09-13 12:43 ` Andrew Cohen
  2020-09-13 13:11   ` Adam Sjøgren
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Cohen @ 2020-09-13 12:43 UTC (permalink / raw)
  To: ding


This is a bug (no doubt the result of m recent changes, which should
have not affected regular searching :().

I will try to help, but my computer just crashed (disk problems I think)
so I may have some difficulty.  I am not using either notmuch or nnml,
so this will take some work to figure out where things are going wrong.

I am a bit puzzled by the set of groups in the error message. How did
you initiate the search? On a particular group? Or a server search?
Once you entered the search group did you do anything?

Can you try a few things to narrow the error down a bit:

1. Try a regular search on a single group in your normal email method
(with the cursor on a group try (G G "query" RET)). After entering the
group, immediately exit to see if you get an error.

2. Try the same thing on an archive group.

Let me know.

Best,
andy

>>>>> "AS" == Adam Sjøgren <asjo@koldfront.dk> writes:

    AS> In Emacs compiled from master just now, when I do a search in
    AS> Gnus in emails (G G "USB ID" RET) and press q after looking at
    AS> the results, I get this message:

    AS>   Args out of range: [["nnml:archive.mail-2000" 11836 0]
    AS> ["nnml:archive.mail-2003" 148 0] ["nnml:archive.mail-2004" 474
    AS> 0] ["nnml:archive.news-2006" 75 0] ["nnml:cvs" 1664 0]
    AS> ["nnml:cvs" 1667 0] ["nnml:archive.news-2007" 646 0]
    AS> ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0]
    AS> ["nnml:archive.mail-2007" 674 0] ...], 999

    AS> and the search results stay on screen.

    AS> If I use Q to try and exit the results, I am returned to the
    AS> group buffer, and a new group appears:

    AS>    K 114: nnselect:nnselect-87een6g7ep.fsf

    AS> I have configured Gnus to search using notmuch, that is, I have:

    AS>   (nnir-search-engine notmuch)

    AS> in both my normal email method (nnml ""), and my
    AS> gnus-message-archive-method (nnml "archive").

    AS> Is this a bug, or do I need to adjust something?

    AS>   Best regards,

    AS>     Adam

    AS> -- "Upon first gazing upon the complexities of the Adam Sjøgren
    AS> real world, there is a certain temptation to return
    AS> asjo@koldfront.dk to number theory."



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 12:43 ` Andrew Cohen
@ 2020-09-13 13:11   ` Adam Sjøgren
  2020-09-13 13:53     ` Andrew Cohen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-13 13:11 UTC (permalink / raw)
  To: ding

Andrew writes:

> I am a bit puzzled by the set of groups in the error message. How did
> you initiate the search? On a particular group? Or a server search?

I put mark on the group "nnml:normal" under the topic "email" in the
group buffer, and pressed G G to search.

I use search so little that I usually don't remember how it works, but I
have a vague memory that it is a requirement to have point over an
email-group when G G'ing.

> Once you entered the search group did you do anything?

I scrolled up and down a little, but I didn't open any articles. It is
completely reproducable.

> Can you try a few things to narrow the error down a bit:

> 1. Try a regular search on a single group in your normal email method
> (with the cursor on a group try (G G "query" RET)). After entering the
> group, immediately exit to see if you get an error.

This is what I did orginally, but I'll do it again. This time I did
exactly what you wrote, put point on nnml:normal and G G query RET.

q immediately gave this message:

  Args out of range: [["nnml:ferie" 25 0] ["nnml:never-sent" 10 0] ["nnml:never-sent" 72 0] ["nnml:never-sent" 85 0] ["nnml:never-sent" 88 0] ["nnml:never-sent" 118 0] ["nnml:dde" 8 0] ["nnml:archive.mail-1997" 158 0] ["nnml:archive.mail-1997" 164 0] ["nnml:lasseoe" 51 0] ...], 999

I have my normal email in ~/Mail and archive email in ~/Mail/archive,
and notmuch indexes both in one index - it looks like the hits in
~/Mail/archive are assigned a dot-group in nnml: rather than a group in
nnml+archive: - might that be causing the problem?

My archive method is defined like this:

  (setq asjo-archive-method '(nnml "archive"
                                   (nnml-directory "~/Mail/archive")
                                   (nnml-active-file "~/Mail/archive/active")
                                   (nnml-get-new-mail nil)
                                   (nnir-search-engine notmuch)
                                   (nnml-inhibit-expiry t)))
  (setq gnus-message-archive-method asjo-archive-method)

and my normal email server is:

  (setq asjo-local-mail-method '(nnml ""
                                      (nnir-search-engine notmuch)))
    [...]
  (setq gnus-secondary-select-methods
        `(
          ,asjo-local-mail-method
    [...]

Which I realize, now, is confusing, as the nnml+archive: files are
located underneath the nnml: ~/Mail path.

> 2. Try the same thing on an archive group.

If I put point on nnml+archive:mail-2020 and go G G Adam RET for
instance, I get: Group nnselect:nnselect-87363lesot.fsf contains no messages

All the emails in the archive group contain the word "Adam", I'm not
sure what is going on with that, but it might be something like that I
was remembering when I taught myself to always be on a normal email
group when initiating a search.

Maybe because all the hits are interpreted to belong to nnml: and not
nnml+archive: (I'm guessing even more, now).

(In other words: this last thing might not be new. The Args out of range
definitely is.)


  Best regards,

    Adam

-- 
 "Carsten Jensens ånd hjemsøger motorkontoret i             Adam Sjøgren
  Rødovre!"                                            asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 13:11   ` Adam Sjøgren
@ 2020-09-13 13:53     ` Andrew Cohen
  2020-09-13 14:06       ` Adam Sjøgren
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Cohen @ 2020-09-13 13:53 UTC (permalink / raw)
  To: ding


>>>>> "AS" == Adam Sjøgren <asjo@koldfront.dk> writes:

[...]

    AS> This is what I did orginally, but I'll do it again. This time I
    AS> did exactly what you wrote, put point on nnml:normal and G G
    AS> query RET.

    AS> q immediately gave this message:

    AS>   Args out of range: [["nnml:ferie" 25 0] ["nnml:never-sent" 10
    AS> 0] ["nnml:never-sent" 72 0] ["nnml:never-sent" 85 0]
    AS> ["nnml:never-sent" 88 0] ["nnml:never-sent" 118 0] ["nnml:dde" 8
    AS> 0] ["nnml:archive.mail-1997" 158 0] ["nnml:archive.mail-1997"
    AS> 164 0] ["nnml:lasseoe" 51 0] ...], 999

    AS> I have my normal email in ~/Mail and archive email in
    AS> ~/Mail/archive, and notmuch indexes both in one index - it looks
    AS> like the hits in ~/Mail/archive are assigned a dot-group in
    AS> nnml: rather than a group in nnml+archive: - might that be
    AS> causing the problem?

I think this is expected (but I don't use notmuch so I'm not
positive). I think that gnus refers to the groups in your directory
hierarchy with dots rather than slashes, so these group names should be
what gnus wants to retrieve articles in these groups. 

I suspect there are two different things going on (as you say). The
absence of articles in the search on an archive group was probably true
before these changes. The args our of range is new.

If you are still up for some trial and error:

Try to do a search that has only a few hits to keep things
manageable. After doing the search check the value of the variable
'gnus-newsgroup-selection while in the summary buffer. Then see if you
can view any of the articles. Let me know the results and we can go from
there. You might want to send the info privately by email in case you
are concerned about this info revealing anything sensitive.




^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 13:53     ` Andrew Cohen
@ 2020-09-13 14:06       ` Adam Sjøgren
  2020-09-13 14:20         ` Andrew Cohen
  2020-09-13 16:48         ` Eric Abrahamsen
  0 siblings, 2 replies; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-13 14:06 UTC (permalink / raw)
  To: ding

Andrew writes:

> Try to do a search that has only a few hits to keep things
> manageable.

Ok, I go to nnml:normal in the group buffer and G G ejendomsvurderingen
RET - this gives 2 hits, both in nnml:normal, and q works!

And I can see both articles.

Hm.

Does the problem only appear when I get hits in archive/ ?

It seems so:

If I go G G Natas Kaupas RET, I get 1 hit, which is in
archive/mail-2020. I can see the article, but when I q the search
buffer, I get:

  Args out of range: [["nnml:archive.mail-2020" 438 0]], 999

> After doing the search check the value of the variable
> 'gnus-newsgroup-selection while in the summary buffer.

Ok, here is what C-h v says:

  gnus-newsgroup-selection is a variable defined in ‘gnus-sum.el’.
  Its value is [["nnml:archive.mail-2020" 438 0]]
  Local in buffer *Summary nnselect:nnselect-87sgbldbau.fsf*; global value is nil

  Documentation:
  Not documented as a variable.

> Then see if you can view any of the articles.

If I press RET on the line in the summary, the article is shown; this
message is displayed:

  Requesting article 438 from group nnml:archive.mail-2020


Should I move my archive so it isn't "colocated" with my normal emails,
or should Gnus handle this odd cornercase?


  Best regards,

    Adam

-- 
 "What year is it?"                                         Adam Sjøgren
 "2040, our president is a plant."                     asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 14:06       ` Adam Sjøgren
@ 2020-09-13 14:20         ` Andrew Cohen
  2020-09-13 14:27           ` Adam Sjøgren
  2020-09-13 16:48         ` Eric Abrahamsen
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Cohen @ 2020-09-13 14:20 UTC (permalink / raw)
  To: ding


>>>>> "AS" == Adam Sjøgren <asjo@koldfront.dk> writes:

[...]


    AS> Ok, I go to nnml:normal in the group buffer and G G
    AS> ejendomsvurderingen RET - this gives 2 hits, both in
    AS> nnml:normal, and q works!

    AS> And I can see both articles.

    AS> Hm.

    AS> Does the problem only appear when I get hits in archive/ ?

    AS> It seems so:

    AS> If I go G G Natas Kaupas RET, I get 1 hit, which is in
    AS> archive/mail-2020. I can see the article, but when I q the
    AS> search buffer, I get:

    AS>   Args out of range: [["nnml:archive.mail-2020" 438 0]], 999


[...]

    AS> Should I move my archive so it isn't "colocated" with my normal
    AS> emails, or should Gnus handle this odd cornercase?

I don't think there should be anything wrong your setup, so we should
try to get gnus to not fail. I am going to have to go to bed soon, but
if you can try one more thing to nail this down. Can you remove the
notmuch search engine declaration just from your archive backend temporarily,
and then try a variety of searches? I want to make sure the problem is
really associated with the archive group. After this you can re-enable
the search engine for the archive backend.

I guess the next step is to do some debugging. Since we have a nice
failure case ("Natas Kaupas")  this shouldn't be too bad. Try setting
debug-on-error and get a backtrace so we know where the failure is. Then
we can try debugging that function to get a better idea of what is
happening.

Best,
Andy



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 14:20         ` Andrew Cohen
@ 2020-09-13 14:27           ` Adam Sjøgren
  2020-09-13 15:51             ` Andrew Cohen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-13 14:27 UTC (permalink / raw)
  To: ding

Andrew writes:

> AS> Should I move my archive so it isn't "colocated" with my normal
> AS> emails, or should Gnus handle this odd cornercase?

> I don't think there should be anything wrong your setup, so we should
> try to get gnus to not fail.

Ok.

> Can you remove the notmuch search engine declaration just from your
> archive backend temporarily, and then try a variety of searches?

I still get the error when q'ing the search for Natas Kaupas when I have
removed the declaration from the archive backend.

(If my vague theory that a hit in ~/Mail/archive/ should be interpreted
as a hit in nnml+archive: but is interpreted as a hit in nnml:archive.
is correct, this is what we'd expect to see, right?

I just don't see how Gnus could automatically interpret
~/Mail/archive/mail-2020/NNNN "correctly", i.e. as
nnml+archive:mail-2020/NNNN and not nnml:archive.mail-2020/NNNN...)

> I guess the next step is to do some debugging. Since we have a nice
> failure case ("Natas Kaupas")  this shouldn't be too bad. Try setting
> debug-on-error and get a backtrace so we know where the failure is.

The backtrace is:

  Debugger entered--Lisp error: (args-out-of-range [["nnml:archive.mail-2020" 438 0]] 999)
    nnselect-article-group(1000)
    #f(compiled-function (member) #<bytecode 0x1867c218cbfaae5d>)(1000)
    mapc(#f(compiled-function (member) #<bytecode 0x1867c218cbfaae5d>) (1000 999 998 997 996 995 994 993 992 991 990 989 988 987 986 985 984 983 982 981 980 979 978 977 976 975 974 973 972 971 970 969 968 967 966 965 964 963 962 961 960 959 958 957 956 955 954 953 952 951 ...))
    nnselect-push-info("nnselect:nnselect-875z8h69ea.fsf")
    nnselect-close-group("nnselect-875z8h69ea.fsf" "nnselect-ephemeral")
    gnus-close-group("nnselect:nnselect-875z8h69ea.fsf")
    gnus-summary-exit()
    funcall-interactively(gnus-summary-exit)
    call-interactively(gnus-summary-exit nil nil)
    command-execute(gnus-summary-exit)


  Best regards,

    Adam

-- 
 "I mean, what a disappointing 21st century this has        Adam Sjøgren
  been so far, you know?"                              asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 14:27           ` Adam Sjøgren
@ 2020-09-13 15:51             ` Andrew Cohen
  2020-09-13 16:13               ` Adam Sjøgren
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew Cohen @ 2020-09-13 15:51 UTC (permalink / raw)
  To: ding


>>>>> "AS" == Adam Sjøgren <asjo@koldfront.dk> writes:


[...]

    AS> I still get the error when q'ing the search for Natas Kaupas
    AS> when I have removed the declaration from the archive backend.

    AS> (If my vague theory that a hit in ~/Mail/archive/ should be
    AS> interpreted as a hit in nnml+archive: but is interpreted as a
    AS> hit in nnml:archive.  is correct, this is what we'd expect to
    AS> see, right?

    AS> I just don't see how Gnus could automatically interpret
    AS> ~/Mail/archive/mail-2020/NNNN "correctly", i.e. as
    AS> nnml+archive:mail-2020/NNNN and not
    AS> nnml:archive.mail-2020/NNNN...)

OK, I had forgotten how nnml works :) I think you are likely right that
gnus can't figure out which backend to assign directories in the same
nnml tree. I guess the simplest thing to try is to move the archive
backend to an orthogonal directory tree.


[...]


    AS> The backtrace is:

    AS>   Debugger entered--Lisp error: (args-out-of-range
    AS> [["nnml:archive.mail-2020" 438 0]] 999)
    AS> nnselect-article-group(1000) #f(compiled-function (member)
    AS> #<bytecode 0x1867c218cbfaae5d>)(1000) mapc(#f(compiled-function
    AS> (member) #<bytecode 0x1867c218cbfaae5d>) (1000 999 998 997 996
    AS> 995 994 993 992 991 990 989 988 987 986 985 984 983 982 981 980
    AS> 979 978 977 976 975 974 973 972 971 970 969 968 967 966 965 964
    AS> 963 962 961 960 959 958 957 956 955 954 953 952 951 ...))
    AS> nnselect-push-info("nnselect:nnselect-875z8h69ea.fsf")
    AS> nnselect-close-group("nnselect-875z8h69ea.fsf"
    AS> "nnselect-ephemeral")
    AS> gnus-close-group("nnselect:nnselect-875z8h69ea.fsf")
    AS> gnus-summary-exit() funcall-interactively(gnus-summary-exit)
    AS> call-interactively(gnus-summary-exit nil nil)
    AS> command-execute(gnus-summary-exit)


OK, this looks crazy: you have a single search hit but somehow there is
a list of 1000 articles?

If you can separate the trees easily, try that and let me know what
happens. Otherwise we will have to step through the function.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 15:51             ` Andrew Cohen
@ 2020-09-13 16:13               ` Adam Sjøgren
  2020-09-13 19:27                 ` Eric Abrahamsen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-13 16:13 UTC (permalink / raw)
  To: ding

Andrew writes:

> OK, I had forgotten how nnml works :) I think you are likely right that
> gnus can't figure out which backend to assign directories in the same
> nnml tree. I guess the simplest thing to try is to move the archive
> backend to an orthogonal directory tree.

To start with, I tried just telling notmuch not to index anything in
~/Mail/archive.

That way no results in there are ever returned.

Interestingly, I can still get the error, if I search for something that
generates a lot of hits, but not if I search for the thing that just
generates two hits!

So G G ejendomsvurderingen RET gives 2 hits, and I can q the search
results.

But G G USB ID RET gives 94 lines in the search results, and pressing q
results in:

  Args out of range: [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ...], 999

So I'm guessing the archive theory can be dismissed as the cause.

Backtrace:

  Debugger entered--Lisp error: (args-out-of-range [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ["nnml:cron" 17793 0] ["nnml:cron" 18110 0] ["nnml:cron" 18294 0] ["nnml:cron" 18488 0] ["nnml:cron" 18638 0] ["nnml:cron" 18792 0] ["nnml:cron" 18990 0] ["nnml:cron" 19218 0] ["nnml:cron" 19423 0] ["nnml:cron" 19634 0] ["nnml:cron" 19812 0] ["nnml:cron" 19816 0] ["nnml:cron" 19817 0] ["nnml:cron" 19828 0] ["nnml:cron" 19829 0] ["nnml:cron" 19856 0] ["nnml:cron" 19933 0] ["nnml:cron" 19939 0] ["nnml:cron" 19943 0] ["nnml:cron" 19969 0] ["nnml:cron" 19977 0] ["nnml:cron" 20119 0] ["nnml:cron" 20268 0] ["nnml:cron" 20392 0] ["nnml:cron" 20476 0] ["nnml:cron" 20569 0] ["nnml:cron" 20671 0] ["nnml:cron" 20785 0] ["nnml:cron" 20978 0] ["nnml:cron" 21054 0] ["nnml:cron" 21870 0] ["nnml:cron" 21921 0] ["nnml:cron" 21964 0] ["nnml:cron" 22084 0] ["nnml:cron" 22305 0] ["nnml:cron" 22353 0] ["nnml:cron" 22425 0] ["nnml:cron" 23190 0] ["nnml:cron" 23247 0] ["nnml:cron" 23299 0] ...] 999)
    nnselect-article-group(1000)
    #f(compiled-function (member) #<bytecode 0x1867d85b70e9665d>)(1000)
    mapc(#f(compiled-function (member) #<bytecode 0x1867d85b70e9665d>) (1000 999 998 997 996 995 994 993 992 991 990 989 988 987 986 985 984 983 982 981 980 979 978 977 976 975 974 973 972 971 970 969 968 967 966 965 964 963 962 961 960 959 958 957 956 955 954 953 952 951 ...))
    nnselect-push-info("nnselect:nnselect-87k0wxhd6v.fsf")
    nnselect-close-group("nnselect-87k0wxhd6v.fsf" "nnselect-ephemeral")
    gnus-close-group("nnselect:nnselect-87k0wxhd6v.fsf")
    gnus-summary-exit()
    funcall-interactively(gnus-summary-exit)
    call-interactively(gnus-summary-exit nil nil)
    command-execute(gnus-summary-exit)

There is something funky about those 1000, as you say.


  Best regards,

    Adam

-- 
 "I need someone to throw blue sky at me"                   Adam Sjøgren
                                                       asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 14:06       ` Adam Sjøgren
  2020-09-13 14:20         ` Andrew Cohen
@ 2020-09-13 16:48         ` Eric Abrahamsen
  1 sibling, 0 replies; 21+ messages in thread
From: Eric Abrahamsen @ 2020-09-13 16:48 UTC (permalink / raw)
  To: Adam Sjøgren; +Cc: ding

Adam Sjøgren <asjo@koldfront.dk> writes:


[...]

> Ok, here is what C-h v says:
>
> gnus-newsgroup-selection is a variable defined in ‘gnus-sum.el’.
> Its value is [["nnml:archive.mail-2020" 438 0]]
> Local in buffer *Summary nnselect:nnselect-87sgbldbau.fsf*; global value is nil
>
> Documentation:
> Not documented as a variable.

Allow me to make an impassioned plea for not adding any more
undocumented variables into Gnus! Even a code comment would do -- it
makes bug-hunting so much harder to have to guess what everything is.

>> Then see if you can view any of the articles.
>
> If I press RET on the line in the summary, the article is shown; this
> message is displayed:
>
> Requesting article 438 from group nnml:archive.mail-2020
>
>
> Should I move my archive so it isn't "colocated" with my normal emails,
> or should Gnus handle this odd cornercase?

I think this would be a good idea. Gnus produces enough of its own
"undefined behavior" as it is...


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 16:13               ` Adam Sjøgren
@ 2020-09-13 19:27                 ` Eric Abrahamsen
  2020-09-13 19:45                   ` Adam Sjøgren
  0 siblings, 1 reply; 21+ messages in thread
From: Eric Abrahamsen @ 2020-09-13 19:27 UTC (permalink / raw)
  To: Adam Sjøgren; +Cc: ding

Adam Sjøgren <asjo@koldfront.dk> writes:

> Andrew writes:
>
>> OK, I had forgotten how nnml works :) I think you are likely right that
>> gnus can't figure out which backend to assign directories in the same
>> nnml tree. I guess the simplest thing to try is to move the archive
>> backend to an orthogonal directory tree.
>
> To start with, I tried just telling notmuch not to index anything in
> ~/Mail/archive.
>
> That way no results in there are ever returned.
>
> Interestingly, I can still get the error, if I search for something that
> generates a lot of hits, but not if I search for the thing that just
> generates two hits!
>
> So G G ejendomsvurderingen RET gives 2 hits, and I can q the search
> results.
>
> But G G USB ID RET gives 94 lines in the search results, and pressing q
> results in:
>
>   Args out of range: [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ...], 999
>
> So I'm guessing the archive theory can be dismissed as the cause.
>
> Backtrace:
>
>   Debugger entered--Lisp error: (args-out-of-range [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ["nnml:cron" 17793 0] ["nnml:cron" 18110 0] ["nnml:cron" 18294 0] ["nnml:cron" 18488 0] ["nnml:cron" 18638 0] ["nnml:cron" 18792 0] ["nnml:cron" 18990 0] ["nnml:cron" 19218 0] ["nnml:cron" 19423 0] ["nnml:cron" 19634 0] ["nnml:cron" 19812 0] ["nnml:cron" 19816 0] ["nnml:cron" 19817 0] ["nnml:cron" 19828 0] ["nnml:cron" 19829 0] ["nnml:cron" 19856 0] ["nnml:cron" 19933 0] ["nnml:cron" 19939 0] ["nnml:cron" 19943 0] ["nnml:cron" 19969 0] ["nnml:cron" 19977 0] ["nnml:cron" 20119 0] ["nnml:cron" 20268 0] ["nnml:cron" 20392 0] ["nnml:cron" 20476 0] ["nnml:cron" 20569 0] ["nnml:cron" 20671 0] ["nnml:cron" 20785 0] ["nnml:cron" 20978 0] ["nnml:cron" 21054 0] ["nnml:cron" 21870 0] ["nnml:cron" 21921 0] ["nnml:cron" 21964 0] ["nnml:cron" 22084 0] ["nnml:cron" 22305 0] ["nnml:cron" 22353 0] ["nnml:cron" 22425 0] ["nnml:cron" 23190 0] ["nnml:cron" 23247 0] ["nnml:cron" 23299 0] ...] 999)
>     nnselect-article-group(1000)
>     #f(compiled-function (member) #<bytecode 0x1867d85b70e9665d>)(1000)
>     mapc(#f(compiled-function (member) #<bytecode 0x1867d85b70e9665d>) (1000 999 998 997 996 995 994 993 992 991 990 989 988 987 986 985 984 983 982 981 980 979 978 977 976 975 974 973 972 971 970 969 968 967 966 965 964 963 962 961 960 959 958 957 956 955 954 953 952 951 ...))
>     nnselect-push-info("nnselect:nnselect-87k0wxhd6v.fsf")
>     nnselect-close-group("nnselect-87k0wxhd6v.fsf" "nnselect-ephemeral")
>     gnus-close-group("nnselect:nnselect-87k0wxhd6v.fsf")
>     gnus-summary-exit()
>     funcall-interactively(gnus-summary-exit)
>     call-interactively(gnus-summary-exit nil nil)
>     command-execute(gnus-summary-exit)
>
> There is something funky about those 1000, as you say.

Jumping in here quickly while Andy sorts out his computer...

I think the simplest next step would be to figure out which list of
marks thinks there are 1000 articles in this group. Is it always 1000,
no matter how many search results you get? I imagine we'll eventually
see why that's significant, but I can't think of anything now. My best
guess is that a list of marks that's meant to be local to the summary
buffer is somehow getting set and/or read globally.

Would you run a search that you're confident will trigger the error, and
evaluate this *in that buffer* (ie with "M-:" in the buffer).

(setq length-pairs
      (mapcar (lambda (mark-list)
		(cons mark-list
		      (length (symbol-value mark-list))))
	      (append (mapcar
		       (lambda (type)
			 (intern (format "gnus-newsgroup-%s" (car type))))
		       gnus-article-mark-lists)
		       '(gnus-newsgroup-unreads gnus-newsgroup-unseen))))

And then show us the (expanded) value of `length-pairs'?


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 19:27                 ` Eric Abrahamsen
@ 2020-09-13 19:45                   ` Adam Sjøgren
  2020-09-13 20:26                     ` Eric Abrahamsen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-13 19:45 UTC (permalink / raw)
  To: ding

Eric writes:

> I think the simplest next step would be to figure out which list of
> marks thinks there are 1000 articles in this group. Is it always 1000,
> no matter how many search results you get?

It seems to be, when I get the error.

> Would you run a search that you're confident will trigger the error, and
> evaluate this *in that buffer* (ie with "M-:" in the buffer).
>
> (setq length-pairs
>       (mapcar (lambda (mark-list)
> 		(cons mark-list
> 		      (length (symbol-value mark-list))))
> 	      (append (mapcar
> 		       (lambda (type)
> 			 (intern (format "gnus-newsgroup-%s" (car type))))
> 		       gnus-article-mark-lists)
> 		       '(gnus-newsgroup-unreads gnus-newsgroup-unseen))))
>
> And then show us the (expanded) value of `length-pairs'?

Is this what you're after:

  length-pairs’s value is shown below.

  Documentation:
  Not documented as a variable.

  Value:
  ((gnus-newsgroup-marked . 0)
   (gnus-newsgroup-replied . 2)
   (gnus-newsgroup-expirable . 0)
   (gnus-newsgroup-killed . 0)
   (gnus-newsgroup-bookmarks . 0)
   (gnus-newsgroup-dormant . 0)
   (gnus-newsgroup-scored . 8)
   (gnus-newsgroup-saved . 0)
   (gnus-newsgroup-cached . 0)
   (gnus-newsgroup-downloadable . 0)
   (gnus-newsgroup-unsendable . 0)
   (gnus-newsgroup-forwarded . 0)
   (gnus-newsgroup-seen . 3)
   (gnus-newsgroup-unexist . 0)
   (gnus-newsgroup-unreads . 0)
   (gnus-newsgroup-unseen . 2))

?

The search for USB ID on nnml:normal returned a group with 94 articles
in it. Trying to q gave the usual:

  Args out of range: [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ...], 999

error.


  Best regards,

    Adam

-- 
 "Few things are less comforting than a tiger who's         Adam Sjøgren
  up too late."                                        asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 19:45                   ` Adam Sjøgren
@ 2020-09-13 20:26                     ` Eric Abrahamsen
  2020-09-13 20:46                       ` Adam Sjøgren
  0 siblings, 1 reply; 21+ messages in thread
From: Eric Abrahamsen @ 2020-09-13 20:26 UTC (permalink / raw)
  To: Adam Sjøgren; +Cc: ding

Adam Sjøgren <asjo@koldfront.dk> writes:

> Eric writes:
>
>> I think the simplest next step would be to figure out which list of
>> marks thinks there are 1000 articles in this group. Is it always 1000,
>> no matter how many search results you get?
>
> It seems to be, when I get the error.
>
>> Would you run a search that you're confident will trigger the error, and
>> evaluate this *in that buffer* (ie with "M-:" in the buffer).
>>
>> (setq length-pairs
>>       (mapcar (lambda (mark-list)
>> 		(cons mark-list
>> 		      (length (symbol-value mark-list))))
>> 	      (append (mapcar
>> 		       (lambda (type)
>> 			 (intern (format "gnus-newsgroup-%s" (car type))))
>> 		       gnus-article-mark-lists)
>> 		       '(gnus-newsgroup-unreads gnus-newsgroup-unseen))))
>>
>> And then show us the (expanded) value of `length-pairs'?
>
> Is this what you're after:
>
>   length-pairs’s value is shown below.
>
>   Documentation:
>   Not documented as a variable.
>
>   Value:
>   ((gnus-newsgroup-marked . 0)
>    (gnus-newsgroup-replied . 2)
>    (gnus-newsgroup-expirable . 0)
>    (gnus-newsgroup-killed . 0)
>    (gnus-newsgroup-bookmarks . 0)
>    (gnus-newsgroup-dormant . 0)
>    (gnus-newsgroup-scored . 8)
>    (gnus-newsgroup-saved . 0)
>    (gnus-newsgroup-cached . 0)
>    (gnus-newsgroup-downloadable . 0)
>    (gnus-newsgroup-unsendable . 0)
>    (gnus-newsgroup-forwarded . 0)
>    (gnus-newsgroup-seen . 3)
>    (gnus-newsgroup-unexist . 0)
>    (gnus-newsgroup-unreads . 0)
>    (gnus-newsgroup-unseen . 2))

Grr... yes that was what I was after, but that's not helpful. Two others
I neglected:

(gnus-uncompress-range
  (gnus-info-read (gnus-get-info gnus-newsgroup-name)))

and:

gnus-newsgroup-articles

Can you eval both of those in the offending nnselect group?

That 1000 has to be coming from somewhere!


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 20:26                     ` Eric Abrahamsen
@ 2020-09-13 20:46                       ` Adam Sjøgren
  2020-09-13 21:01                         ` Eric Abrahamsen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-13 20:46 UTC (permalink / raw)
  To: ding

Eric writes:

> Grr... yes that was what I was after, but that's not helpful. Two others
> I neglected:
>
> (gnus-uncompress-range
>   (gnus-info-read (gnus-get-info gnus-newsgroup-name)))
>
> and:
>
> gnus-newsgroup-articles

So, I'm not quite sure to go about these, but I did:

  (setq asjo-gur (gnus-uncompress-range
    (gnus-info-read (gnus-get-info gnus-newsgroup-name))))

and got:

  asjo-gur’s value is
  (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94)

so that seems to correspond nicely to the 94 articles in the search
group.

The other one looks sane to me as well:

  gnus-newsgroup-articles is a variable defined in ‘gnus-sum.el’.
  Its value is
  (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94)
  Local in buffer *Summary nnselect:nnselect-87r1r5e7et.fsf*; global value is nil

  Documentation:
  List of articles in the current newsgroup.


  Best regards,

    Adam

-- 
 "we will have more products in several months, your        Adam Sjøgren
  patience is recommended."                            asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 20:46                       ` Adam Sjøgren
@ 2020-09-13 21:01                         ` Eric Abrahamsen
  2020-09-13 23:30                           ` Andrew Cohen
  0 siblings, 1 reply; 21+ messages in thread
From: Eric Abrahamsen @ 2020-09-13 21:01 UTC (permalink / raw)
  To: Adam Sjøgren; +Cc: ding

Adam Sjøgren <asjo@koldfront.dk> writes:

> Eric writes:
>
>> Grr... yes that was what I was after, but that's not helpful. Two others
>> I neglected:
>>
>> (gnus-uncompress-range
>>   (gnus-info-read (gnus-get-info gnus-newsgroup-name)))
>>
>> and:
>>
>> gnus-newsgroup-articles
>
> So, I'm not quite sure to go about these, but I did:
>
>   (setq asjo-gur (gnus-uncompress-range
>     (gnus-info-read (gnus-get-info gnus-newsgroup-name))))
>
> and got:
>
>   asjo-gur’s value is
>   (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94)
>
> so that seems to correspond nicely to the 94 articles in the search
> group.
>
> The other one looks sane to me as well:
>
>   gnus-newsgroup-articles is a variable defined in ‘gnus-sum.el’.
>   Its value is
>   (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94)
>   Local in buffer *Summary nnselect:nnselect-87r1r5e7et.fsf*; global value is nil
>
>   Documentation:
>   List of articles in the current newsgroup.

Okay, thanks for that. So assuming I'm reading the code right, you don't
actually have any bum values for buffer-local mark lists. In this case I
think we might want to look at leakage in the various define-inlines. I
can't immediately see anything wrong, but maybe there's a crucial
`inline-letevals' missing somewhere. The fact that you're always hitting
this 1000 makes me think that a symbol that was meant to be locally
scoped is somehow getting set globally.

Last shot in the dark and then I'm going to pass this back to Andy: is
the plain symbol `sequence' defined globally?



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 21:01                         ` Eric Abrahamsen
@ 2020-09-13 23:30                           ` Andrew Cohen
  2020-09-13 23:48                             ` Andrew Cohen
  2020-09-14 15:47                             ` Adam Sjøgren
  0 siblings, 2 replies; 21+ messages in thread
From: Andrew Cohen @ 2020-09-13 23:30 UTC (permalink / raw)
  To: ding


First, thanks Eric for stepping in to help. I am still dealing with
computer issues so only online occasionally.

Secondly, sorry for not documenting gnus-newsgroup-selection :( I'll fix
it at some point. And I'm impressed with your skill at debugging other
people's code :)

Adam, can you try the following? Once the error has occurred, can you
switch to the scratch buffer and execute:

(gnus-get-info "nnselect:blah")

where "nnselect:blah" is the name of the ephemeral search group
(something similar to "nnselect-87r1r5e7et.fsf")?

Thanks,
Andy





^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 23:30                           ` Andrew Cohen
@ 2020-09-13 23:48                             ` Andrew Cohen
  2020-09-14 16:02                               ` Adam Sjøgren
  2020-09-14 15:47                             ` Adam Sjøgren
  1 sibling, 1 reply; 21+ messages in thread
From: Andrew Cohen @ 2020-09-13 23:48 UTC (permalink / raw)
  To: ding


>>>>> "AC" == Andrew Cohen <acohen@ust.hk> writes:

[...]

    AC> Adam, can you try the following? Once the error has occurred,
    AC> can you switch to the scratch buffer and execute:

    AC> (gnus-get-info "nnselect:blah")

    AC> where "nnselect:blah" is the name of the ephemeral search group
    AC> (something similar to "nnselect-87r1r5e7et.fsf")?


And after this, you could try stepping into the function
'nnselect-push-info using edebug. Identifying which line in this
function leads to the error would narrow it down.



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 23:30                           ` Andrew Cohen
  2020-09-13 23:48                             ` Andrew Cohen
@ 2020-09-14 15:47                             ` Adam Sjøgren
  1 sibling, 0 replies; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-14 15:47 UTC (permalink / raw)
  To: ding

Andrew writes:

> Adam, can you try the following? Once the error has occurred, can you
> switch to the scratch buffer and execute:
>
> (gnus-get-info "nnselect:blah")

Yup, so I ran:

  (setq asjo-debug-data (gnus-get-info "nnselect:nnselect-875z8gfjlw.fsf"))

and got:

  asjo-debug-data’s value is shown below.

  Documentation:
  Not documented as a variable.

  Value:
  ("nnselect:nnselect-875z8gfjlw.fsf" 3
   ((1 . 95))
   ((reply 8 92)
    (seen
     (1 . 8)
     (10 . 14)
     (16 . 95)))
   (nnselect "nnselect-ephemeral"
             (nnselect-address "nnselect"))
   ((nnselect-artlist
     ("nnml:normal"
      (0 10232 10338 13286 13337 13375 16258 16982
         (17224 . 17225)
         17557 17560
         (17800 . 17801)
         18596 18855 18874
         (18903 . 18904)
         19652 19780 19797 19832 21000 21006 21057 21272 22021 22097 22270
         (22622 . 22623)
         23290
         (25951 . 25952)
         25954 26831 29020
         (29255 . 29256)
         29643))
     ("nnml:cron"
      (0 6244 17494 17793 18110 18294 18488 18638 18792 18990 19218 19423 19634 19812
         (19816 . 19817)
         (19828 . 19829)
         19856 19933 19939 19943 19969 19977 20119 20268 20392 20476 20569 20671 20785 20978 21054 21870 21921 21964 22084 22305 22353 22425 23190 23247 23299 23333 25469 25471 35356 35406))
     ("nnml:leif"
      (0 2036))
     ("nnml:debian-bts"
      (0 225 228))
     ("nnml:never-sent"
      (0 43))
     ("nnml:rt2400-devel"
      (0 74 . 75))
     ("nnml:cvs"
      (0 1664 1667)))
    (quit-config #<buffer *Group*> . group)
    (nnselect-specs
     (nnselect-function . nnir-run-query)
     (nnselect-args
      (nnir-query-spec
       (query . "USB ID"))
      (nnir-group-spec
       ("nnml:" "nnml:normal"))))))


  Best regards,

    Adam

-- 
 "Love is the difficult"                                    Adam Sjøgren
                                                       asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-13 23:48                             ` Andrew Cohen
@ 2020-09-14 16:02                               ` Adam Sjøgren
  2020-09-14 20:28                                 ` Eric Abrahamsen
  0 siblings, 1 reply; 21+ messages in thread
From: Adam Sjøgren @ 2020-09-14 16:02 UTC (permalink / raw)
  To: ding

Andrew writes:

> And after this, you could try stepping into the function
> 'nnselect-push-info using edebug. Identifying which line in this
> function leads to the error would narrow it down.

So I go to nnselect-push-info, run M-x edebug-defun at the beginning of
it, and then press q in the *Summary nnselect...* buffer.

Let's see what happens.

Ok, so it's iterating around these lines:

    (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)
      (when (setq type-list
		  (symbol-value (intern (format "gnus-newsgroup-%s" mark))))
	(push (cons type
		    (numbers-by-group
		     (gnus-uncompress-range type-list))) mark-list)))

and when it hits "score", a list like this appears:

  Result: gnus-newsgroup-scored
  Result: ((95 . 1000) (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6 . 1000))
  Result: ((95 . 1000) (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6 . 1000))
   [3 times]
  Result: score
   [3 times]
  Result: ((95 . 1000) (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6 . 1000))

That looks funky, n'est pas?

And then when the range is uncompressed, the error appears:

  Result: (95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 ...)
  Args out of range: [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ["nnml:cron" 17793 0] ["nnml:cron" 18110 0] ["nnml:cron" 18294 0] ["nnml:cron" 18488 0] ["nnml:cron" 18638 0] ["nnml:cron" 18792 0] ["nnml:cron" 18990 0] ["nnml:cron" 19218 0] ["nnml:cron" 19423 0] ["nnml:cron" 19634 0] ["nnml:cron" 19812 0] ["nnml:cron" 19816 0] ["nnml:cron" 19817 0] ["nnml:cron" 19828 0] ["nnml:cron" 19829 0] ["nnml:cron" 19856 0] ["nnml:cron" 19933 0] ["nnml:cron" 19939 0] ["nnml:cron" 19943 0] ["nnml:cron" 19969 0] ["nnml:cron" 19977 0] ["nnml:cron" 20119 0] ["nnml:cron" 20268 0] ["nnml:cron" 20392 0] ["nnml:cron" 20476 0] ["nnml:cron" 20569 0] ["nnml:cron" 20671 0] ["nnml:cron" 20785 0] ["nnml:cron" 20978 0] ["nnml:cron" 21054 0] ["nnml:cron" 21870 0] ["nnml:cron" 21921 0] ["nnml:cron" 21964 0] ["nnml:cron" 22084 0] ["nnml:cron" 22305 0] ["nnml:cron" 22353 0] ["nnml:cron" 22425 0] ["nnml:cron" 23190 0] ["nnml:cron" 23247 0] ["nnml:cron" 23299 0] ["nnml:cron" 23333 0] ["nnml:cron" 25469 0] ["nnml:cron" 25471 0] ["nnml:cron" 35356 0] ["nnml:cron" 35406 0] ["nnml:normal" 10232 0] ["nnml:normal" 10338 0] ["nnml:normal" 13286 0] ["nnml:normal" 13337 0] ["nnml:normal" 13375 0] ["nnml:normal" 16258 0] ["nnml:normal" 16982 0] ["nnml:normal" 17224 0] ["nnml:normal" 17225 0] ["nnml:normal" 17557 0] ["nnml:normal" 17560 0] ["nnml:normal" 17800 0] ["nnml:normal" 17801 0] ["nnml:normal" 18596 0] ["nnml:normal" 18855 0] ["nnml:normal" 18874 0] ["nnml:normal" 18903 0] ["nnml:normal" 18904 0] ["nnml:normal" 19652 0] ["nnml:normal" 19780 0] ["nnml:normal" 19797 0] ["nnml:normal" 19832 0] ["nnml:normal" 21000 0] ["nnml:normal" 21006 0] ["nnml:normal" 21057 0] ["nnml:normal" 21272 0] ["nnml:normal" 22021 0] ["nnml:normal" 22097 0] ["nnml:normal" 22270 0] ["nnml:normal" 22622 0] ["nnml:normal" 22623 0] ["nnml:normal" 23290 0] ["nnml:normal" 25951 0] ["nnml:normal" 25952 0] ["nnml:normal" 25954 0] ["nnml:normal" 26831 0] ["nnml:normal" 29020 0] ["nnml:normal" 29255 0] ["nnml:normal" 29256 0] ["nnml:normal" 29643 0]], 999
  edebug-signal: Args out of range: [["nnml:cvs" 1664 0] ["nnml:cvs" 1667 0] ["nnml:rt2400-devel" 74 0] ["nnml:rt2400-devel" 75 0] ["nnml:never-sent" 43 0] ["nnml:debian-bts" 225 0] ["nnml:debian-bts" 228 0] ["nnml:leif" 2036 0] ["nnml:cron" 6244 0] ["nnml:cron" 17494 0] ...], 999

Does that ring any bells?

I tried this patch, just as an experiment:

diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index 94dd93b354..64fd40b8e2 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -773,11 +773,12 @@ nnselect-push-info
 	(gnus-newsgroup-active nil)
 	mark-list type-list)
     (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)
-      (when (setq type-list
-		  (symbol-value (intern (format "gnus-newsgroup-%s" mark))))
-	(push (cons type
-		    (numbers-by-group
-		     (gnus-uncompress-range type-list))) mark-list)))
+      (when (not (string= mark "scored"))
+        (when (setq type-list
+		    (symbol-value (intern (format "gnus-newsgroup-%s" mark))))
+	  (push (cons type
+		      (numbers-by-group
+		       (gnus-uncompress-range type-list))) mark-list))))
     (pcase-dolist (`(,artgroup . ,artlist)
 		   (numbers-by-group gnus-newsgroup-articles))
       (let* ((group-info (gnus-get-info artgroup))

and then I can quit the group.


  Best regards,

    Adam

-- 
 "More than anything, I won't try"                          Adam Sjøgren
                                                       asjo@koldfront.dk



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-14 16:02                               ` Adam Sjøgren
@ 2020-09-14 20:28                                 ` Eric Abrahamsen
  2020-09-14 23:27                                   ` Andrew Cohen
  0 siblings, 1 reply; 21+ messages in thread
From: Eric Abrahamsen @ 2020-09-14 20:28 UTC (permalink / raw)
  To: ding

Adam Sjøgren <asjo@koldfront.dk> writes:

> Andrew writes:
>
>> And after this, you could try stepping into the function
>> 'nnselect-push-info using edebug. Identifying which line in this
>> function leads to the error would narrow it down.
>
> So I go to nnselect-push-info, run M-x edebug-defun at the beginning of
> it, and then press q in the *Summary nnselect...* buffer.
>
> Let's see what happens.
>
> Ok, so it's iterating around these lines:
>
>     (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists)
>       (when (setq type-list
> 		  (symbol-value (intern (format "gnus-newsgroup-%s" mark))))
> 	(push (cons type
> 		    (numbers-by-group
> 		     (gnus-uncompress-range type-list))) mark-list)))
>
> and when it hits "score", a list like this appears:
>
>   Result: gnus-newsgroup-scored
>   Result: ((95 . 1000) (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6 . 1000))
>   Result: ((95 . 1000) (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6 . 1000))
>    [3 times]
>   Result: score
>    [3 times]
>   Result: ((95 . 1000) (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6 . 1000))
>
> That looks funky, n'est pas?

Yup, you found it. The code will just have to special-case
`gnus-newsgroup-scored' and ignore the actual score.

Nice work!



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Args out of range when quitting search buffer with recent Emacs/Gnus
  2020-09-14 20:28                                 ` Eric Abrahamsen
@ 2020-09-14 23:27                                   ` Andrew Cohen
  0 siblings, 0 replies; 21+ messages in thread
From: Andrew Cohen @ 2020-09-14 23:27 UTC (permalink / raw)
  To: ding


>>>>> "EA" == Eric Abrahamsen <eric@ericabrahamsen.net> writes:


[...]

    >> 
    >> Let's see what happens.
    >> 
    >> Ok, so it's iterating around these lines:
    >> 
    >> (pcase-dolist (`(,mark . ,type) gnus-article-mark-lists) (when
    >> (setq type-list (symbol-value (intern (format "gnus-newsgroup-%s"
    >> mark)))) (push (cons type (numbers-by-group
    >> (gnus-uncompress-range type-list))) mark-list)))
    >> 
    >> and when it hits "score", a list like this appears:
    >> 
    >> Result: gnus-newsgroup-scored Result: ((95 . 1000) (93 . 1000)
    >> (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5
    >> . 2000) (6 . 1000)) Result: ((95 . 1000) (93 . 1000) (92 . 1000)
    >> (91 . 1000) (80 . 1000) (60 . 1000) (59 . 1000) (5 . 2000) (6
    >> . 1000)) [3 times] Result: score [3 times] Result: ((95 . 1000)
    >> (93 . 1000) (92 . 1000) (91 . 1000) (80 . 1000) (60 . 1000) (59
    >> . 1000) (5 . 2000) (6 . 1000))
    >> 
    >> That looks funky, n'est pas?

Great! This will  be easy to fix (I'll do it soon).

Thanks Adam and Eric for some great remote debugging!



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-09-14 23:28 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-12 18:53 Args out of range when quitting search buffer with recent Emacs/Gnus Adam Sjøgren
2020-09-13 12:43 ` Andrew Cohen
2020-09-13 13:11   ` Adam Sjøgren
2020-09-13 13:53     ` Andrew Cohen
2020-09-13 14:06       ` Adam Sjøgren
2020-09-13 14:20         ` Andrew Cohen
2020-09-13 14:27           ` Adam Sjøgren
2020-09-13 15:51             ` Andrew Cohen
2020-09-13 16:13               ` Adam Sjøgren
2020-09-13 19:27                 ` Eric Abrahamsen
2020-09-13 19:45                   ` Adam Sjøgren
2020-09-13 20:26                     ` Eric Abrahamsen
2020-09-13 20:46                       ` Adam Sjøgren
2020-09-13 21:01                         ` Eric Abrahamsen
2020-09-13 23:30                           ` Andrew Cohen
2020-09-13 23:48                             ` Andrew Cohen
2020-09-14 16:02                               ` Adam Sjøgren
2020-09-14 20:28                                 ` Eric Abrahamsen
2020-09-14 23:27                                   ` Andrew Cohen
2020-09-14 15:47                             ` Adam Sjøgren
2020-09-13 16:48         ` Eric Abrahamsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).