# HG changeset patch # User J.D. Smith # Date 1172175497 0 # Node ID 9c80ddcdba8277e777e98d7d952f9cc707893533 # Parent 08f453b60dc2536059582d9343c720e9725b13d3 (idlwave-shell-set-bp): Fix setting condition/count on disabled BPs. diff -r 08f453b60dc2 -r 9c80ddcdba82 lisp/progmodes/idlw-shell.el --- a/lisp/progmodes/idlw-shell.el Thu Feb 22 20:17:52 2007 +0000 +++ b/lisp/progmodes/idlw-shell.el Thu Feb 22 20:18:17 2007 +0000 @@ -3545,22 +3545,21 @@ (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,'"