summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/edebug.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2004-11-28 07:57:10 +0000
committerJuri Linkov <juri@jurta.org>2004-11-28 07:57:10 +0000
commit20c78df04b1907ac56fe2aca70ab52f8e6c7ea52 (patch)
treec609cb444bf2120565adcb7e2ca5822e76612a64 /lisp/emacs-lisp/edebug.el
parentefbbac291e1acd93446a189e86fd754d6d739f6e (diff)
downloademacs-20c78df04b1907ac56fe2aca70ab52f8e6c7ea52.tar.gz
emacs-20c78df04b1907ac56fe2aca70ab52f8e6c7ea52.tar.bz2
emacs-20c78df04b1907ac56fe2aca70ab52f8e6c7ea52.zip
(edebug-set-global-break-condition):
Use `read-expression-history'. Set initial contents only if `edebug-global-break-condition' is non-nil. Set histpos to 1 if initial contents is equal to the last history element. (edebug-set-conditional-breakpoint): Instead of temporarily prepending the current condition to the history, set initial contents to the current condition. Set histpos to 1 if initial contents is equal to the last history element.
Diffstat (limited to 'lisp/emacs-lisp/edebug.el')
-rw-r--r--lisp/emacs-lisp/edebug.el32
1 files changed, 17 insertions, 15 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el
index 82894391fae..91ebda57001 100644
--- a/lisp/emacs-lisp/edebug.el
+++ b/lisp/emacs-lisp/edebug.el
@@ -3240,9 +3240,15 @@ With prefix argument, make it a temporary breakpoint."
(defun edebug-set-global-break-condition (expression)
- (interactive (list (read-minibuffer
- "Global Condition: "
- (format "%s" edebug-global-break-condition))))
+ (interactive
+ (list
+ (let ((initial (and edebug-global-break-condition
+ (format "%s" edebug-global-break-condition))))
+ (read-from-minibuffer
+ "Global Condition: " initial read-expression-map t
+ (if (equal (car read-expression-history) initial)
+ '(read-expression-history . 1)
+ 'read-expression-history)))))
(setq edebug-global-break-condition expression))
@@ -4326,7 +4332,7 @@ With prefix argument, make it a temporary breakpoint."
(interactive
(list
current-prefix-arg
-;; Read condition as follows; getting previous condition is cumbersome:
+ ;; 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))
@@ -4335,17 +4341,13 @@ With prefix argument, make it a temporary breakpoint."
(edebug-breakpoints (car (cdr edebug-data)))
(edebug-break-data (assq index edebug-breakpoints))
(edebug-break-condition (car (cdr edebug-break-data)))
- (edebug-expression-history
- ;; Prepend the current condition, if any.
- (if edebug-break-condition
- (cons edebug-break-condition read-expression-history)
- read-expression-history)))
- (prog1
- (read-from-minibuffer
- "Condition: " nil read-expression-map t
- 'edebug-expression-history)
- (setq read-expression-history edebug-expression-history)
- ))))))
+ (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))
(easy-menu-define edebug-menu edebug-mode-map "Edebug menus" edebug-mode-menus)