emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master cfaecdb: Fix doc string and interactive spec of can


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master cfaecdb: Fix doc string and interactive spec of cancel-edebug-on-entry
Date: Sun, 20 Oct 2019 04:51:27 -0400 (EDT)

branch: master
commit cfaecdb293cbe19536232bcef8ead9f8e98af2ff
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    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.
---
 lisp/emacs-lisp/edebug.el | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index bfec807..85c56f4 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))
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]