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

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

[nongnu] elpa/racket-mode 8c92c9f4f7: racket-hash-lang: Preserve point w


From: ELPA Syncer
Subject: [nongnu] elpa/racket-mode 8c92c9f4f7: racket-hash-lang: Preserve point when wrapping region; closes #686
Date: Thu, 7 Dec 2023 13:00:42 -0500 (EST)

branch: elpa/racket-mode
commit 8c92c9f4f7227075b89ddb256ccba8c944ae5fe1
Author: Greg Hendershott <git@greghendershott.com>
Commit: Greg Hendershott <git@greghendershott.com>

    racket-hash-lang: Preserve point when wrapping region; closes #686
---
 racket-hash-lang.el | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/racket-hash-lang.el b/racket-hash-lang.el
index eb5597bbe3..0bae3aee11 100644
--- a/racket-hash-lang.el
+++ b/racket-hash-lang.el
@@ -767,19 +767,21 @@ You may customize this default initialization in
   "A value for `post-self-insert-hook'."
   (pcase (racket--hash-lang-lookup-pair last-command-event (point))
     (`(,open . ,close)
-     (if (use-region-p)
-         (if (<= (point) (mark))
-             (progn
-               (goto-char (mark))
-               (insert close))
-           ;; Delete open already inserted after region
-           (delete-char (- (length open)))
-           (insert close)
-           (save-excursion
-             (goto-char (mark))
-             (insert open)))
-       (save-excursion
-         (insert close))))))
+     (cond ((not (use-region-p))
+            (save-excursion
+              (insert close)))
+           ((< (point) (mark))
+            (save-excursion
+              (goto-char (mark))
+              (insert close))
+            (goto-char (1- (point))))
+           ((< (mark) (point))
+            ;; Delete open already inserted after region.
+            (delete-char (- (length open)))
+            (insert close)
+            (save-excursion
+              (goto-char (mark))
+              (insert open)))))))
 
 (defun racket-hash-lang-delete-backward-char ()
   "Delete previous character, and possibly paired delimiters.



reply via email to

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