Mercurial > hg > xemacs-beta
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")) |