Subject: bug#3234: fill-column+1 problem

From: Toru TSUNEYOSHI <[email-masked]>
Date: Thu, 07 May 2009 20:00:08 +0900 (JST)

Hi. I met a problem about `fill-region-as-paragraph' on Emacs
22.3.1. (This problem happens on Emacs 23.0.93.1, because there is no
change of the function's code.) Please read the following.

condition:

	fill-column => 10

>>> example 1 (no problems) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

12345678901234567890

あいうえおかきくけこ	<- fill-region (this function is a caller of
			   	        `fill-region-as-paragraph')

=>

あいうえお
かきくけこ

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

>>> example 2 (no good) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

123456789012345678901

あいxうえおかきくけこ	<- fill-region

=>

あいxうえお		<- fill-column+1 problem
かきくけこ

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

>>> patch for the problem >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
--- fill.el.original	2008-08-27 00:45:42.000000000 +0900
+++ fill.el	2009-05-07 18:29:16.931120600 +0900
@@ -713,7 +713,8 @@
 	    (move-to-column (current-fill-column))
 	    (if (when (< (point) to)
 		  ;; Find the position where we'll break the line.
-		  (forward-char 1) ;Use an immediately following space, if any.
+		  (unless (> (current-column) (current-fill-column))
+		    (forward-char 1)) ;Use an immediately following space, if any.
 		  (fill-move-to-break-point linebeg)
 		  ;; Check again to see if we got to the end of
 		  ;; the paragraph.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

>>> example 3 (after patching, good) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

123456789012345678901

あいxうえおかきくけこ	<- fill-region

=>

あいxうえ		<- no problem
おかきくけ
こ

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Anyone can check the validity of the patch?
If invalid, I wish that someone solves the problem.