# HG changeset patch # User Alan Mackenzie # Date 1281124139 0 # Node ID 7525495fea9709aeb2c0f714b298f1c1eb7b1f5c # Parent d9a022ec322cd296ba806e7829b711f27fad04cb cc-cmds.el (c-mask-paragraph, c-fill-paragraph): Fix for the case that a C style comment has its delimiters alone on their respective lines. diff -r d9a022ec322c -r 7525495fea97 lisp/ChangeLog --- a/lisp/ChangeLog Fri Aug 06 12:07:16 2010 -0700 +++ b/lisp/ChangeLog Fri Aug 06 19:48:59 2010 +0000 @@ -1,3 +1,9 @@ +2010-08-06 Alan Mackenzie + + * progmodes/cc-cmds.el (c-mask-paragraph, c-fill-paragraph): Fix + for the case that a C style comment has its delimiters alone on + their respective lines. + 2010-08-06 Michael Albinus * net/tramp.el (tramp-handle-start-file-process ): Set connection diff -r d9a022ec322c -r 7525495fea97 lisp/progmodes/cc-cmds.el --- a/lisp/progmodes/cc-cmds.el Fri Aug 06 12:07:16 2010 -0700 +++ b/lisp/progmodes/cc-cmds.el Fri Aug 06 19:48:59 2010 +0000 @@ -4001,6 +4001,14 @@ (goto-char ender-start) (current-column))) (point-rel (- ender-start here)) + (sentence-ends-comment + (save-excursion + (goto-char ender-start) + (and (search-backward-regexp + (c-sentence-end) (c-point 'bol) t) + (goto-char (match-end 0)) + (looking-at "[ \t]*") + (= (match-end 0) ender-start)))) spaces) (save-excursion @@ -4043,7 +4051,9 @@ (setq spaces (max (min spaces - (if sentence-end-double-space 2 1)) + (if (and sentence-ends-comment + sentence-end-double-space) + 2 1)) 1))) ;; Insert the filler first to keep marks right. (insert-char ?x spaces t) @@ -4253,8 +4263,11 @@ (let ((fill-paragraph-function ;; Avoid infinite recursion. (if (not (eq fill-paragraph-function 'c-fill-paragraph)) - fill-paragraph-function))) - (c-mask-paragraph t nil 'fill-paragraph arg)) + fill-paragraph-function)) + (start-point (point-marker))) + (c-mask-paragraph + t nil (lambda () (fill-region-as-paragraph (point-min) (point-max) arg))) + (goto-char start-point)) ;; Always return t. This has the effect that if filling isn't done ;; above, it isn't done at all, and it's therefore effectively ;; disabled in normal code.