]> git.eshelyaron.com Git - emacs.git/commitdiff
cc-cmds.el (c-mask-paragraph, c-fill-paragraph): Fix for the case that a
authorAlan Mackenzie <acm@muc.de>
Fri, 6 Aug 2010 19:48:59 +0000 (19:48 +0000)
committerAlan Mackenzie <acm@muc.de>
Fri, 6 Aug 2010 19:48:59 +0000 (19:48 +0000)
C style comment has its delimiters alone on their respective lines.

lisp/ChangeLog
lisp/progmodes/cc-cmds.el

index b5d7984c04f85d5df751d9935cd0aa76948e3ed9..2cfe12d00190d7485cf6f1a5442f1de56fa2cbd1 100644 (file)
@@ -1,3 +1,9 @@
+2010-08-06  Alan Mackenzie  <bug-cc-mode@gnu.org>
+
+       * 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  <michael.albinus@gmx.de>
 
        * net/tramp.el (tramp-handle-start-file-process ): Set connection
index 6d4479cb20414dd6030375f1cdc7b4daff542020..02fc3950a34c264f1ccf869650c8dd84a65e8a0c 100644 (file)
@@ -4001,6 +4001,14 @@ command to conveniently insert and align the necessary backslashes."
                                       (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 @@ command to conveniently insert and align the necessary backslashes."
                              (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 @@ Optional prefix ARG means justify paragraph as well."
   (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.