summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l11
1 files changed, 11 insertions, 0 deletions
diff --git a/parser.l b/parser.l
index 63941223..68767f7e 100644
--- a/parser.l
+++ b/parser.l
@@ -1065,6 +1065,7 @@ void prime_scanner(scanner_t *yyg, enum prime_parser prim)
switch (prim) {
case prime_lisp:
+ case prime_interactive:
yy_push_state(SPECIAL, yyg);
yy_push_state(NESTED, yyg);
yy_push_state(NESTED, yyg);
@@ -1075,6 +1076,16 @@ void prime_scanner(scanner_t *yyg, enum prime_parser prim)
}
}
+void scrub_scanner(scanner_t *yyg, int yy_char, wchar_t *lexeme)
+{
+ struct yy_token *rtok = &yyextra->recent_tok;
+
+ if (rtok->yy_char == yy_char && rtok->yy_lval.lexeme == lexeme) {
+ rtok->yy_char = 0;
+ rtok->yy_lval.lexeme = 0;
+ }
+}
+
void parser_l_init(void)
{
prot1(&form_to_ln_hash);