Remove #:read-annotations?, to ensure a consistent output format from the reader

This commit is contained in:
Tony Garnock-Jones 2020-12-30 17:43:50 +01:00
parent 77fd8e86bf
commit 749747ca05
3 changed files with 4 additions and 17 deletions

View File

@ -25,16 +25,8 @@
(define (read-preserve [in-port (current-input-port)] (define (read-preserve [in-port (current-input-port)]
#:read-syntax? [read-syntax? #f] #:read-syntax? [read-syntax? #f]
#:read-annotations? [read-annotations? read-syntax?]
#:source [source (object-name in-port)]) #:source [source (object-name in-port)])
(define b (peek-byte in-port)) (define b (peek-byte in-port))
(cond [(eof-object? b) b] (cond [(eof-object? b) b]
[(<= #x80 b #xBF) [(<= #x80 b #xBF) (read-preserve/binary in-port #:read-syntax? read-syntax?)]
(read-preserve/binary in-port [else (read-preserve/text in-port #:read-syntax? read-syntax? #:source source)]))
#:read-syntax? read-syntax?
#:read-annotations? read-annotations?)]
[else
(read-preserve/text in-port
#:read-syntax? read-syntax?
#:read-annotations? read-annotations?
#:source source)]))

View File

@ -16,7 +16,6 @@
(define (bytes->preserve bs (define (bytes->preserve bs
#:read-syntax? [read-syntax? #f] #:read-syntax? [read-syntax? #f]
#:read-annotations? [read-annotations? read-syntax?]
#:on-short [on-short default-on-short] #:on-short [on-short default-on-short]
[on-fail default-on-fail]) [on-fail default-on-fail])
(call-with-input-bytes (call-with-input-bytes
@ -24,7 +23,6 @@
(lambda (p) (lambda (p)
(match (read-preserve/binary p (match (read-preserve/binary p
#:read-syntax? read-syntax? #:read-syntax? read-syntax?
#:read-annotations? read-annotations?
#:on-short on-short #:on-short on-short
on-fail) on-fail)
[(? eof-object?) (on-short)] [(? eof-object?) (on-short)]
@ -34,9 +32,9 @@
(define (read-preserve/binary [in-port (current-input-port)] (define (read-preserve/binary [in-port (current-input-port)]
#:read-syntax? [read-syntax? #f] #:read-syntax? [read-syntax? #f]
#:read-annotations? [read-annotations? read-syntax?]
#:on-short [on-short default-on-short] #:on-short [on-short default-on-short]
[on-fail default-on-fail]) [on-fail default-on-fail])
(define read-annotations? read-syntax?)
(let/ec return (let/ec return
(define (next) (wrap (pos) (next* (next-byte)))) (define (next) (wrap (pos) (next* (next-byte))))

View File

@ -26,13 +26,11 @@
(define (string->preserve s (define (string->preserve s
#:read-syntax? [read-syntax? #f] #:read-syntax? [read-syntax? #f]
#:read-annotations? [read-annotations? read-syntax?]
#:source [source "<string>"]) #:source [source "<string>"])
(define p (open-input-string s)) (define p (open-input-string s))
(when read-syntax? (port-count-lines! p)) (when read-syntax? (port-count-lines! p))
(define v (read-preserve/text p (define v (read-preserve/text p
#:read-syntax? read-syntax? #:read-syntax? read-syntax?
#:read-annotations? read-annotations?
#:source source)) #:source source))
(when (eof-object? v) (when (eof-object? v)
(parse-error* #:raise-proc raise-read-eof-error p source "Unexpected end of input")) (parse-error* #:raise-proc raise-read-eof-error p source "Unexpected end of input"))
@ -50,8 +48,8 @@
(define (read-preserve/text [in-port (current-input-port)] (define (read-preserve/text [in-port (current-input-port)]
#:read-syntax? [read-syntax? #f] #:read-syntax? [read-syntax? #f]
#:read-annotations? [read-annotations? read-syntax?]
#:source [source (object-name in-port)]) #:source [source (object-name in-port)])
(define read-annotations? read-syntax?)
;;--------------------------------------------------------------------------- ;;---------------------------------------------------------------------------
;; Core of parser ;; Core of parser
@ -90,7 +88,6 @@
(lambda (message . args) (lambda (message . args)
(apply parse-error (string-append "Embedded binary value: " message) args)) (apply parse-error (string-append "Embedded binary value: " message) args))
#:read-syntax? read-syntax? #:read-syntax? read-syntax?
#:read-annotations? read-annotations?
#:on-short (lambda () (parse-error "Incomplete embedded binary value")))] #:on-short (lambda () (parse-error "Incomplete embedded binary value")))]
[c (parse-error "Invalid # syntax: ~v" c)])] [c (parse-error "Invalid # syntax: ~v" c)])]