summaryrefslogtreecommitdiffstats
path: root/parser.y
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-03-19 07:57:55 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-03-20 07:52:44 -0700
commit9e8009c03ccb7b0f5c9da22900cf9454b8f69682 (patch)
tree00226298a9a1c1cbb02fb723176bcbd6e1b2b0ca /parser.y
parent430aeaff0cf42ffc4b9cfdda43b3357d766bec21 (diff)
downloadtxr-9e8009c03ccb7b0f5c9da22900cf9454b8f69682.tar.gz
txr-9e8009c03ccb7b0f5c9da22900cf9454b8f69682.tar.bz2
txr-9e8009c03ccb7b0f5c9da22900cf9454b8f69682.zip
Fixing gaping bug in the handling of @-delimited expressions
within quasiliterals. This has been a problem for years. Quasiliteral strings existed very early before TXR Lisp was introduced. So it made sense that when @ is seen in a quasiliteral, the lexical analyzer pushed into the SPECIAL state in which directives are recognized, like in the pattern language. I noticed this because there is an @(if) directive now, which prevents `@(if ...)` from being valid. * parser.l (QSPECIAL): New scanner state. This is a state similar to SPECIAL that we enter into when @ is seen in a QSLIT state. In this state we recognize constructs like braced variables, but not certain other features like directives.
Diffstat (limited to 'parser.y')
0 files changed, 0 insertions, 0 deletions