emacs-diffs
[Top][All Lists]
Advanced

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

master 8f5d9d0abd: Fix a recent Lisp mode filling test failure


From: Lars Ingebrigtsen
Subject: master 8f5d9d0abd: Fix a recent Lisp mode filling test failure
Date: Sun, 26 Jun 2022 10:31:49 -0400 (EDT)

branch: master
commit 8f5d9d0abd0f5078646bc85c7a4d480b32057a47
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix a recent Lisp mode filling test failure
    
    * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Restore the
    "fill first line separately" logic.
---
 lisp/emacs-lisp/lisp-mode.el | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 781c80fd5a..6d5391d1e9 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -1426,6 +1426,9 @@ and initial semicolons."
       ;; a comment: Point is on a program line; we are interested
       ;; particularly in docstring lines.
       ;;
+      ;; FIXME: The below bindings are probably mostly irrelevant
+      ;; since we're now narrowing to a region before filling.
+      ;;
       ;; We bind `paragraph-start' and `paragraph-separate' temporarily.  They
       ;; are buffer-local, but we avoid changing them so that they can be set
       ;; to make `forward-paragraph' and friends do something the user wants.
@@ -1485,6 +1488,15 @@ and initial semicolons."
                                       (1- (point)))))
                 ;; Move back to where we were.
                 (goto-char start)
+                ;; We should fill the first line of a string
+                ;; separately (since it's usually a doc string).
+                (if (= (line-number-at-pos) 1)
+                    (narrow-to-region (line-beginning-position)
+                                      (line-beginning-position 2))
+                  (save-excursion
+                    (goto-char (point-min))
+                    (forward-line 1)
+                    (narrow-to-region (point) (point-max))))
                (fill-paragraph justify)))))))
   ;; Never return nil.
   t)



reply via email to

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