Mercurial > emacs
comparison src/lread.c @ 21911:8087931b409e
(isfloat_string): Don't look at bytes before the string.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 03 May 1998 00:50:06 +0000 |
parents | 7a44b61e263b |
children | 8dad06385435 |
comparison
equal
deleted
inserted
replaced
21910:702383d93b75 | 21911:8087931b409e |
---|---|
1993 isfloat_string (cp) | 1993 isfloat_string (cp) |
1994 register char *cp; | 1994 register char *cp; |
1995 { | 1995 { |
1996 register int state; | 1996 register int state; |
1997 | 1997 |
1998 char *start = cp; | |
1999 | |
1998 state = 0; | 2000 state = 0; |
1999 if (*cp == '+' || *cp == '-') | 2001 if (*cp == '+' || *cp == '-') |
2000 cp++; | 2002 cp++; |
2001 | 2003 |
2002 if (*cp >= '0' && *cp <= '9') | 2004 if (*cp >= '0' && *cp <= '9') |
2028 { | 2030 { |
2029 state |= EXP_INT; | 2031 state |= EXP_INT; |
2030 while (*cp >= '0' && *cp <= '9') | 2032 while (*cp >= '0' && *cp <= '9') |
2031 cp++; | 2033 cp++; |
2032 } | 2034 } |
2035 else if (cp == start) | |
2036 ; | |
2033 else if (cp[-1] == '+' && cp[0] == 'I' && cp[1] == 'N' && cp[2] == 'F') | 2037 else if (cp[-1] == '+' && cp[0] == 'I' && cp[1] == 'N' && cp[2] == 'F') |
2034 { | 2038 { |
2035 state |= EXP_INT; | 2039 state |= EXP_INT; |
2036 cp += 3; | 2040 cp += 3; |
2037 } | 2041 } |