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

From: Eric Abrahamsen <[email-masked]>
Date: Fri, 19 Jan 2024 14:29:37 -0800

On 01/19/24 18:05 PM, Tomas Volf wrote:
> 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.

It ended up being pretty obvious what was wrong: the prefix argument is
being used *both* to signal that the original message should be yanked,
and in the usual process/prefix convention, which is resulting in broken
behavior. It should only do one, but I don't know which one yet, so
please just don't use "S v" with a prefix argument -- if you need the
original yanked, use "S V".