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 ){