changeset 10544:eeeae6ef626e

(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.
author Richard M. Stallman <rms@gnu.org>
date Wed, 25 Jan 1995 00:41:22 +0000
parents 3b896847b849
children cbd9cef03245
files lisp/progmodes/c-mode.el
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/c-mode.el	Wed Jan 25 00:05:59 1995 +0000
+++ b/lisp/progmodes/c-mode.el	Wed Jan 25 00:41:22 1995 +0000
@@ -447,6 +447,15 @@
 				  (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 @@
 		    (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)))