Bug fix: updates within a transaction would fail if there was existed
a temporary table. (CVS 425)
FossilOrigin-Name: 02cc2d60b2a5ee50efdbd90df90810ba559a453f
diff --git a/tool/lemon.c b/tool/lemon.c
index 7cb1080..02fec7a 100644
--- a/tool/lemon.c
+++ b/tool/lemon.c
@@ -2756,9 +2756,9 @@
if( rp->code ){
fprintf(out,"#line %d \"%s\"\n{",rp->line,lemp->filename);
for(cp=rp->code; *cp; cp++){
- if( isalpha(*cp) && (cp==rp->code || !isalnum(cp[-1])) ){
+ if( isalpha(*cp) && (cp==rp->code || (!isalnum(cp[-1]) && cp[-1]!='_')) ){
char saved;
- for(xp= &cp[1]; isalnum(*xp); xp++);
+ for(xp= &cp[1]; isalnum(*xp) || *xp=='_'; xp++);
saved = *xp;
*xp = 0;
if( rp->lhsalias && strcmp(cp,rp->lhsalias)==0 ){