summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2021-02-14 22:56:08 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2021-02-14 23:03:04 -0500
commit623e534e49ad0a360d1291b917ce97515742a3e9 (patch)
tree791124cc9fd02cc0d106a3be422d08a1ebcb2e8f
parent2594162b23f64dc394e8fe4035ea651ed54661ac (diff)
downloademacs-623e534e49ad0a360d1291b917ce97515742a3e9.tar.gz
* 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`.
-rw-r--r--lisp/emacs-lisp/byte-run.el3
-rw-r--r--lisp/emacs-lisp/gv.el4
2 files changed, 6 insertions, 1 deletions
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))