Function: edebug--eval-defun
edebug--eval-defun is a byte-compiled function defined in
edebug.el.gz.
Signature
(edebug--eval-defun ORIG-FUN EDEBUG-IT)
Documentation
Setting option edebug-all-defs(var)/edebug-all-defs(fun) to a non-nil value reverses the meaning
of the prefix argument. Code is then instrumented when this function is
invoked without a prefix argument.
If acting on a defun for FUNCTION, and the function was instrumented,
Edebug: FUNCTION is printed in the minibuffer. If not instrumented,
just FUNCTION is printed.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
(defvar edebug-result) ; The result of the function call returned by body.
;; We should somehow arrange to be able to do this
;; without actually replacing the eval-defun command.
(defun edebug--eval-defun (orig-fun edebug-it)
"Setting option `edebug-all-defs' to a non-nil value reverses the meaning
of the prefix argument. Code is then instrumented when this function is
invoked without a prefix argument.
If acting on a `defun' for FUNCTION, and the function was instrumented,
`Edebug: FUNCTION' is printed in the minibuffer. If not instrumented,
just FUNCTION is printed."
;; Re-install our advice, in case `debug' re-bound `load-read-function' to
;; its default value.
(add-function :around load-read-function #'edebug--read)
(let* ((edebug-all-forms (not (eq (not edebug-it) (not edebug-all-defs))))
(edebug-all-defs edebug-all-forms))
(funcall orig-fun nil)))