]> git.eshelyaron.com Git - emacs.git/commitdiff
Move `setf substring` to cl-lib since it relies on it (bug#60102)
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 4 Sep 2023 20:39:55 +0000 (16:39 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 4 Sep 2023 20:39:55 +0000 (16:39 -0400)
* lisp/emacs-lisp/cl-lib.el (substring): Move gv-expander here...
* lisp/emacs-lisp/gv.el (substring): ...from here.

lisp/emacs-lisp/cl-lib.el
lisp/emacs-lisp/gv.el

index 7fee780a735eb21685eeaffec45180e9ff260756..83396dabc1a647b8e9347df46f1bb5ff188bf89d 100644 (file)
@@ -170,6 +170,17 @@ to an element already in the list stored in PLACE.
          val
          (and (< end (length str)) (substring str end))))
 
+(gv-define-expander substring
+  (lambda (do place from &optional to)
+    (gv-letplace (getter setter) place
+      (macroexp-let2* nil ((start from) (end to))
+        (funcall do `(substring ,getter ,start ,end)
+                 (lambda (v)
+                   (macroexp-let2 nil v v
+                     `(progn
+                        ,(funcall setter `(cl--set-substring
+                                           ,getter ,start ,end ,v))
+                        ,v))))))))
 
 ;;; Blocks and exits.
 
index 7adf92c11e086d0a487642af7eb5972f17ecd459..5d31253fe2d85a17cfab33ce9cae8576bc8acae8 100644 (file)
@@ -821,17 +821,5 @@ REF must have been previously obtained with `gv-ref'."
                      ((eq ,getter ,val) ,(funcall setter `(not ,val))))))))))
 (make-obsolete-generalized-variable 'eq nil "29.1")
 
-(gv-define-expander substring
-  (lambda (do place from &optional to)
-    (gv-letplace (getter setter) place
-      (macroexp-let2* nil ((start from) (end to))
-        (funcall do `(substring ,getter ,start ,end)
-                 (lambda (v)
-                   (macroexp-let2 nil v v
-                     `(progn
-                        ,(funcall setter `(cl--set-substring
-                                           ,getter ,start ,end ,v))
-                        ,v))))))))
-
 (provide 'gv)
 ;;; gv.el ends here