summaryrefslogtreecommitdiffstats
path: root/genvim.txr
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-07-02 19:56:58 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-07-02 19:56:58 -0700
commit9aaeb2fc604feee26a72a672fd846b4e70c6c1aa (patch)
tree04b94e178dbd26e177524894bef9a24d0dda2176 /genvim.txr
parent7e13dd271df070671f9ef59969307d1bfb045ffb (diff)
downloadtxr-9aaeb2fc604feee26a72a672fd846b4e70c6c1aa.tar.gz
txr-9aaeb2fc604feee26a72a672fd846b4e70c6c1aa.tar.bz2
txr-9aaeb2fc604feee26a72a672fd846b4e70c6c1aa.zip
Support trailing semicolon after hex/octal characters.
* parser.l (%option): Remove nounput option since we need yyunput. (grammar): Rule for matching hex and octal escape in SPECIAL state recognizes optional semicolon. In 109 compatibility, this is pushed back into the stream, otherwise consumed. * txr.1: Updated documentation, including compat notes. * genvim.txr (txr_char): Include optional semicolon in match. Corrected some errors where 8 and 9 were being included as matches for octal digits. (txr_error): Default match for \x or \o not followed by digits.
Diffstat (limited to 'genvim.txr')
-rw-r--r--genvim.txr7
1 files changed, 4 insertions, 3 deletions
diff --git a/genvim.txr b/genvim.txr
index e74ed9c2..5aab351f 100644
--- a/genvim.txr
+++ b/genvim.txr
@@ -78,8 +78,9 @@ syn match txr_atat "@@[ \t]*@@"
syn match txr_comment "@@[ \t]*[#;].*"
syn match txr_contin "@@[ \t]*\\$"
syn match txr_char "@@[ \t]*\\."
-syn match txr_char "@@[ \t]*\\x[0-9A-Fa-f]\+"
-syn match txr_char "@@[ \t]*\\[0-9]\+"
+syn match txr_error "@@[ \t]*\\[xo]"
+syn match txr_char "@@[ \t]*\\x[0-9A-Fa-f]\+;\?"
+syn match txr_char "@@[ \t]*\\[0-7]\+;\?"
syn match txr_variable "@@[ \t]*[*]\?[ \t]*[A-Za-z_][A-Za-z0-9_]*"
syn match txr_splicevar "@@[ \t,*]*[A-Za-z_][A-Za-z0-9_]*"
syn match txr_regdir "@@[ \t]*/\(\\/\|[^/]\|\\\n\)*/"
@@ -97,7 +98,7 @@ syn match txr_regesc "\\[abtnvfre\\ \n/sSdDwW()\|.*?+~&%\[\]\-]" contained
syn match txr_nested_error "[^\t `]\+" contained
syn match txr_chr "#\\x[A-Fa-f0-9]\+"@(if txr-p " contained")
-syn match txr_chr "#\\o[0-9]\+"@(if txr-p " contained")
+syn match txr_chr "#\\o[0-7]\+"@(if txr-p " contained")
syn match txr_chr "#\\[^ \t\nA-Za-z0-9_]"@(if txr-p " contained")
syn match txr_chr "#\\[A-Za-z0-9_]\+"@(if txr-p " contained")
syn match txr_ncomment ";.*"@(if txr-p " contained")