Function: edebug-set-conditional-breakpoint
edebug-set-conditional-breakpoint is an interactive and byte-compiled
function defined in edebug.el.gz.
Signature
(edebug-set-conditional-breakpoint ARG CONDITION)
Documentation
Set a conditional breakpoint at nearest sexp.
The condition is evaluated in the outside context. With prefix argument, make it a temporary breakpoint.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
;;; Emacs version specific code
(defun edebug-set-conditional-breakpoint (arg condition)
"Set a conditional breakpoint at nearest sexp.
The condition is evaluated in the outside context.
With prefix argument, make it a temporary breakpoint."
;; (interactive "P\nxCondition: ")
(interactive
(list
current-prefix-arg
;; Read condition as follows; getting previous condition is cumbersome:
(let ((edebug-stop-point (edebug-find-stop-point)))
(if edebug-stop-point
(let* ((edebug-def-name (car edebug-stop-point))
(index (cdr edebug-stop-point))
(edebug-data (edebug-get-edebug-or-ghost edebug-def-name))
(edebug-breakpoints (car (cdr edebug-data)))
(edebug-break-data (assq index edebug-breakpoints))
(edebug-break-condition (car (cdr edebug-break-data)))
(initial (and edebug-break-condition
(format "%s" edebug-break-condition))))
(read-from-minibuffer
"Condition: " initial read-expression-map t
(if (equal (car read-expression-history) initial)
'(read-expression-history . 1)
'read-expression-history)))))))
(edebug-modify-breakpoint t condition arg))