]> git.eshelyaron.com Git - emacs.git/commitdiff
Be more careful about aligning prefix lines in 'visual-wrap-prefix-mode'
authorJim Porter <jporterbugs@gmail.com>
Sat, 17 Aug 2024 20:21:00 +0000 (13:21 -0700)
committerEshel Yaron <me@eshelyaron.com>
Tue, 20 Aug 2024 14:11:09 +0000 (16:11 +0200)
* lisp/visual-wrap.el (visual-wrap--apply-to-line): Ensure we don't
apply the 'min-width' property across multiple lines (bug#72681).

(cherry picked from commit 135da3556bb34bb20a01e02b30bc949c1a45b6cd)

lisp/visual-wrap.el

index cac3bc767b8ba24b72665354d5dd2b6a8d207ca8..16d330c2a9350cd737788ce240058a8724b3881b 100644 (file)
@@ -121,9 +121,15 @@ extra indent = 2
                (next-line-prefix (visual-wrap--content-prefix
                                   first-line-prefix position)))
       (when (numberp next-line-prefix)
+        ;; Set a minimum width for the prefix so it lines up correctly
+        ;; with subsequent lines.  Make sure not to do this past the end
+        ;; of the line though!  (`fill-match-adaptive-prefix' could
+        ;; potentially return a prefix longer than the current line in
+        ;; the buffer.)
         (put-text-property
-         position (+ position (length first-line-prefix)) 'display
-         `(min-width ((,next-line-prefix . width)))))
+         position (min (+ position (length first-line-prefix))
+                       (line-end-position))
+         'display `(min-width ((,next-line-prefix . width)))))
       (setq next-line-prefix (visual-wrap--adjust-prefix next-line-prefix))
       (put-text-property
        position (line-end-position) 'wrap-prefix