summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Fontana <sick_soul@users.sourceforge.net>2006-11-25 14:05:50 +0000
committerClaudio Fontana <sick_soul@users.sourceforge.net>2006-11-25 14:05:50 +0000
commit4f68cc0e9bb9f7e92272319e1ca278810bc86ec9 (patch)
treed4aee7ea311091e2cf9c91c8fb3c6d147113e582
parent097283714e52b370eff9c68d5ced2ea254962f32 (diff)
downloadidutils-4f68cc0e9bb9f7e92272319e1ca278810bc86ec9.tar.gz
idutils-4f68cc0e9bb9f7e92272319e1ca278810bc86ec9.tar.bz2
idutils-4f68cc0e9bb9f7e92272319e1ca278810bc86ec9.zip
* provide rough support for lisp character constants
-rw-r--r--ChangeLog5
-rw-r--r--libidu/scanners.c14
2 files changed, 18 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9dadec0..a9f18bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;