comparison tests/automated/lisp-reader-tests.el @ 5605:cc7f8a0e569a

Accept bignums unambiguously in the syntax for object labels, lread.c. src/ChangeLog addition: 2011-12-03 Aidan Kehoe <kehoea@parhasard.net> * lread.c (read1): Don't wrap when reading expressions that use bignums as object labels, that can lead to ambiguity and it's not actually that hard to use parse_integer() to avoid it. tests/ChangeLog addition: 2011-12-03 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-reader-tests.el: Check that integer object labels (using the #N=... syntax) treat bignums as such, rather than as fixnums that have wrapped.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 03 Dec 2011 15:13:55 +0000
parents 58b38d5b32d0
children ee27ca517e90
comparison
equal deleted inserted replaced
5604:e9f58d024c3c 5605:cc7f8a0e569a
148 "checking the lisp reader handles deserialization identity") 148 "checking the lisp reader handles deserialization identity")
149 (Assert (eq deserialized-range-table 149 (Assert (eq deserialized-range-table
150 (car (get-range-table #x1001 deserialized-range-table))) 150 (car (get-range-table #x1001 deserialized-range-table)))
151 "checking the lisp reader handles deserialization identity, mixed")) 151 "checking the lisp reader handles deserialization identity, mixed"))
152 152
153 (when (featurep 'bignum)
154 (Assert (null (list-length (read (format "#%d=(1 #1=(5) 3 4 . #%d#)"
155 (+ most-positive-fixnum 2)
156 (+ most-positive-fixnum 2)))))
157 "checking bignum object labels don't wrap on reading"))