From d3ef0a0a35c447d79886f2c504786ad336111462 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 21 Oct 2020 17:24:03 -0600 Subject: [PATCH] cs & io: fix `~s` formatting of keywords --- pkgs/racket-test-core/tests/racket/print.rktl | 1 + racket/src/cs/schemified/io.scm | 8 ++++---- racket/src/io/format/main.rkt | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/print.rktl b/pkgs/racket-test-core/tests/racket/print.rktl index d3eaed75e6..22c178b269 100644 --- a/pkgs/racket-test-core/tests/racket/print.rktl +++ b/pkgs/racket-test-core/tests/racket/print.rktl @@ -68,6 +68,7 @@ (ptest "'|;|" '|;|) (ptest "'|`|" '|`|) (ptest "'#:apple" '#:apple) + (ptest "'#:|apple pie|" '#:|apple pie|) (ptest "'#%apple" '#%apple) (ptest "\"apple\"" "apple") (ptest "#\"apple\"" #"apple") diff --git a/racket/src/cs/schemified/io.scm b/racket/src/cs/schemified/io.scm index e0515df00f..748885e655 100644 --- a/racket/src/cs/schemified/io.scm +++ b/racket/src/cs/schemified/io.scm @@ -24340,9 +24340,7 @@ (if (1/print-boolean-long-form) (if a_0 "#true" "#false") (if a_0 "#t" "#f"))) - (if (number? a_0) - (number->string a_0) - (if (keyword? a_0) (string-append "#:" (keyword->string a_0)) #f))))) + (if (number? a_0) (number->string a_0) #f)))) (define 1/format (|#%name| format @@ -24360,7 +24358,9 @@ (string-copy a_0) (if (symbol? a_0) (symbol->string a_0) - (general-format fmt_0 (list a_0))))))) + (if (keyword? a_0) + (string-append "#:" (keyword->string a_0)) + (general-format fmt_0 (list a_0)))))))) (if (let ((or-part_0 (equal? fmt_0 "~s"))) (if or-part_0 or-part_0 (equal? fmt_0 "~S"))) (let ((or-part_0 (simple-format a_0))) diff --git a/racket/src/io/format/main.rkt b/racket/src/io/format/main.rkt index e7e6fd41f5..371eec1a98 100644 --- a/racket/src/io/format/main.rkt +++ b/racket/src/io/format/main.rkt @@ -39,7 +39,6 @@ (if a "#true" "#false") (if a "#t" "#f")))] [(number? a) (number->string a)] - [(keyword? a) (string-append "#:" (keyword->string a))] [else #f])) (define format @@ -52,6 +51,7 @@ [(bytes? a) (bytes->string/utf-8 a #\?)] [(string? a) (string-copy a)] [(symbol? a) (symbol->string a)] + [(keyword? a) (string-append "#:" (keyword->string a))] [else (general-format fmt (list a))]))] [(or (equal? fmt "~s") (equal? fmt "~S")) (or (simple-format a)