From 82eb64451d260d199b29cee011de2959d2150b92 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 22 Apr 2010 12:12:34 -0600 Subject: [PATCH] switch default configuration to have qq printing enabled, add runtime-config for scheme languages --- collects/racket/gui/lang/reader.ss | 2 + collects/racket/runtime-config.rkt | 3 - collects/scheme/base.rkt | 4 +- collects/scheme/base/lang/reader.ss | 2 + collects/scheme/gui/lang/reader.ss | 2 + collects/scheme/init.rkt | 25 +++--- collects/scheme/lang/reader.ss | 2 + collects/scheme/language-info.ss | 10 +++ collects/scheme/main.rkt | 101 +++++++++++++------------ collects/scheme/private/lang/reader.ss | 4 + collects/scheme/runtime-config.ss | 7 ++ src/racket/src/thread.c | 2 +- 12 files changed, 96 insertions(+), 68 deletions(-) create mode 100644 collects/scheme/language-info.ss create mode 100644 collects/scheme/private/lang/reader.ss create mode 100644 collects/scheme/runtime-config.ss diff --git a/collects/racket/gui/lang/reader.ss b/collects/racket/gui/lang/reader.ss index 48151efe84..c883c78807 100644 --- a/collects/racket/gui/lang/reader.ss +++ b/collects/racket/gui/lang/reader.ss @@ -1,2 +1,4 @@ #lang s-exp syntax/module-reader racket/gui + +#:language-info '#(racket/language-info get-info #f) diff --git a/collects/racket/runtime-config.rkt b/collects/racket/runtime-config.rkt index 9d25c7f336..572d8a496b 100644 --- a/collects/racket/runtime-config.rkt +++ b/collects/racket/runtime-config.rkt @@ -4,7 +4,4 @@ (define-values (configure) (lambda (config) - (current-prompt-read (lambda () - (printf "> ") - (read))) (print-as-quasiquote #t)))) diff --git a/collects/scheme/base.rkt b/collects/scheme/base.rkt index 4df2ad6ca4..30bbd6da23 100644 --- a/collects/scheme/base.rkt +++ b/collects/scheme/base.rkt @@ -1,3 +1,3 @@ +#lang scheme/private -(module base racket/base - (provide (except-out (all-from-out racket/base) struct))) +(provide (except-out (all-from-out racket/base) struct)) diff --git a/collects/scheme/base/lang/reader.ss b/collects/scheme/base/lang/reader.ss index 437c168fa2..385a10d750 100644 --- a/collects/scheme/base/lang/reader.ss +++ b/collects/scheme/base/lang/reader.ss @@ -1,2 +1,4 @@ #lang s-exp syntax/module-reader scheme/base + +#:language-info '#(scheme/language-info get-info #f) diff --git a/collects/scheme/gui/lang/reader.ss b/collects/scheme/gui/lang/reader.ss index 186a775bcc..140e7eadd5 100644 --- a/collects/scheme/gui/lang/reader.ss +++ b/collects/scheme/gui/lang/reader.ss @@ -1,2 +1,4 @@ #lang s-exp syntax/module-reader scheme/gui + +#:language-info '#(scheme/language-info get-info #f) diff --git a/collects/scheme/init.rkt b/collects/scheme/init.rkt index 68ea88f6a5..60023bfa5a 100644 --- a/collects/scheme/init.rkt +++ b/collects/scheme/init.rkt @@ -1,16 +1,17 @@ +#lang scheme -(module init scheme - (require "enter.ss" - "help.ss") +(require "enter.ss" + "help.ss") - ;; Set the printer: - (current-print (let ([pretty-printer - (lambda (v) - (unless (void? v) - (pretty-print v)))]) - pretty-printer)) +;; Set the printer: +(current-print (let ([pretty-printer + (lambda (v) + (unless (void? v) + (pretty-print v)))]) + pretty-printer)) + +(provide (all-from-out scheme + "enter.ss" + "help.ss")) - (provide (all-from-out scheme - "enter.ss" - "help.ss"))) diff --git a/collects/scheme/lang/reader.ss b/collects/scheme/lang/reader.ss index 45e4598b18..b3c8466439 100644 --- a/collects/scheme/lang/reader.ss +++ b/collects/scheme/lang/reader.ss @@ -1,2 +1,4 @@ #lang s-exp syntax/module-reader scheme + +#:language-info '#(scheme/language-info get-info #f) diff --git a/collects/scheme/language-info.ss b/collects/scheme/language-info.ss new file mode 100644 index 0000000000..bbaf009c19 --- /dev/null +++ b/collects/scheme/language-info.ss @@ -0,0 +1,10 @@ +(module language-info racket/base + + (provide get-info) + + (define (get-info data) + (lambda (key default) + (case key + [(configure-runtime) + '(#(scheme/runtime-config configure #f))] + [else default])))) diff --git a/collects/scheme/main.rkt b/collects/scheme/main.rkt index d7eeb6af09..ab98086116 100644 --- a/collects/scheme/main.rkt +++ b/collects/scheme/main.rkt @@ -1,51 +1,52 @@ -(module main scheme/base - (require scheme/contract - scheme/class - scheme/unit - scheme/dict - scheme/include - scheme/pretty - scheme/math - scheme/match - scheme/shared - scheme/tcp - scheme/udp - scheme/list - scheme/vector - scheme/string - scheme/function - scheme/path - scheme/file - scheme/port - scheme/cmdline - scheme/promise - scheme/bool - scheme/local - scheme/nest - (for-syntax scheme/base)) +#lang scheme/base - (provide (all-from-out scheme/contract - scheme/class - scheme/unit - scheme/dict - scheme/include - scheme/pretty - scheme/math - scheme/match - scheme/shared - scheme/base - scheme/tcp - scheme/udp - scheme/list - scheme/vector - scheme/string - scheme/function - scheme/path - scheme/file - scheme/port - scheme/cmdline - scheme/promise - scheme/bool - scheme/local - scheme/nest) - (for-syntax (all-from-out scheme/base)))) +(require scheme/contract + scheme/class + scheme/unit + scheme/dict + scheme/include + scheme/pretty + scheme/math + scheme/match + scheme/shared + scheme/tcp + scheme/udp + scheme/list + scheme/vector + scheme/string + scheme/function + scheme/path + scheme/file + scheme/port + scheme/cmdline + scheme/promise + scheme/bool + scheme/local + scheme/nest + (for-syntax scheme/base)) + +(provide (all-from-out scheme/contract + scheme/class + scheme/unit + scheme/dict + scheme/include + scheme/pretty + scheme/math + scheme/match + scheme/shared + scheme/base + scheme/tcp + scheme/udp + scheme/list + scheme/vector + scheme/string + scheme/function + scheme/path + scheme/file + scheme/port + scheme/cmdline + scheme/promise + scheme/bool + scheme/local + scheme/nest) + (for-syntax (all-from-out scheme/base))) diff --git a/collects/scheme/private/lang/reader.ss b/collects/scheme/private/lang/reader.ss new file mode 100644 index 0000000000..7bb7112c38 --- /dev/null +++ b/collects/scheme/private/lang/reader.ss @@ -0,0 +1,4 @@ +#lang s-exp syntax/module-reader +racket/base + +#:language-info '#(scheme/language-info get-info #f) diff --git a/collects/scheme/runtime-config.ss b/collects/scheme/runtime-config.ss new file mode 100644 index 0000000000..f61c5daded --- /dev/null +++ b/collects/scheme/runtime-config.ss @@ -0,0 +1,7 @@ +(module runtime-config '#%kernel + + (#%provide configure) + + (define-values (configure) + (lambda (config) + (print-as-quasiquote #f)))) diff --git a/src/racket/src/thread.c b/src/racket/src/thread.c index dc5f3e3c1a..b6e028718d 100644 --- a/src/racket/src/thread.c +++ b/src/racket/src/thread.c @@ -6625,7 +6625,7 @@ static void make_initial_config(Scheme_Thread *p) init_param(cells, paramz, MZCONFIG_PRINT_PAIR_CURLY, scheme_false); init_param(cells, paramz, MZCONFIG_PRINT_MPAIR_CURLY, scheme_true); init_param(cells, paramz, MZCONFIG_PRINT_READER, scheme_false); - init_param(cells, paramz, MZCONFIG_PRINT_AS_QQ, scheme_false); + init_param(cells, paramz, MZCONFIG_PRINT_AS_QQ, scheme_true); init_param(cells, paramz, MZCONFIG_PRINT_SYNTAX_WIDTH, scheme_make_integer(32)); init_param(cells, paramz, MZCONFIG_HONU_MODE, scheme_false);