Subject: Re: bug#68510: Bug in gnus' C-u S v

From: Tomas Volf <[email-masked]>
Date: Fri, 19 Jan 2024 18:05:23 +0100

On 2024-01-19 08:10:25 -0800, Eric Abrahamsen wrote:
> 
> On 01/19/24 12:55 PM, Michael Albinus wrote:
> > Tomas Volf <[email-masked]> writes:
> >
> >> Hello,
> >
> > Hi Tomas,
> >
> >> I think I found a bug in debbugs, however I am not sure if the bug is in
> >> documentation or in the code.  Steps to reproduce (in emacs -Q):
> >>
> >> In *scratch* buffer:
> >>    (require 'debbugs-gnu)
> >>    (debbugs-gnu-bugs 66531)
> >>
> >> In the new buffer open the message and navigate cursor to last message from Mike
> >> Gran (47: ).  Now, when I want to reply, I press S v and it opens a buffer with
> >> (addresses are censored):
> >>
> >>     To: Mike Gran <xxx>
> >>     Cc: Tomas Volf <xxx>,  "xxx@debbugs-gnu-org" <xxx>
> >>     Subject: Re: bug#66531: [PATCH] ftw: Fix getuid-or-false, getgid-or-false macros.
> >>     From: [email-masked]
> >>     --text follows this line--
> >>
> >> So far that is expected.  However when I want to quote the original message, I can, based on the reading of the manual, use C-u S v:
> >>
> >>> If prefix argument YANK is non-nil, the original article(s) will be yanked
> >>> automatically.
> >>
> >> However while that does work, additional undocumented (and unwanted) changes are
> >> done as well,producing a following message:
> >>
> >>     To: Mike Gran <xxx>
> >>     Cc: Tomas Volf <xxx>, Tomas Volf <xxx>, control@debbugs-gnu-org,
> >> xxx@debbugs-gnu-org
> >>     Subject: Re: bug#66531: [PATCH] ftw: Fix getuid-or-false,
> >> getgid-or-false macros., bug#66531: [PATCH] ftw: Fix getuid-or-false,
> >> getgid-or-false macros., bug#66531: [PATCH] ftw: Fix getuid-or-false,
> >> getgid-or-false macros., bug#66531: [PATCH] ftw: Fix getuid-or-false,
> >> getgid-or-false macros., control message for bug #66531, control
> >> message for bug #66531
> >>     From: [email-masked]
> >>     --text follows this line--
> >>     Mike Gran <xxx> writes:
> >>
> >>     [..]
> >>
> >> Notice that the subject is pretty weird, and for some reason there is a control
> >> server in the CC list.  I do not know if this is expected (well, at least I did
> >> not expect it), but it at the very least does not seem to be documented.  Based
> >> on my reading of the C-h k S v I would have expected just the "Mike Gran
> >> <xxx> writes:" change.
> >
> > Zhanks for the report, I could reproduce it. However, it doesn't seem to
> > be a Debbugs bug, but rather a Gnus bug. I've reproduced it by using
> > Gnus w/o Debbugs.
> >
> > For this, I've started a new Emacs instance w/o debbugs. I've opened
> > Gnus, and browsed the gmane server {nntp:news.gmane.io} for the group
> > gmane.lisp.guile.bugs. Message 10682 is the one you've mentioned above.
> >
> > Typing in the Summary buffer 'C-u S v' shows the error.
> >
> > I'm therefore changing the subject, adding Eric Abrahamsen into Cc.
> 
> I can't reproduce this exact result, but I can get buggy behavior -- in
> my case it pulls in the subject of the *next* message in my Summary
> buffer, in my case for bug #68506. Actually it seems to do a little
> something different every time, also depending on whether I have things
> edebugged or not. Fun!

It is interesting you cannot reproduce it exactly.  Now I see I forgot to state
an Emacs version (sorry!), I am using 29.1 release.  But based on your
description this sounds indeed like a fun bug.

> 
> I suspect the prefix argument is being interpreted wrong somehow. I
> wouldn't be surprised if Tomas's subject line looks like that because
> '(4) is resulting in four copies of the subject.

I just tried M-1 S v (Which I *think* should sent '(1)?  Sorry, still pretty
new.) and I still got it 4 times.  Maybe the number of repetitions is due to
there being 4 messages above this one in the thread?  Just guessing.

> 
> Tomas, would you first confirm that running "S V"
> (gnus-summary-very-wide-reply-with-original) behaves correctly?
> Essentially that's supposed to do exactly what "C-u S v" does, and it
> works correctly for me, which is part of why I think it's a prefix
> argument problem. I don't even know why we have all these variants.

Yes, I can confirm that S V works as expected.  Let me know if there is anything
else I should test.

Thank you for looking into this and have a nice day,
Tomas Volf

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.