]> git.eshelyaron.com Git - emacs.git/commitdiff
(c-indent-new-comment-line): When splitting an empty one-line C-style
authorAlan Mackenzie <acm@muc.de>
Thu, 15 Feb 2007 22:31:52 +0000 (22:31 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 15 Feb 2007 22:31:52 +0000 (22:31 +0000)
comment, post-position point properly.

lisp/progmodes/cc-cmds.el

index f8375d7fe369bef0ada6d3a74189b82cdaa0982b..4f9e19477383677cbfea0b1c12f9654407017bd5 100644 (file)
@@ -4238,6 +4238,7 @@ If a fill prefix is specified, it overrides all the above."
                                    (c-collect-line-comments c-lit-limits))
                              c-lit-type)))
                     (pos (point))
+                    (start-col (current-column))
                     (comment-text-end
                      (or (and (eq c-lit-type 'c)
                               (save-excursion
@@ -4254,6 +4255,11 @@ If a fill prefix is specified, it overrides all the above."
                 ;;
                 ;; If point is on the 'B' then the line will be
                 ;; broken after "Bla b".
+                ;;
+                ;; If we have an empty comment, /*   */, the next
+                ;; lot of code pushes point to the */.  We fix
+                ;; this by never allowing point to end up to the
+                ;; right of where it started.
                 (while (and (< (current-column) (cdr fill))
                             (not (eolp)))
                   (forward-char 1))
@@ -4276,7 +4282,10 @@ If a fill prefix is specified, it overrides all the above."
                         ((< (point) (+ (car c-lit-limits) 2))
                          (goto-char (+ (car c-lit-limits) 2))))
                   (funcall do-line-break)
-                  (insert-and-inherit (car fill))))
+                  (insert-and-inherit (car fill))
+                  (if (> (current-column) start-col)
+                      (move-to-column start-col)))) ; can this hit the
+                                                    ; middle of a TAB?
             ;; Inside a comment that should be broken.
             (let ((comment-start comment-start)
                   (comment-end comment-end)