Unset the breakpoint (if any) at the stop point at or after
point (@code{edebug-unset-breakpoint}).
+@item U
+Unset any breakpoints in the current form
+(@code{edebug-unset-breakpoints}).
+
@item x @var{condition} @key{RET}
Set a conditional breakpoint which stops the program only if
evaluating @var{condition} produces a non-@code{nil} value
** Edebug
++++
+*** New command 'edebug-unset-breakpoints'
+To clear all breakpoints in the current form, the 'U' command in
+'edebug-mode', or 'M-x edebug-unset-breakpoints' can be used.
+
---
*** Re-instrumenting a function with Edebug will now try to preserve
previously-set breakpoints. If the code has changed substantially,
(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."
;; 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)