Subject: bug#28003: closed (done)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 27 Aug 2017 16:56:02 +0000

Your bug report

#28003: 26.0.50; Auto fill broken in Message mode

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
28003: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=28003
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: done
From: Tom Tromey <[email-masked]>
To: [email-masked]
Date: Sun, 27 Aug 2017 10:55:01 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

The fix was checked in a while ago.

Tom

Subject: 26.0.50; Auto fill broken in Message mode
From: Stephen Berman <[email-masked]>
To: [email-masked]
Date: Mon, 07 Aug 2017 21:56:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

This change:

commit 9b463fa8648b7baed95a44f4317cb7402fd8bf1c
Author: Tom Tromey <[email-masked]>
Date:   Sat Aug 5 18:30:52 2017 -0600

  Respect comment-auto-fill-only-comments
  
  Respect comment-auto-fill-only-comments when auto-filling and a
  comment syntax is defined.
  
  * lisp/newcomment.el (comment-indent-new-line): Do not check
  comment-auto-fill-only-comments.
  * lisp/simple.el (internal-auto-fill): New defun.
  * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
  auto_fill_function.
  (syms_of_cmds): Define Qinternal_auto_fill.

broke auto filling in Message mode; the breakage is due specifically to
this change in comment-indent-new-line:

diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 8772b52376..e3ee4dfab1 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -1382,10 +1382,9 @@ comment-indent-new-line
   (interactive)
   (comment-normalize-vars t)
   (let (compos comin)
-    ;; If we are not inside a comment and we only auto-fill comments,
-    ;; don't do anything (unless no comment syntax is defined).
+    ;; If we are not inside a comment don't do anything (unless no
+    ;; comment syntax is defined).
     (unless (and comment-start
-		 comment-auto-fill-only-comments
 		 (not (called-interactively-p 'interactive))
 		 (not (save-excursion
 			(prog1 (setq compos (comment-beginning))

To reproduce:

0. emacs -Q
1. Type `C-x m' to get a Message mode buffer, with a fill-column of 70.
2. Insert at point-max this text (all in one unbroken line):
   This is a test. This is a test. This is a test. This is a test. This is a test. 
3. Point is now in column 79; type SPC.
=> The line is not broken and filled.
4. Delete the last SPC, type `C-a > SPC C-e SPC'.
=> This line is now broken and filled.

Message mode sets "> " and comment-auto-fill-only-comments to nil by
default, but since the above change eliminated checking the latter,
after step 3 the unless condition evaluates to t, so there's no
auto-filling; while after step 4, (comment-beginning) is non-nil, so the
unless condition is nil and auto-filling occurs.

In GNU Emacs 26.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.8)
 of 2017-08-07 built on rosalinde
Repository revision: 14ea76af5f3596d48747c2437006f6e1abcb67a7
Windowing system distributor 'The X.Org Foundation', version 11.0.11901000