Opened 6 years ago

#1300 new defect

read-delimited-list is not conforming.

Reported by: informatimago Owned by:
Priority: normal Milestone:
Component: ANSI CL Compliance Version: trunk
Keywords: Cc:


read-delimited-list is specified in no uncertain terms:

    read-delimited-list looks ahead at each step for the next
    non-whitespace[2] character and peeks at it as if with peek-char. If
    it is char, then the character is consumed and the list of objects
    is returned. If it is a constituent or escape character, then read
    is used to read an object, which is added to the end of the list. If
    it is a macro character, its reader macro function is called; if the
    function returns a value, that value is added to the list. The
    peek-ahead process is then repeated.

Unfortunately, ccl cl:read-delimited-list is not conforming for #\) and doesn't signal an error on: "a . b)" when scanning for #\) (but it does for other delimiters):

$ clall -r '(ignore-errors (with-input-from-string (in "a . b)") (read-delimited-list #\) in)))'

Armed Bear Common Lisp         --> NIL, #<READER-ERROR {287C20AB}>
Clozure Common Lisp            --> (A . B)
CLISP                          --> NIL, #<SYSTEM::SIMPLE-READER-ERROR #x000334C26C30>
CMU Common Lisp                --> NIL, #<READER-ERROR {581A622D}>
ECL                            --> NIL, #<a SI::SIMPLE-READER-ERROR>
SBCL                           --> NIL, #<SB-INT:SIMPLE-READER-ERROR "dot context error" {1003A22A93}>

Change History (0)

Note: See TracTickets for help on using tickets.