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

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

[elpa] externals/speedrect a9086d65e5 45/90: speedrect-right-char: corre


From: ELPA Syncer
Subject: [elpa] externals/speedrect a9086d65e5 45/90: speedrect-right-char: correct rectangle-right logic
Date: Fri, 6 Dec 2024 18:59:13 -0500 (EST)

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

    speedrect-right-char: correct rectangle-right logic
---
 speedrect.el | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/speedrect.el b/speedrect.el
index b74bbf2d37..e3fe5d24aa 100644
--- a/speedrect.el
+++ b/speedrect.el
@@ -3,7 +3,7 @@
 
 ;; Author: JD Smith
 ;; Created: 2023
-;; Version: 0.2.1
+;; Version: 0.2.2
 ;; Package-Requires: ((emacs "25.1") (compat "29.1.4.0"))
 ;; Homepage: https://github.com/jdtsmith/speedrect
 ;; Keywords: convenience
@@ -75,16 +75,20 @@ rect and exit `rectangle-mark-mode'."
   (interactive)
   (set-mark (point)))
 
+(defsubst speedrect-right-char (columns)
+  "Move COLUMNS right unless COLUMNS<0 and at left edge."
+  (unless (and (eq (current-column) 0) (< columns 0))
+    (rectangle-right-char columns)))
+
 (defun speedrect-shift-right (columns)
   "Shift the current speedrect by COLUMNS (negative to the left, default 1).
 Note that point and mark will not move beyond the end of text on their lines."
   (interactive "P")
-  (let ((p (point))
-       (columns (or columns 1)))
-    (rectangle-right-char columns)
-    (set-mark (point))
-    (goto-char p)
-    (rectangle-right-char columns)))
+  (let ((columns (or columns 1)))
+    (speedrect-right-char columns)
+    (exchange-point-and-mark)
+    (speedrect-right-char columns)
+    (exchange-point-and-mark)))
 
 (defun speedrect-shift-right-fast (columns)
   "Shift the current speedrect left by COLUMNS (default 5)."



reply via email to

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