summaryrefslogtreecommitdiffstats
path: root/parser.y
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-07-30 07:29:44 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-07-30 07:29:44 -0700
commitff4d78c938128cd0572f6469425005d9019a7f38 (patch)
tree877b69ca541b02dd8dccd4de14f04dd7ef21db7a /parser.y
parent550c1292e61f52cd1bdcf135520706bbfd6a3464 (diff)
downloadtxr-ff4d78c938128cd0572f6469425005d9019a7f38.tar.gz
txr-ff4d78c938128cd0572f6469425005d9019a7f38.tar.bz2
txr-ff4d78c938128cd0572f6469425005d9019a7f38.zip
* parser.l: Allow unquotes and splices in QSPECIAL and BRACED states.
* parser.y (quasi_item): Support splices as items. * genvim.txr: Syntax highlighting support for unquotes in quasiliterals. * txr.vim: Updated.
Diffstat (limited to 'parser.y')
-rw-r--r--parser.y2
1 files changed, 2 insertions, 0 deletions
diff --git a/parser.y b/parser.y
index 68f54fc0..d59657c5 100644
--- a/parser.y
+++ b/parser.y
@@ -950,6 +950,8 @@ quasi_item : litchars { $$ = lit_char_helper($1); }
| METANUM { $$ = cons(var_s, cons($1, nil));
rl($$, num(lineno)); }
| list { $$ = rlcp(cons(expr_s, $1), $1); }
+ | ',' n_expr { $$ = rlcp(cons(expr_s, list(sys_unquote_s, $2, nao)), $2); }
+ | SPLICE n_expr { $$ = rlcp(cons(expr_s, list(sys_splice_s, $2, nao)), $2); }
;
litchars : LITCHAR { $$ = rl(cons(chr($1), nil), num(lineno)); }