]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix overlay-start and overlay-end gv setters
authorMichael Heerdegen <michael_heerdegen@web.de>
Wed, 5 Mar 2025 15:09:30 +0000 (16:09 +0100)
committerEshel Yaron <me@eshelyaron.com>
Wed, 12 Mar 2025 19:00:35 +0000 (20:00 +0100)
This fixes Bug#76730.

* lisp/emacs-lisp/gv.el (overlay-start, overlay-end):
Avoid computing the set value twice.

(cherry picked from commit 0c8d30045bd92a908c0cf2067615fc1b2fbcc33d)

lisp/emacs-lisp/gv.el

index bf3ced9eb4a1e6565f2b572dae77bdac5bdb9ada..a12fd16664457bbfababa6074cd8e6b042a9ee79 100644 (file)
@@ -400,9 +400,11 @@ See also `incf'."
 (gv-define-simple-setter match-data set-match-data 'fix)
 (gv-define-simple-setter overlay-get overlay-put)
 (gv-define-setter overlay-start (store ov)
-  `(progn (move-overlay ,ov ,store (overlay-end ,ov)) ,store))
+  (macroexp-let2 nil store store
+    `(progn (move-overlay ,ov ,store (overlay-end ,ov)) ,store)))
 (gv-define-setter overlay-end (store ov)
-  `(progn (move-overlay ,ov (overlay-start ,ov) ,store) ,store))
+  (macroexp-let2 nil store store
+    `(progn (move-overlay ,ov (overlay-start ,ov) ,store) ,store)))
 (gv-define-simple-setter process-buffer set-process-buffer)
 (gv-define-simple-setter process-filter set-process-filter)
 (gv-define-simple-setter process-sentinel set-process-sentinel)