emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/speedrect 94c125f60f 68/90: fill-text: use height of re


From: ELPA Syncer
Subject: [elpa] externals/speedrect 94c125f60f 68/90: fill-text: use height of rect as line count limit
Date: Fri, 6 Dec 2024 18:59:16 -0500 (EST)

branch: externals/speedrect
commit 94c125f60faf7e1bc09040c7446d0993fde8cd69
Author: JD Smith <93749+jdtsmith@users.noreply.github.com>
Commit: JD Smith <93749+jdtsmith@users.noreply.github.com>

    fill-text: use height of rect as line count limit
    
    Additional lines will be added below the rect if the wrapped height is
    larger than the initial rectangle's height.
---
 speedrect.el | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/speedrect.el b/speedrect.el
index 61b6936af2..7cd90088c7 100644
--- a/speedrect.el
+++ b/speedrect.el
@@ -236,24 +236,31 @@ each side of the inserted text."
               (t (prefix-numeric-value current-prefix-arg)))))
   (when (<= width 0) (user-error "Fill width must be >0"))
   (with-undo-amalgamate
-    (let ((rect (apply #'delete-extract-rectangle
+    (let ((height (cdr (rectangle-dimensions (point) (mark))))
+         (rect (apply #'delete-extract-rectangle
                       (if (< (point) (mark))
                           (list (point) (mark))
-                        (list (mark) (point))))))
+                        (list (mark) (point)))))
+         filled-height)
       (with-temp-buffer
        (dolist (line rect) (insert line " "))
-       (message "GOT %S" (buffer-string))
        (let ((fill-column (point-max)))
          (fill-region (point-min) (point-max)))
        (let ((fill-column width))
          (fill-region (point-min) (point-max) nil 'nosqueeze))
-       (message "THEN %S" (buffer-string))
        (goto-char (point-min))
        (set-mark (point))
        (goto-char (point-max))
        (beginning-of-line)
+       (setq filled-height (line-number-at-pos))
        (rectangle-forward-char width)
        (speedrect-copy-rectangle-dwim))
+      (when (< height filled-height)
+       (save-excursion
+         (when (> (mark) (point))
+           (goto-char (mark)))
+         (end-of-line)
+         (open-line (- filled-height height))))
       (speedrect-yank-rectangle-dwim))))
 
 (defun speedrect-transient-map-info ()



reply via email to

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