From ae8282f5c7c8d740c6a77795629b3c1f4e6c8e60 Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Sun, 26 Jun 2011 03:29:41 -0600 Subject: [PATCH] close current macro stepper frame on Run, Macro Stepper, etc closes PR 11964 original commit: 0b47f0b7e289ebc47c6c87115fd14cc3f1bad4fe --- collects/macro-debugger/view/frame.rkt | 3 +++ collects/macro-debugger/view/prefs.rkt | 6 +++++- collects/macro-debugger/view/view.rkt | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/collects/macro-debugger/view/frame.rkt b/collects/macro-debugger/view/frame.rkt index 180dad6..2290b2b 100644 --- a/collects/macro-debugger/view/frame.rkt +++ b/collects/macro-debugger/view/frame.rkt @@ -207,6 +207,9 @@ (menu-option/notify-box extras-menu "Refresh on resize" (get-field refresh-on-resize? config)) + (menu-option/notify-box extras-menu + "Close old stepper on Run" + (get-field close-on-reset-console? config)) (menu-option/notify-box extras-menu "Draw binding arrows" (get-field draw-arrows? config)) diff --git a/collects/macro-debugger/view/prefs.rkt b/collects/macro-debugger/view/prefs.rkt index baf5710..6c86723 100644 --- a/collects/macro-debugger/view/prefs.rkt +++ b/collects/macro-debugger/view/prefs.rkt @@ -6,6 +6,7 @@ unstable/gui/notify unstable/gui/prefs) (provide pref:macro-step-limit + pref:close-on-reset-console? macro-stepper-config-base% macro-stepper-config/prefs% macro-stepper-config/prefs/readonly%) @@ -30,6 +31,7 @@ (preferences:set-default 'MacroStepper:MacroStepLimit 40000 (lambda (x) (or (eq? x #f) (exact-positive-integer? x)))) (preferences:set-default 'MacroStepper:RefreshOnResize? #t boolean?) +(preferences:set-default 'MacroStepper:CloseOnResetConsole? #t boolean?) (define pref:width (pref:get/set 'MacroStepper:Frame:Width)) (define pref:height (pref:get/set 'MacroStepper:Frame:Height)) @@ -50,6 +52,7 @@ (define pref:split-context? (pref:get/set 'MacroStepper:SplitContext?)) (define pref:macro-step-limit (pref:get/set 'MacroStepper:MacroStepLimit)) (define pref:refresh-on-resize? (pref:get/set 'MacroStepper:RefreshOnResize?)) +(define pref:close-on-reset-console? (pref:get/set 'MacroStepper:CloseOnResetConsole?)) (define macro-stepper-config-base% (class* prefs-base% (config<%>) @@ -75,7 +78,8 @@ (extra-navigation? pref:extra-navigation?) (debug-catch-errors? pref:debug-catch-errors?) (split-context? pref:split-context?) - (refresh-on-resize? pref:refresh-on-resize?)) + (refresh-on-resize? pref:refresh-on-resize?) + (close-on-reset-console? pref:close-on-reset-console?)) (super-new))) (define macro-stepper-config/prefs% diff --git a/collects/macro-debugger/view/view.rkt b/collects/macro-debugger/view/view.rkt index 5fec952..4724c3c 100644 --- a/collects/macro-debugger/view/view.rkt +++ b/collects/macro-debugger/view/view.rkt @@ -13,7 +13,7 @@ (define macro-stepper-director% (class* object% (director<%>) - (define stepper-frames (make-hasheq)) + (field [stepper-frames (make-hasheq)]) ;; Flags is a subset(list) of '(no-obsolete no-new-traces)