GNU bug report logs - #39580
26.2; missing newline in fcc when output file is in an rmail buffer

Previous Next

Package: emacs;

Reported by: Ken Olum <kdo <at> cosmos.phy.tufts.edu>

Date: Wed, 12 Feb 2020 18:44:01 UTC

Severity: normal

Tags: fixed

Found in version 26.2

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39580 in the body.
You can then email your comments to 39580 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#39580; Package emacs. (Wed, 12 Feb 2020 18:44:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ken Olum <kdo <at> cosmos.phy.tufts.edu>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 12 Feb 2020 18:44:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ken Olum <kdo <at> cosmos.phy.tufts.edu>
To: bug-gnu-emacs <at> gnu.org
Cc: kdo <at> cosmos.phy.tufts.edu
Subject: 26.2; missing newline in fcc when output file is in an rmail buffer
Date: Wed, 12 Feb 2020 13:43:44 -0500
The function gnus-output-to-rmail fails to ensure a blank line at the
end of the message being output in the case where the output file is an
mbox file viewed in an rmail buffer.  The needed code is in this
function, but triggers only when the output file is not in a buffer.
This causes messages in the output file to be merged together.

To reproduce:

emacs -Q
C-x m to compose message
edit outgoing message to add a line "Fcc: test-save" (for example) and
some body that does not have a blank line at the end.
C-c C-c to send message
Visit "test-save"
M-x rmail-mode
Select buffer "*sent mail to ...*"
C-c C-c to send message again

File "test-save" is now corrupt because it lacks a blank line at the
end.  To see that it is corrupt:

Send the same message yet again.
Select the "test-save" buffer.  It will look OK, but
Kill the "test-save" buffer.
Visit "test-save" again
M-x rmail-mode

Now the last two copies of the message will be concatenated into a
single message.

I propose fixing this by taking the code for inserting the blank line
that starts "(unless babyl  ; from gnus-output-to-mail" and moving it
before ";; Decide whether to append to a file or to an Emacs buffer." so
that it takes place for all mbox files.

There is a similar bug in gnus-output-to-mail that occurs when the file
is in a non-rmail buffer.  It makes the same mistake, but corrects it
next time by putting in another newline at the end of what it did
before.  However, it always adds the newline, so if the file is empty it
corrupts it by putting an extra blank line at the front.

                                        Ken




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39580; Package emacs. (Tue, 27 Oct 2020 18:15:02 GMT) Full text and rfc822 format available.

Message #8 received at 39580 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Ken Olum <kdo <at> cosmos.phy.tufts.edu>
Cc: 39580 <at> debbugs.gnu.org
Subject: Re: bug#39580: 26.2; missing newline in fcc when output file is in
 an rmail buffer
Date: Tue, 27 Oct 2020 19:14:27 +0100
Ken Olum <kdo <at> cosmos.phy.tufts.edu> writes:

> The function gnus-output-to-rmail fails to ensure a blank line at the
> end of the message being output in the case where the output file is an
> mbox file viewed in an rmail buffer.  The needed code is in this
> function, but triggers only when the output file is not in a buffer.
> This causes messages in the output file to be merged together.
>
> To reproduce:
>
> emacs -Q
> C-x m to compose message
> edit outgoing message to add a line "Fcc: test-save" (for example) and
> some body that does not have a blank line at the end.
> C-c C-c to send message
> Visit "test-save"
> M-x rmail-mode
> Select buffer "*sent mail to ...*"
> C-c C-c to send message again
>
> File "test-save" is now corrupt because it lacks a blank line at the
> end.

I'm able to reproduce this bug, but I'm not sure how
gnus-output-to-rmail is involved here?  As far as I can see, it's never
called by Message, and instead `message-output' is called to create the
file.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39580; Package emacs. (Tue, 27 Oct 2020 18:18:02 GMT) Full text and rfc822 format available.

Message #11 received at 39580 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Ken Olum <kdo <at> cosmos.phy.tufts.edu>
Cc: 39580 <at> debbugs.gnu.org
Subject: Re: bug#39580: 26.2; missing newline in fcc when output file is in
 an rmail buffer
Date: Tue, 27 Oct 2020 19:16:50 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> I'm able to reproduce this bug, but I'm not sure how
> gnus-output-to-rmail is involved here?  As far as I can see, it's never
> called by Message, and instead `message-output' is called to create the
> file.

Sorry; I see that message-output calls that function in some
circumstances...  but not by default; only if the file is on babyl
format?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#39580; Package emacs. (Tue, 27 Oct 2020 18:31:01 GMT) Full text and rfc822 format available.

Message #14 received at 39580 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Ken Olum <kdo <at> cosmos.phy.tufts.edu>
Cc: 39580 <at> debbugs.gnu.org
Subject: Re: bug#39580: 26.2; missing newline in fcc when output file is in
 an rmail buffer
Date: Tue, 27 Oct 2020 19:29:52 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Lars Ingebrigtsen <larsi <at> gnus.org> writes:
>
>> I'm able to reproduce this bug, but I'm not sure how
>> gnus-output-to-rmail is involved here?  As far as I can see, it's never
>> called by Message, and instead `message-output' is called to create the
>> file.
>
> Sorry; I see that message-output calls that function in some
> circumstances...  but not by default; only if the file is on babyl
> format?

I was even more confused here -- your recipe included all the elements
necessary to reproduce all parts of the bug, but I just didn't read it
correctly.

I've now fixed this bug in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 27 Oct 2020 18:31:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 39580 <at> debbugs.gnu.org and Ken Olum <kdo <at> cosmos.phy.tufts.edu> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 27 Oct 2020 18:31:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 25 Nov 2020 12:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 124 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.