From 23b30327020c3f59691fbb20f061691c7bb15bdd Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sun, 20 Oct 2019 13:40:03 +0200 Subject: New command to clear all breakpoints in a function * doc/lispref/edebug.texi (Breakpoints): Mention it. * lisp/emacs-lisp/edebug.el (edebug-unset-breakpoints): New command and keystroke. --- lisp/emacs-lisp/edebug.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lisp/emacs-lisp') diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 68b2126345f..f59123094ac 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3249,6 +3249,17 @@ With prefix argument, make it a temporary breakpoint." (interactive) (edebug-modify-breakpoint nil)) +(defun edebug-unset-breakpoints () + "Unset all the breakpoints in the current form." + (interactive) + (let* ((name (edebug-form-data-symbol)) + (breakpoints (nth 1 (get name 'edebug)))) + (unless breakpoints + (user-error "There are no breakpoints in %s" name)) + (save-excursion + (dolist (breakpoint breakpoints) + (goto-char (nth 3 breakpoint)) + (edebug-modify-breakpoint nil))))) (defun edebug-set-global-break-condition (expression) "Set `edebug-global-break-condition' to EXPRESSION." @@ -3756,6 +3767,7 @@ be installed in `emacs-lisp-mode-map'.") ;; breakpoints (define-key map "b" 'edebug-set-breakpoint) (define-key map "u" 'edebug-unset-breakpoint) + (define-key map "U" 'edebug-unset-breakpoints) (define-key map "B" 'edebug-next-breakpoint) (define-key map "x" 'edebug-set-conditional-breakpoint) (define-key map "X" 'edebug-set-global-break-condition) -- cgit v1.2.3