sharplispers/parse-number

tests might use undefined behaviour with "#c ( #xF #o-1 ) "

Closed this issue · 3 comments

Hello,
newest eclector errors on (read-from-string "#c ( #xF #o-1 ) ") because of the whitespace between "c" and "(". The clhs description in http://www.lispworks.com/documentation/HyperSpec/Body/02_dhk.htm seems to be unclear, whether this is allowed.

Could the test in https://github.com/sharplispers/parse-number/blob/master/tests.lisp#L12
be changed to: "#c( #xF #o-1 ) "?

That definitely sounds like an eclector bug.

SBCL and ansi-tests seem to agree that the whitespace between #c and the list object is fine: https://gitlab.common-lisp.net/ansi-test/ansi-test/-/blob/master/reader/syntax.lsp#L673

I agree that the description for sharpsign C almost certainly likely allows whitespace. This is in contrast to sharpsign S .

I would hate to treat #C( and #S( differently but that seems to be what the spec requires.