diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | libidu/scanners.c | 14 |
2 files changed, 18 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2006-11-25 Claudio Fontana <claudio@gnu.org> + + * libidu/scanners.c (get_token_lisp): provide rough support for + character constants. + 2006-10-19 Claudio Fontana <claudio@gnu.org> * libidu/scanners.c (get_token_lisp): (tiny) fix bug in double diff --git a/libidu/scanners.c b/libidu/scanners.c index c9785c1..112fd43 100644 --- a/libidu/scanners.c +++ b/libidu/scanners.c @@ -1643,7 +1643,19 @@ get_token_lisp (FILE *in_FILE, void const *args, int *flags) } } while ( (c != EOF) && (c != '"')); goto top; - + + case '?': /* character constant */ + cconstant: + do { + c = getc(in_FILE); + if (c == '\\') + { + c = getc(in_FILE); + goto cconstant; + } + } while (c != EOF && is_IDENT(c)); + goto top; + case '.': case '+': case '-': id = scanner_buffer; |