]> git.eshelyaron.com Git - emacs.git/commitdiff
(lisp-fill-paragraph): When filling a comment,
authorKarl Heuer <kwzh@gnu.org>
Wed, 21 Feb 1996 21:26:11 +0000 (21:26 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 21 Feb 1996 21:26:11 +0000 (21:26 +0000)
find paragraph bounds by hand, and pass the SQUEEZE-AFTER arg
to fill-region-as-paragraph.

lisp/emacs-lisp/lisp-mode.el

index ceed10f5af6b59fc493a0657b048db561b39df14..df288f9339f079fd3481b0eb1aab79b70878f963 100644 (file)
@@ -740,28 +740,42 @@ and initial semicolons."
        (fill-paragraph justify)
 
       ;; Narrow to include only the comment, and then fill the region.
-      (save-restriction
-       (beginning-of-line)
-       (narrow-to-region
-        ;; Find the first line we should include in the region to fill.
-        (save-excursion
-          (while (and (zerop (forward-line -1))
-                      (looking-at "^[ \t]*;")))
-          ;; We may have gone too far.  Go forward again.
-          (or (looking-at ".*;")
-              (forward-line 1))
-          (point))
-        ;; Find the beginning of the first line past the region to fill.
-        (save-excursion
-          (while (progn (forward-line 1)
+      (save-excursion
+       (save-restriction
+         (beginning-of-line)
+         (narrow-to-region
+          ;; Find the first line we should include in the region to fill.
+          (save-excursion
+            (while (and (zerop (forward-line -1))
                         (looking-at "^[ \t]*;")))
-          (point)))
-
-       ;; Lines with only semicolons on them can be paragraph boundaries.
-       (let ((paragraph-start (concat paragraph-start "\\|[ \t;]*$"))
-             (paragraph-separate (concat paragraph-start "\\|[ \t;]*$"))
-             (fill-prefix comment-fill-prefix))
-         (fill-paragraph justify))))
+            ;; We may have gone too far.  Go forward again.
+            (or (looking-at ".*;")
+                (forward-line 1))
+            (point))
+          ;; Find the beginning of the first line past the region to fill.
+          (save-excursion
+            (while (progn (forward-line 1)
+                          (looking-at "^[ \t]*;")))
+            (point)))
+
+         ;; Lines with only semicolons on them can be paragraph boundaries.
+         (let* ((paragraph-start (concat paragraph-start "\\|[ \t;]*$"))
+                (paragraph-separate (concat paragraph-start "\\|[ \t;]*$"))
+                (paragraph-ignore-fill-prefix nil)
+                (fill-prefix comment-fill-prefix)
+                (end (progn
+                       (forward-paragraph)
+                       (or (bolp) (newline 1))
+                       (point)))
+                (beg (progn (backward-paragraph) (point))))
+           (fill-region-as-paragraph beg end
+                                     justify nil
+                                     (save-excursion
+                                       (goto-char beg)
+                                       (if (looking-at fill-prefix)
+                                           nil
+                                         (re-search-forward comment-start-skip)
+                                         (point))))))))
     t))
 
 \f