read: bytevectors
This commit is contained in:
parent
b94e12ee33
commit
3c0508211f
12
read.scm
12
read.scm
|
@ -442,6 +442,7 @@
|
|||
readtable:read-improper-cdr)
|
||||
port)))
|
||||
|
||||
;;; Read strictly a proper list. This assumes that BOL has been read.
|
||||
(define readtable:read-proper-list
|
||||
(lambda (table port)
|
||||
(readtable:read-list-loop (readtable:table-for-list
|
||||
|
@ -451,6 +452,12 @@
|
|||
"expected proper list"))
|
||||
port)))
|
||||
|
||||
(define readtable:expect-proper-list
|
||||
(lambda (table port)
|
||||
(if (not (eqv? (port 'read) %bol))
|
||||
(error 'expect-port-list 'no-list-found)
|
||||
(readtable:read-proper-list table port))))
|
||||
|
||||
;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;; Reader for stuff that start with "#"
|
||||
;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -600,6 +607,9 @@
|
|||
(cons "false" (lambda unused #f))
|
||||
(cons "t" (lambda unused #t))
|
||||
(cons "f" (lambda unused #f))
|
||||
(cons "u8" (lambda (toplevel port)
|
||||
(list 'bytevector
|
||||
(readtable:expect-proper-list toplevel port))))
|
||||
(cons "!fold-case"
|
||||
(lambda (toplevel port)
|
||||
(port 'fold-case! #t)
|
||||
|
@ -736,4 +746,4 @@
|
|||
(read-all "#0=(#0# not unix)")
|
||||
(read-all "#!no-fold-case #!fold-case #!NO-FOLD-CASE #false")
|
||||
(read-all "#!fold-case #TRUE")
|
||||
|
||||
(read-all "#u8(x y z w)")
|
||||
|
|
Loading…
Reference in New Issue