#93 closed defect (fixed)
reader does not respect (values) from reader macros
Reported by: | janderson | Owned by: | somebody |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | other | Version: | 0.19 |
Keywords: | Cc: | ||
Parent Tickets: |
Description
the hyperspec includes an example which illustrates the effect of (values) for a reader macro(1)
as of 0.19.1 the reader treats (values) as nil.
[1] CL-USER(3): (set-macro-character #\! #'(lambda (stream char) (declare (ignore char)) (read stream) (values)))
T
[1] CL-USER(4): (list 1 !qwer 2)
(1 NIL 2)
[1] CL-USER(5): (lisp-implementation-version)
"0.19.1"
[1] CL-USER(6): asdf@ip-10-251-122-82:/development/source/metadata/net/common-lisp/bordeaux-threads$ ccl
Welcome to Clozure Common Lisp Version 1.4-r13119 (LinuxX8632)!
? (set-macro-character #\! #'(lambda (stream char) (declare (ignore char)) (read stream) (values)))
T
? (list 1 !qwer 2)
(1 2)
?
---
(1) http://www.lispworks.com/documentation/HyperSpec/Body/f_set_ma.htm
Change History (2)
comment:1 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 15 years ago by
(In [12646]) Re #93: Instead of fixing just readList and readDelimitedList,
document the protocol for processChar and fix that. Also, remove
a pattern from LispReader?.java (return null) which can't be used
by Lisp functions.
This commit fixes a much broader range of cases of the symptom
reported in #93.
(In [12645]) Fix #93: Empty VALUES set in the reader treated as NIL.