emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: makefile-mode makefile-fill-paragraph


From: Stefan Monnier
Subject: Re: makefile-mode makefile-fill-paragraph
Date: Thu, 25 May 2006 10:11:53 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

> Hello, M-q in comments in makefile-mode currently destroys spaces
> after the comment start.  

Does the patch below fix it as well?


        Stefan


--- orig/lisp/progmodes/make-mode.el
+++ mod/lisp/progmodes/make-mode.el
@@ -1304,29 +1304,8 @@
     (beginning-of-line)
     (cond
      ((looking-at "^#+")
-      ;; 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 (match-string-no-properties 0))
-           (fill-paragraph-function nil))
-       (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))))
+      ;; Found a comment.  Return nil to let normal filling take place.
+      nil)
 
      ;; Must look for backslashed-region before looking for variable
      ;; assignment.
@@ -1355,7 +1334,9 @@
          (makefile-backslash-region (point-min) (point-max) nil)
          (goto-char (point-max))
          (if (< (skip-chars-backward "\n") 0)
-             (delete-region (point) (point-max))))))
+             (delete-region (point) (point-max)))))
+      ;; Return non-nil to indicate it's been filled.
+      t)
 
      ((looking-at makefile-macroassign-regex)
       ;; Have a macro assign.  Fill just this line, and then backslash
@@ -1364,10 +1345,13 @@
        (narrow-to-region (point) (line-beginning-position 2))
        (let ((fill-paragraph-function nil))
          (fill-paragraph nil))
-       (makefile-backslash-region (point-min) (point-max) nil)))))
-
-  ;; Always return non-nil so we don't fill anything else.
-  t)
+       (makefile-backslash-region (point-min) (point-max) nil))
+      ;; Return non-nil to indicate it's been filled.
+      t)
+
+     (t
+      ;; Return non-nil so we don't fill anything else.
+      t))))
 
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]