diff options
author | Claudio Fontana <sick_soul@users.sourceforge.net> | 2006-11-25 14:05:50 +0000 |
---|---|---|
committer | Claudio Fontana <sick_soul@users.sourceforge.net> | 2006-11-25 14:05:50 +0000 |
commit | 4f68cc0e9bb9f7e92272319e1ca278810bc86ec9 (patch) | |
tree | d4aee7ea311091e2cf9c91c8fb3c6d147113e582 | |
parent | 097283714e52b370eff9c68d5ced2ea254962f32 (diff) | |
download | idutils-4f68cc0e9bb9f7e92272319e1ca278810bc86ec9.tar.gz idutils-4f68cc0e9bb9f7e92272319e1ca278810bc86ec9.tar.bz2 idutils-4f68cc0e9bb9f7e92272319e1ca278810bc86ec9.zip |
* provide rough support for lisp character constants
-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; |