Function: helpful--toggle-edebug
helpful--toggle-edebug is a byte-compiled function defined in
helpful.el.
Signature
(helpful--toggle-edebug SYM)
Documentation
Enable edebug when function SYM is called, or disable if already enabled.
Source Code
;; Defined in ~/.emacs.d/elpa/helpful-20250408.334/helpful.el
(defun helpful--toggle-edebug (sym)
"Enable edebug when function SYM is called,
or disable if already enabled."
(-let ((should-edebug (not (helpful--edebug-p sym)))
((buf pos created) (helpful--definition sym t)))
(if (and buf pos)
(progn
(with-current-buffer buf
(save-excursion
(save-restriction
(widen)
(goto-char pos)
(let* ((edebug-all-forms should-edebug)
(edebug-all-defs should-edebug)
(form (edebug-read-top-level-form)))
;; Based on `edebug-eval-defun'.
(eval (eval-sexp-add-defvars form) lexical-binding)))))
;; If we're enabling edebug, we need the source buffer to
;; exist. Otherwise, we can clean it up.
(when (and created (not should-edebug))
(kill-buffer buf)))
(user-error "Could not find source for edebug"))))