]> git.eshelyaron.com Git - emacs.git/commit
Create new Edebug spec for docstrings and use it in closures
authorGemini Lasswell <gazally@runbox.com>
Fri, 6 Oct 2017 18:30:22 +0000 (11:30 -0700)
committerGemini Lasswell <gazally@runbox.com>
Fri, 6 Oct 2017 18:31:12 +0000 (11:31 -0700)
commit238fbcb20e9281fc44f4029f52cf31e0dc5b6281
tree0d9c6e9429fbb8fe43548135b1cb9b84db2161bd
parent2d58d513290f08819699e933bb0fbe88362c2131
Create new Edebug spec for docstrings and use it in closures

Since (:documentation FORM) can be used to create a docstring
when lexical-binding is on, allow for that possibility in Edebug
specs (bug#24773).
* lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
called lambda-doc and modify the Edebug specs for defun and
defmacro to use it.
(edebug-instrument-function): Check for generic functions first,
to fix bug where edebug-step-in didn't work on methods now that
cl-defgeneric has an Edebug spec.
* lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
(bug#27747).
(cl-defmethod): Use lambda-doc in Edebug spec.
* lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
cl-declarations-or-string to use lambda-doc, and modify Edebug
spec for cl-lambda-expr to use cl-declarations-or-string.
* lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
use lambda-doc, as well as &define and def-body which are
necessary for using Edebug on code wrapped by lambda.
* lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
Edebug specs.
lisp/emacs-lisp/cl-generic.el
lisp/emacs-lisp/cl-macs.el
lisp/emacs-lisp/edebug.el
lisp/emacs-lisp/generator.el
lisp/emacs-lisp/pcase.el
lisp/subr.el