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)))