changeset 47527:7d7d818ed852

(makefile-fill-paragraph): Find comment boundaries before filling.
author Richard M. Stallman <rms@gnu.org>
date Wed, 18 Sep 2002 16:00:29 +0000
parents 0055228ad95f
children 227850832281
files lisp/progmodes/make-mode.el
diffstat 1 files changed, 22 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/make-mode.el	Wed Sep 18 15:57:39 2002 +0000
+++ b/lisp/progmodes/make-mode.el	Wed Sep 18 16:00:29 2002 +0000
@@ -1,6 +1,6 @@
 ;;; make-mode.el --- makefile editing commands for Emacs
 
-;; Copyright (C) 1992,94,99,2000,2001  Free Software Foundation, Inc.
+;; Copyright (C) 1992,94,99,2000,2001, 2002  Free Software Foundation, Inc.
 
 ;; Author: Thomas Neumann <tom@smart.bo.open.de>
 ;;	Eric S. Raymond <esr@snark.thyrsus.com>
@@ -1011,12 +1011,30 @@
     (beginning-of-line)
     (cond
      ((looking-at "^#+ ")
-      ;; Found a comment.  Set the fill prefix and then fill.
+      ;; Found a comment.  Set the fill prefix, and find the paragraph
+      ;; boundaries by searching for lines that look like comment-only
+      ;; lines.
       (let ((fill-prefix (buffer-substring-no-properties (match-beginning 0)
 							 (match-end 0)))
 	    (fill-paragraph-function nil))
-	(fill-paragraph nil)
-	t))
+	(save-excursion
+	  (save-restriction
+	    (narrow-to-region
+	     ;; Search backwards.
+	     (save-excursion
+	       (while (and (zerop (forward-line -1))
+			   (looking-at "^#")))
+	       ;; We may have gone too far.  Go forward again.
+	       (or (looking-at "^#")
+		   (forward-line 1))
+	       (point))
+	     ;; Search forwards.
+	     (save-excursion
+	       (while (looking-at "^#")
+		 (forward-line))
+	       (point)))
+	    (fill-paragraph nil)
+	    t))))
 
      ;; Must look for backslashed-region before looking for variable
      ;; assignment.