]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/gv.el (error): Allow it as a place
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 14 Dec 2020 21:16:01 +0000 (16:16 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 14 Dec 2020 21:16:01 +0000 (16:16 -0500)
lisp/emacs-lisp/gv.el

index 5470b8532fc380bde5f5fa325ed67ce20ec671bb..7ee5c47d11658c1f21c8270bc2eb6b284b3d0283 100644 (file)
@@ -504,6 +504,11 @@ The return value is the last VAL in the list.
              (funcall do `(funcall (car ,gv))
                       (lambda (v) `(funcall (cdr ,gv) ,v))))))))
 
+(put 'error 'gv-expander
+     (lambda (do &rest args)
+       (funcall do `(error . ,args)
+                (lambda (v) `(progn ,v (error . ,args))))))
+
 (defmacro gv-synthetic-place (getter setter)
   "Special place described by its setter and getter.
 GETTER and SETTER (typically obtained via `gv-letplace') get and