]> git.eshelyaron.com Git - emacs.git/commitdiff
Handle filling of indented ChangeLog function entries
authorNoam Postavsky <npostavs@gmail.com>
Sat, 4 Apr 2020 16:28:23 +0000 (12:28 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Sun, 5 Apr 2020 00:08:02 +0000 (20:08 -0400)
* lisp/vc/log-edit.el (log-edit-fill-entry): Relax regexp a bit to
recognize function entries with leading blanks.
* test/lisp/vc/log-edit-tests.el: New test.

lisp/vc/log-edit.el
test/lisp/vc/log-edit-tests.el

index d5d46147cf7f2ccd233c922ea264979348d5c4b0..906f9a942059051401f4014679f963c19fa7e627 100644 (file)
@@ -529,7 +529,7 @@ according to `fill-column'."
          (and (< beg end)
               (re-search-forward
                (concat "\\(?1:" change-log-unindented-file-names-re
-                       "\\)\\|^\\(?1:\\)(")
+                       "\\)\\|^\\(?1:\\)[[:blank:]]*(")
                end t)
               (copy-marker (match-end 1)))
          ;; Fill prose between log entries.
index bb3f65823254ced72594fbba1862bc1d374b70f3..86a40a97b1946fc4edd1635d63d9a55c914aca41 100644 (file)
@@ -74,6 +74,31 @@ couple of sentences.  Long enough to be
 filled for several lines.
 \(fun9): Etc."))))
 
+(ert-deftest log-edit-fill-entry-indented-func-entries ()
+  ;; Indenting function entries is a typical mistake caused by using a
+  ;; misconfigured or non-ChangeLog specific fill function.
+  (with-temp-buffer
+    (insert "\
+* dir/file.ext (fun1):
+  (fun2):
+  (fun3):
+* file2.txt (fun4):
+  (fun5):
+  (fun6):
+  (fun7): Some prose.
+  (fun8): A longer description of a complicated change.\
+  Spread over a couple of sentences.\
+  Long enough to be filled for several lines.
+  (fun9): Etc.")
+    (goto-char (point-min))
+    (let ((fill-column 72)) (log-edit-fill-entry))
+    (should (equal (buffer-string) "\
+* dir/file.ext (fun1, fun2, fun3):
+* file2.txt (fun4, fun5, fun6, fun7): Some prose.
+\(fun8): A longer description of a complicated change.  Spread over a
+couple of sentences.  Long enough to be filled for several lines.
+\(fun9): Etc."))))
+
 (ert-deftest log-edit-fill-entry-trailing-prose ()
   (with-temp-buffer
     (insert "\