Subject: bug#6688: Acknowledgement (23.2; Auto-fill broken in C/C++ modes.)

From: Alan Mackenzie <[email-masked]>
Date: Sat, 31 Jul 2010 09:49:54 +0000

Hi, Matthieu and Martin,

I've applied this patch to the Bazaar head at savannah.  That should fix
the bug.

Thanks once again for such a high quality bug report.

On Sun, Jul 25, 2010 at 01:09:39PM +0000, Alan Mackenzie wrote:

> === modified file 'lisp/progmodes/cc-cmds.el'
> *** lisp/progmodes/cc-cmds.el	2010-05-12 11:06:12 +0000
> --- lisp/progmodes/cc-cmds.el	2010-07-23 21:27:24 +0000
> ***************
> *** 3974,3989 ****
>   		    ;; "Invalid search bound (wrong side of point)"
>   		    ;; error in the subsequent re-search.  Maybe
>   		    ;; another fix would be needed (2007-12-08).
> ! 		    (and (> (- (cdr c-lit-limits) 2) (point))
>   			 (search-forward-regexp
>   			  (concat "\\=[ \t]*\\(" c-current-comment-prefix "\\)")
>   			  (- (cdr c-lit-limits) 2) t)
>   			 (not (search-forward-regexp
>   			       "\\(\\s \\|\\sw\\)"
>   			       (- (cdr c-lit-limits) 2) 'limit))
> ! 			     ;; The comment ender IS on its own line.  Exclude
> ! 			     ;; this line from the filling.
> ! 			 (set-marker end (c-point 'bol))))
>   
>   		;; The comment ender is hanging.  Replace all space between it
>   		;; and the last word either by one or two 'x's (when
> --- 3974,3990 ----
>   		    ;; "Invalid search bound (wrong side of point)"
>   		    ;; error in the subsequent re-search.  Maybe
>   		    ;; another fix would be needed (2007-12-08).
> ! 		    (or (<= (- (cdr c-lit-limits) 2) (point))
> ! 			(and 
>   			 (search-forward-regexp
>   			  (concat "\\=[ \t]*\\(" c-current-comment-prefix "\\)")
>   			  (- (cdr c-lit-limits) 2) t)
>   			 (not (search-forward-regexp
>   			       "\\(\\s \\|\\sw\\)"
>   			       (- (cdr c-lit-limits) 2) 'limit))
> ! 			 ;; The comment ender IS on its own line.  Exclude
> ! 			 ;; this line from the filling.
> ! 			 (set-marker end (c-point 'bol)))))
>   
>   		;; The comment ender is hanging.  Replace all space between it
>   		;; and the last word either by one or two 'x's (when
> 
> #########################################################################
> > http://www-verimag.imag.fr/~moy/

-- 
Alan Mackenzie (Nuremberg, Germany).