1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-11 16:40:45 -08:00

Edebug: Make it possible to debug gv-expanders in declare

Arrange for declarations to be able to specify their own specs via
the `edebug-declaration-spec` property.

* lisp/emacs-lisp/edebug.el: (edebug--get-declare-spec): New function.
(def-declarations): New spec element.
(defun, defmacro): Use it in their spec.

* lisp/emacs-lisp/gv.el (gv-expander, gv-setter):
Set `edebug-declaration-spec`.

* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-gv-expander): New test.

* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
(edebug-test-code-use-gv-expander): New test case.
This commit is contained in:
Stefan Monnier 2021-02-12 22:53:38 -05:00
parent 626911b704
commit ca0842347e
4 changed files with 30 additions and 4 deletions

View file

@ -147,5 +147,11 @@
;; of the same name.
(message "Hi %s" (gate 7))))
(defun edebug-test-code-use-gv-expander (x)
(declare (gv-expander
(lambda (do)
(funcall do `(car ,x) (lambda (v) `(setcar ,x ,v))))))
(car x))
(provide 'edebug-test-code)
;;; edebug-test-code.el ends here