"+nan" is no longer parsed as a number.

This commit is contained in:
jjgarcia 2005-02-24 11:05:00 +00:00
parent fe83ad7e49
commit e3aba2e810
2 changed files with 19 additions and 4 deletions

View file

@ -25,6 +25,8 @@ ECL 0.9f
- All strings in a pathname must be valid C strings, with a null terminating
character and no fill pointer.
- "+nan" is no longer parsed as a number.
* Visible changes:
- Multithreaded ECL now in Windows, either with Microsoft VC++
@ -47,6 +49,13 @@ ECL 0.9f
- When closing a composite stream, all references to its elements are now erased.
- Backquote forms are now translated into lists containing the macros
EXT:QUASIQUOTE, EXT:UNQUOTE, EXT:UNQUOTE-SPLICE and EXT:UNQUOTE-NSPLICE.
At evaluation/compilation time, the macroexpander for QUASIQUOTE transforms
the tree into the appropiate lisp expression. Otherwise, the print
representation is preserved:
(format nil '`(foo ,@a)) => "`(foo ,@a)"
* ANSI Compatibility:
- DEFSETF forms are enclosed in a block with the name of the accessor.

View file

@ -355,10 +355,16 @@ parse_number(const char *s, cl_index end, cl_index *ep, int radix)
} else {
is_float = 1;
}
} else if ((digitp(c, radix) < 0) && is_exponent_marker(c)) {
exp_marker_loc = i;
is_float = 1;
break;
} else if (digitp(c, radix) < 0) {
if (is_exponent_marker(c)) {
exp_marker_loc = i;
is_float = 1;
break;
}
if ((c < '0' || c > '9') && c != '+' && c != '-') {
/* A non valid character found */
return OBJNULL;
}
}
}
if (!is_float) {