summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisc/parse.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lisc/parse.c b/lisc/parse.c
index 2c25476..1a39db6 100644
--- a/lisc/parse.c
+++ b/lisc/parse.c
@@ -247,15 +247,15 @@ lex()
}
if (0)
Alpha: c = fgetc(inf);
- if (!isalpha(c) && c != '.')
- err("lexing failure");
+ if (!isalpha(c) && c != '.' && c != '_')
+ err("lexing failure: invalid character %c (%d)", c, c);
i = 0;
do {
if (i >= NString-1)
err("identifier too long");
tok[i++] = c;
c = fgetc(inf);
- } while (isalpha(c) || c == '.' || c == '_' || isdigit(c));
+ } while (isalpha(c) || c == '$' || c == '.' || c == '_' || isdigit(c));
tok[i] = 0;
ungetc(c, inf);
if (t != TXXX) {