Summary
keywords have no read/write invariance
Metadata
- Id: aeb79afb7cc4495b43ff230dac67571950c112a8
- Trac id: 1332
- Type: defect
- Reporter: sjamaan
- Owner:
- Cc:
- Status: closed
- Component: core libraries
- Estimated difficulty: easy
- Resolution: fixed
- Priority: major
- Milestone: 4.12.0
- Version: 4.11.0
- Changetime: 2016-11-06 23:07:13 UTC
- Created: 2016-10-04 10:49:21 UTC
- Keywords:
Description
$ csi #;1> (string->keyword "foo bar") ; Should be escaped foo bar: #;2> |foo bar|: ; Handled correctly by the reader foo bar: #;3> #:|foo bar| ; I don't know *what* is going on here! |foo:
And
$ csi -K prefix #;1> (string->keyword "foo bar") ; should be escaped :foo bar #;2> :|foo bar| ; Handled correctly by the reader :foo bar
I expect a keyword with a space in it to be serialised like the symbol and followed by a colon (or preceded, depending on the keyword style). The reader should handle the #:} prefix no different from the mode-specific syntax.
Changes and comments
[2016-11-01 16:33:24 UTC] sjamaan wrote:
It turns out that `#:|foo bar|` is read by the simple tokenizer, instead of the extended symbol tokenizer that deals with pipe escapes.
[2016-11-06 23:07:13 UTC] evhan changed status from new to closed
[2016-11-06 23:07:13 UTC] evhan set resolution to fixed
[2016-11-06 23:07:13 UTC] evhan wrote:
Fixed by 1ab62dd3 (master) and de934e90, 3e3ccd8d (chicken-5).