emacs-diffs
[Top][All Lists]
Advanced

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

master 0aec3117b5f: Don't open a new line for long defuns being inserted


From: Po Lu
Subject: master 0aec3117b5f: Don't open a new line for long defuns being inserted at column 0
Date: Mon, 29 Jan 2024 02:46:57 -0500 (EST)

branch: master
commit 0aec3117b5f9632d85401b6a4c7e6d99dcd21db0
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Don't open a new line for long defuns being inserted at column 0
    
    * lisp/vc/log-edit.el (log-edit--insert-filled-defuns): Don't
    open a new line for long defuns at column 0.
    
    * test/lisp/vc/log-edit-tests.el
    (log-edit-fill-entry-space-substitution): Adjust expected
    results to match change.
    (log-edit-fill-entry-initial-wrapping): New test.
---
 lisp/vc/log-edit.el            |  6 ++++--
 test/lisp/vc/log-edit-tests.el | 41 +++++++++++++++++++++++++----------------
 2 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el
index 644ea691a76..1f766eea455 100644
--- a/lisp/vc/log-edit.el
+++ b/lisp/vc/log-edit.el
@@ -588,9 +588,11 @@ the \\[vc-prefix-map] prefix for VC commands, for example).
       (while func-names
         (setq name (car func-names))
         (setq func-names (cdr func-names))
-        ;; If inserting `name' in at the current column would overflow
-        ;; the fill column, place it on its own line.
+        ;; If inserting `name' after preexisting text in the first
+        ;; line would overflow the fill column, place it on its own
+        ;; line.
         (if (and first-line
+                 (> (current-column) 0)
                  (> (+ (current-column)
                        (string-width name)
                        ;; If this be the last name, the column must be
diff --git a/test/lisp/vc/log-edit-tests.el b/test/lisp/vc/log-edit-tests.el
index fe0248d05f7..8373156587d 100644
--- a/test/lisp/vc/log-edit-tests.el
+++ b/test/lisp/vc/log-edit-tests.el
@@ -236,13 +236,11 @@ failures during
 test.
 (sfnt_table_names):
 Add prep.
-
 (sfnt_transform_coordinates):
 Allow applying
 offsets during
 coordinate
 transform.
-
 (sfnt_decompose_compound_glyph):
 Defer offset
 computation until
@@ -251,68 +249,54 @@ compound glyph is
 loaded, then apply
 it during the
 transform process.
-
 (sfnt_multiply_divide):
 Make available
 everywhere.
 Implement on 64 bit
 systems.
-
 (sfnt_multiply_divide_signed):
 New function.
 (sfnt_mul_fixed):
 Fix division
 overflow.
-
 (sfnt_curve_to_and_build_1)
 (sfnt_build_glyph_outline):
 Remove outdated
 comment.
-
 (sfnt_build_outline_edges):
 Fix coding style.
-
 (sfnt_lookup_glyph_metrics):
 Allow looking up
 metrics without
 scaling.
-
 (struct sfnt_cvt_table):
 Fix type of cvt
 values.
-
 (struct sfnt_prep_table):
 New structure.
-
 (sfnt_read_cvt_table):
 Read cvt values in
 terms of fwords, not
 longs (as Apple's
 doc seems to say).
-
 (sfnt_read_fpgm_table):
 Fix memory
 allocation for font
 program table.
-
 (sfnt_read_prep_table):
 New function.
-
 (struct sfnt_interpreter_zone):
 New structure.
-
 (struct sfnt_interpreter_graphics_state):
 New fields
 `project', `move',
 `vector_dot_product'.
 Rename to
 `sfnt_graphics_state'.
-
 (struct sfnt_interpreter)
 (sfnt_mul_f26dot6):
 Stop doing rounding
 division.
-
 (sfnt_init_graphics_state)
 (sfnt_make_interpreter)
 (MOVE, SSW, RAW, SDS)
@@ -335,4 +319,29 @@ division.
       (let ((fill-column 20)) (log-edit-fill-entry))
       (should (equal (buffer-string) wanted)))))
 
+(ert-deftest log-edit-fill-entry-initial-wrapping ()
+  ;; This test verifies that a newline is inserted before a defun
+  ;; itself longer than the fill column when such a defun is being
+  ;; inserted after a file name, and not otherwise.
+  (let (string wanted)
+    (setq string "
+* src/sfnt.c (long_entry_1): This entry should be placed on a
+new line.
+(but_this_entry_should_not): With the prose displaced to the
+next line instead."
+          wanted "
+* src/sfnt.c 
+(long_entry_1): This
+entry should be
+placed on a new
+line.
+(but_this_entry_should_not):
+With the prose
+displaced to the
+next line instead.")
+    (with-temp-buffer
+      (insert string)
+      (let ((fill-column 20)) (log-edit-fill-entry))
+      (should (equal (buffer-string) wanted)))))
+
 ;;; log-edit-tests.el ends here



reply via email to

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