From 29869734a590d0b400d5fbdb4b4867e0a14949e4 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 25 Jan 1995 00:41:22 +0000 Subject: [PATCH] (c-forward-conditional): If an apparent conditional is not really a conditional, skip past it. (c-fill-paragraph): If comment terminator is on a separate line, don't include that line in the filling. --- lisp/progmodes/c-mode.el | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/c-mode.el b/lisp/progmodes/c-mode.el index c59efbfd821..cb993c5c462 100644 --- a/lisp/progmodes/c-mode.el +++ b/lisp/progmodes/c-mode.el @@ -447,6 +447,15 @@ preserving the comment indentation or line-starting decorations." (search-forward "*/" nil 'move) (forward-line 1) (point))) + (goto-char (point-max)) + (forward-line -1) + ;; And comment terminator was on a separate line before, + ;; keep it that way. + ;; This also avoids another problem: + ;; if the fill-prefix ends in a *, it could eat up + ;; the * of the comment terminator. + (if (looking-at "[ \t]*\\*/") + (narrow-to-region (point-min) (point))) (fill-paragraph arg) (save-excursion ;; Delete the chars we inserted to avoid clobbering @@ -1504,7 +1513,9 @@ move backward across a preprocessor conditional." (if forward (forward-line 1)) ;; If this line exits a level of conditional, exit inner loop. (if (< depth 0) - (setq found (point))))))) + (setq found (point)))) + ;; If the line is not really a conditional, skip past it. + (if forward (end-of-line))))) (or found (error "No containing preprocessor conditional")) (goto-char (setq new found))) -- 2.39.5