diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el index ac001af06bd..6c3036da2f2 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -639,6 +639,13 @@ REF must have been previously obtained with `gv-ref'." ;;; Generalized variables. +;; You'd think noone would write `(setf (error ...) ..)' but it +;; appears naturally as the result of macroexpansion of things like +;; (setf (case-exhaustive ...)). +;; We could generalize this to `throw' and `signal', but it seems +;; preferable to wait until there's a concrete need. +(gv-define-expander error (lambda (_do &rest args) `(error . ,args))) + ;; Some Emacs-related place types. (gv-define-simple-setter buffer-file-name set-visited-file-name t) (make-obsolete-generalized-variable