summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2009-11-12 16:34:27 -0800
committerKaz Kylheku <kaz@kylheku.com>2009-11-12 16:34:27 -0800
commitaa4420347f132039a3e37d6996d1e31096fc10de (patch)
treecfebd82beda9e272899efae5e5f5dcfb0fc767fd /parser.l
parent52501f18487dbefaf0282f1bf1cc328b3fe1ab00 (diff)
downloadtxr-aa4420347f132039a3e37d6996d1e31096fc10de.tar.gz
txr-aa4420347f132039a3e37d6996d1e31096fc10de.tar.bz2
txr-aa4420347f132039a3e37d6996d1e31096fc10de.zip
Documenting extended characters in man page.
Cleaned up some more issues related to extended characters.
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l15
1 files changed, 15 insertions, 0 deletions
diff --git a/parser.l b/parser.l
index 5919f929..b15f5ad1 100644
--- a/parser.l
+++ b/parser.l
@@ -399,6 +399,11 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
yyerrorf("bad character in directive: '%s'", yytext);
}
+<SPECIAL,NESTED>. {
+ yyerrorf("non-UTF-8 byte in directive: '\\x%02x'",
+ (unsigned char) yytext[0]);
+ }
+
<REGEX>[/] {
yy_pop_state();
if (yy_top_state() == INITIAL
@@ -452,6 +457,11 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return REGCHAR;
}
+<REGEX>. {
+ yyerrorf("non-UTF-8 byte in regex: '\\x%02x'",
+ (unsigned char) yytext[0]);
+ }
+
<INITIAL>({UONLY}|[^@\n])+ {
yylval.lexeme = utf8_dup_from(yytext);
return TEXT;
@@ -536,4 +546,9 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return LITCHAR;
}
+<STRLIT,CHRLIT,QSILIT>. {
+ yyerrorf("non-UTF-8 byte in literal: '\\x%02x'",
+ (unsigned char) yytext[0]);
+ }
+
%%