diff --git a/pkgs/racket-doc/scribblings/reference/readtables.scrbl b/pkgs/racket-doc/scribblings/reference/readtables.scrbl index 0ba679c3ae..a283c8b7bc 100644 --- a/pkgs/racket-doc/scribblings/reference/readtables.scrbl +++ b/pkgs/racket-doc/scribblings/reference/readtables.scrbl @@ -69,20 +69,21 @@ otherwise. @defproc[(make-readtable [readtable (or/c readtable? #f)] [key (or/c char? #f)] - [mode (or/c (or/c 'terminating-macro - 'non-terminating-macro - 'dispatch-macro) + [mode (or/c 'terminating-macro + 'non-terminating-macro + 'dispatch-macro char?)] [action (or/c procedure? - readtable?)] - ...+) + readtable? + #f)] + ...) readtable?]{ Creates a new readtable that is like @racket[readtable] (which can be @racket[#f] to indicate the default readtable), except that the reader's behavior is modified for each @racket[key] according to the given @racket[mode] and -@racket[action]. The @racket[...+] for @racket[make-readtable] applies +@racket[action]. The @racket[...] for @racket[make-readtable] applies to all three of @racket[key], @racket[mode], and @racket[action]; in other words, the total number of arguments to @racket[make-readtable] must be @math{1} modulo @math{3}. diff --git a/racket/src/bc/src/startup.inc b/racket/src/bc/src/startup.inc index bb88a6906c..2ddf91363b 100644 --- a/racket/src/bc/src/startup.inc +++ b/racket/src/bc/src/startup.inc @@ -54515,7 +54515,7 @@ static const char *startup_source = "(let-values()" "(raise-arguments-error" " 'make-readtable" -"(if key_0" +"(if(char? mode_0)" " \"expected readtable or #f argument after character argument\"" " \"expected procedure argument after symbol argument\")" " \"given\"" diff --git a/racket/src/cs/schemified/expander.scm b/racket/src/cs/schemified/expander.scm index 91647448d7..829b6d760d 100644 --- a/racket/src/cs/schemified/expander.scm +++ b/racket/src/cs/schemified/expander.scm @@ -61331,7 +61331,7 @@ (if (null? (cddr args_1)) (raise-arguments-error 'make-readtable - (if key_0 + (if (char? mode_0) "expected readtable or #f argument after character argument" "expected procedure argument after symbol argument") "given" diff --git a/racket/src/expander/read/readtable.rkt b/racket/src/expander/read/readtable.rkt index 4317752bde..b6cac3edfb 100644 --- a/racket/src/expander/read/readtable.rkt +++ b/racket/src/expander/read/readtable.rkt @@ -78,7 +78,7 @@ ;; Target is what the key is mapped to (when (null? (cddr args)) (raise-arguments-error 'make-readtable - (if key + (if (char? mode) "expected readtable or #f argument after character argument" "expected procedure argument after symbol argument") "given" mode))