From: Stefan Monnier Date: Mon, 15 Feb 2021 03:56:08 +0000 (-0500) Subject: * lisp/emacs-lisp/byte-run.el (compiler-macro): Make it Edebuggable X-Git-Tag: emacs-28.0.90~3722 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=623e534e49ad0a360d1291b917ce97515742a3e9;p=emacs.git * lisp/emacs-lisp/byte-run.el (compiler-macro): Make it Edebuggable * lisp/emacs-lisp/gv.el (gc-expander, gv-setter): Reuse the spec of `compiler-macro`. --- diff --git a/lisp/emacs-lisp/byte-run.el b/lisp/emacs-lisp/byte-run.el index 48a7fe80615..8a22388f1d7 100644 --- a/lisp/emacs-lisp/byte-run.el +++ b/lisp/emacs-lisp/byte-run.el @@ -113,6 +113,9 @@ The return value of this function is not used." (list 'function-put (list 'quote f) ''side-effect-free (list 'quote val)))) +(put 'compiler-macro 'edebug-declaration-spec + '(&or symbolp ("lambda" &define lambda-list lambda-doc def-body))) + (defalias 'byte-run--set-compiler-macro #'(lambda (f args compiler-function) (if (not (eq (car-safe compiler-function) 'lambda)) diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el index 3200b1c3494..cbbed06d7c8 100644 --- a/lisp/emacs-lisp/gv.el +++ b/lisp/emacs-lisp/gv.el @@ -188,7 +188,9 @@ arguments as NAME. DO is a function as defined in `gv-get'." defun-declarations-alist)) ;;;###autoload -(let ((spec '(&or symbolp ("lambda" &define lambda-list def-body)))) +(let ((spec (get 'compiler-macro 'edebug-declaration-spec))) + ;; It so happens that it's the same spec for gv-* as for compiler-macros. + ;; '(&or symbolp ("lambda" &define lambda-list lambda-doc def-body)) (put 'gv-expander 'edebug-declaration-spec spec) (put 'gv-setter 'edebug-declaration-spec spec))