From: Lars Ingebrigtsen Date: Sun, 20 Oct 2019 08:51:08 +0000 (+0200) Subject: Fix doc string and interactive spec of cancel-edebug-on-entry X-Git-Tag: emacs-27.0.90~972 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cfaecdb293cbe19536232bcef8ead9f8e98af2ff;p=emacs.git Fix doc string and interactive spec of cancel-edebug-on-entry * lisp/emacs-lisp/edebug.el (cancel-edebug-on-entry): Add doc string and make the interactive spec complete over functions that have the spec (bug#10806). (edebug-cancel-edebug-on-entry): Add alias for discoverability. (edebug-on-entry): Clarify what this command does. --- diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index bfec807b5c8..85c56f43486 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3419,14 +3419,37 @@ instrumented. Then it does `edebug-on-entry' and switches to `go' mode." (defun edebug-on-entry (function &optional flag) "Cause Edebug to stop when FUNCTION is called. + +FUNCTION needs to be edebug-instrumented for this to work; if +FUNCTION isn't, this function has no effect. + With prefix argument, make this temporary so it is automatically canceled the first time the function is entered." (interactive "aEdebug on entry to: \nP") ;; Could store this in the edebug data instead. (put function 'edebug-on-entry (if flag 'temp t))) +(defalias 'edebug-cancel-edebug-on-entry #'cancel-edebug-on-entry) + (defun cancel-edebug-on-entry (function) - (interactive "aEdebug on entry to: ") + "Cause Edebug to not stop when FUNCTION is called. +The removes the effect of `edebug-on-entry'." + (interactive + (list (let ((name (completing-read + "Cancel edebug on entry to: " + (let ((functions nil)) + (mapatoms + (lambda (symbol) + (when (and (fboundp symbol) + (get symbol 'edebug-on-entry)) + (push symbol functions))) + obarray) + (unless functions + (error "No functions have `edebug-on-entry'.")) + functions)))) + (when (and name + (not (equal name ""))) + (intern name))))) (put function 'edebug-on-entry nil))