treat anything above 0x7f as an alpha. unrelatedly, turn on warnings and error on bad ftune rather than crash. Reference: /n/sources/patch/applied/eqnrune Date: Fri Nov 11 17:02:10 CET 2011 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/eqn/text.c Fri Nov 11 17:00:22 2011 +++ /sys/src/cmd/eqn/text.c Fri Nov 11 17:00:21 2011 @@ -1,6 +1,7 @@ #include "e.h" #include "y.tab.h" #include +#include #define CSSIZE 1000 char cs[CSSIZE+20]; /* text string converted into this */ @@ -42,14 +43,14 @@ wchar_t r; int w; - w = mbtowc(&r, psp, 3); + w = mbtowc(&r, psp, UTFmax); if(w == 0){ psp++; return 0; } if(w < 0){ psp += 1; - return 0x80; /* Plan 9-ism */ + return Runeerror; /* Plan 9-ism */ } psp += w; return r; @@ -112,17 +113,13 @@ printf(".ds %d \"%s\n", yyval, p); } -int isalpharune(int c) -{ - return ('a'<=c && c<='z') || ('A'<=c && c<='Z'); -} - int isdigitrune(int c) { return ('0'<=c && c<='9'); } -trans(int c, char *p1) +int +trans(int c, char *) { int f; --- /sys/src/cmd/eqn/mkfile Fri Nov 11 17:00:24 2011 +++ /sys/src/cmd/eqn/mkfile Fri Nov 11 17:00:23 2011 @@ -35,7 +35,7 @@ CC=pcc LD=pcc YFLAGS=-d -S -CFLAGS=-c +CFLAGS=-w -c eqn.c: y.tab.c prevy.tab.h mv y.tab.c $target