From a25a288870820f5cb7b90c09ef950013c811955f Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sun, 29 Jul 2007 19:17:17 +0000 Subject: [PATCH] drs now remembers the teachpacks last set and uses them when switching to a new (teaching) language svn: r6981 --- collects/drscheme/private/main.ss | 10 ++++++++++ collects/lang/htdp-langs.ss | 27 ++++++++++++--------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/collects/drscheme/private/main.ss b/collects/drscheme/private/main.ss index 9a92dbdefa..2bfd987084 100644 --- a/collects/drscheme/private/main.ss +++ b/collects/drscheme/private/main.ss @@ -57,6 +57,16 @@ (finder:default-filters))) (application:current-app-name (string-constant drscheme)) + (preferences:set-default 'drscheme:htdp:last-set-teachpacks + '() + (λ (x) + (and (list? x) + (andmap (λ (x) + (and (list? x) + (pair? x) + (eq? (car x) 'lib) + (andmap string? (cdr x)))) + x)))) (preferences:set-default 'drscheme:defs/ints-horizontal #f boolean?) (preferences:set-default 'drscheme:unit-window-max? #f boolean?) (preferences:set-default 'drscheme:frame:initial-position #f diff --git a/collects/lang/htdp-langs.ss b/collects/lang/htdp-langs.ss index 75ee8bb16c..c23be4991c 100644 --- a/collects/lang/htdp-langs.ss +++ b/collects/lang/htdp-langs.ss @@ -106,7 +106,7 @@ #t 'none #f - '())) + (preferences:get 'drscheme:htdp:last-set-teachpacks))) (define/override (default-settings? s) (and (super default-settings? s) @@ -566,20 +566,17 @@ (cadr teachpack))) settings) - (make-htdp-lang-settings - (drscheme:language:simple-settings-case-sensitive settings) - (drscheme:language:simple-settings-printing-style settings) - (drscheme:language:simple-settings-fraction-style settings) - (drscheme:language:simple-settings-show-sharing settings) - (drscheme:language:simple-settings-insert-newlines settings) - (drscheme:language:simple-settings-annotations settings) - (htdp-lang-settings-tracing? settings) - (append old-tps (list teachpack))) - - #; - (copy-struct htdp-lang-settings settings - [htdp-lang-settings-teachpacks - (append old-tps (list teachpack))]))) + (let ([new-tps (append old-tps (list teachpack))]) + (preferences:set 'drscheme:htdp:last-set-teachpacks new-tps) + (make-htdp-lang-settings + (drscheme:language:simple-settings-case-sensitive settings) + (drscheme:language:simple-settings-printing-style settings) + (drscheme:language:simple-settings-fraction-style settings) + (drscheme:language:simple-settings-show-sharing settings) + (drscheme:language:simple-settings-insert-newlines settings) + (drscheme:language:simple-settings-annotations settings) + (htdp-lang-settings-tracing? settings) + new-tps)))) settings))) (λ (settings name) (make-htdp-lang-settings