emacs-diffs
[Top][All Lists]
Advanced

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

master fb16a6c124 2/2: Improve how change-log-mode fills all-file-name l


From: Lars Ingebrigtsen
Subject: master fb16a6c124 2/2: Improve how change-log-mode fills all-file-name lines
Date: Tue, 25 Jan 2022 17:41:50 -0500 (EST)

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

    Improve how change-log-mode fills all-file-name lines
    
    * lisp/vc/add-log.el (change-log-fill-file-list): New function to
    improve how we fill all-file-name ChangeLog lines (bug#19341).
    (change-log-indent): Use it.
---
 lisp/vc/add-log.el | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/lisp/vc/add-log.el b/lisp/vc/add-log.el
index e9a21825e1..beaad2e835 100644
--- a/lisp/vc/add-log.el
+++ b/lisp/vc/add-log.el
@@ -1068,8 +1068,23 @@ the change log file in another window."
            (insert-before-markers "("))
        (error nil)))))
 
+;; If we're filling a line that has a whole bunch of file names, and
+;; we're still in the file names, then transform this so that it'll
+;; still font-lock properly.
+(defun change-log-fill-file-list ()
+  (save-excursion
+    (unless (bobp)
+      (forward-line -1)
+      (when (looking-at change-log-file-names-re)
+        (goto-char (match-end 0))
+        (while (looking-at "\\=, \\([^ ,:([\n]+\\)")
+          (goto-char (match-end 0)))
+        (when (looking-at ", *\n")
+          (replace-match ":\n *" t t))))))
+
 (defun change-log-indent ()
   (change-log-fill-parenthesized-list)
+  (change-log-fill-file-list)
   (let* ((indent
          (save-excursion
            (beginning-of-line)



reply via email to

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