]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix doc string and interactive spec of cancel-edebug-on-entry
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 20 Oct 2019 08:51:08 +0000 (10:51 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 20 Oct 2019 08:51:08 +0000 (10:51 +0200)
* 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.

lisp/emacs-lisp/edebug.el

index bfec807b5c8c3682141bd7bd5719260c1fd58e51..85c56f43486a7118363f7cb40edfa728324d0594 100644 (file)
@@ -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))