changeset 58602:2864ad32d866

(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.
author Juri Linkov <juri@jurta.org>
date Sun, 28 Nov 2004 07:56:25 +0000
parents 4663989dd34a
children f8abf4233022
files lisp/emacs-lisp/edebug.el
diffstat 1 files changed, 17 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/emacs-lisp/edebug.el	Sun Nov 28 07:56:01 2004 +0000
+++ b/lisp/emacs-lisp/edebug.el	Sun Nov 28 07:56:25 2004 +0000
@@ -3240,9 +3240,15 @@
 
 
 (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 @@
   (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 @@
 		 (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)