From fbc232f4e2e0e7581c57316999623a82f2b5b0ce Mon Sep 17 00:00:00 2001 From: "J.D. Smith" Date: Thu, 22 Feb 2007 20:18:17 +0000 Subject: [PATCH] (idlwave-shell-set-bp): Fix setting condition/count on disabled BPs. --- lisp/progmodes/idlw-shell.el | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index ecfdd035c19..aa2d1b32d10 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el @@ -3545,22 +3545,21 @@ specified. If NO-SHOW is non-nil, don't do any updating." (idlwave-shell-module-source-query (idlwave-shell-bp-get bp 'module) (idlwave-shell-bp-get bp 'type)) (let* - ((arg (idlwave-shell-bp-get bp 'count)) - (key (cond - ((not (and arg (numberp arg))) "") - ((= arg 1) - ",/once") - ((> arg 1) - (format ",after=%d" arg)))) + ((count (idlwave-shell-bp-get bp 'count)) (condition (idlwave-shell-bp-get bp 'condition)) (disabled (idlwave-shell-bp-get bp 'disabled)) - (key (concat key - (if condition (concat ",CONDITION=\"" condition "\"")))) - ;; IDL can't simultaneously set a condition and disable a - ;; breakpoint, but it does keep both of these when resetting - ;; the same BP. We assume DISABLE and CONDITION are not set - ;; together for a newly created breakpoint. - (key (concat key (if (and disabled (not condition)) ",/DISABLE"))) + (key (concat (if (and count (numberp count)) + (cond + ((= count 1) ",/once") + ((> count 1) (format ",after=%d" count)))) + (if condition (concat ",CONDITION=\"" condition "\"")) + ;; IDL can't simultaneously set a condition/count + ;; and disable a breakpoint, but it does keep both + ;; of these when resetting the same BP. We assume + ;; DISABLE and CONDITION/COUNT are not set + ;; together for a newly created breakpoint. + (if (and disabled (not condition) (not count)) + ",/DISABLE"))) (line (idlwave-shell-bp-get bp 'line))) (idlwave-shell-send-command (concat "breakpoint,'" -- 2.39.5