@@ -3740,20 +3740,20 @@ bcip_t comp_optimise_line_goto(bcip_t ip) {
37403740}
37413741
37423742// use simpler LET where possible to avoid eval on the right term
3743- bcip_t comp_optimise_let (bcip_t ip , byte kw_opr , char sep , byte opt_kw ) {
3743+ bcip_t comp_optimise_let (bcip_t ip ) {
37443744 bcip_t ip_next = ip + 1 ;
37453745 if (comp_prog .ptr [ip_next ] == kwTYPE_VAR ) {
37463746 ip_next += 1 + sizeof (bcip_t );
37473747 while (ip_next < comp_prog .count && comp_prog .ptr [ip_next ] != kwTYPE_EOC
37483748 && comp_prog .ptr [ip_next ] != kwTYPE_LINE ) {
3749- if (comp_prog .ptr [ip_next ] == kw_opr &&
3750- comp_prog .ptr [ip_next + 1 ] == sep ) {
3749+ if (comp_prog .ptr [ip_next ] == kwTYPE_CMPOPR &&
3750+ comp_prog .ptr [ip_next + 1 ] == '=' ) {
37513751 ip_next += 2 ;
37523752 if (ip_next < comp_prog .count &&
37533753 comp_prog .ptr [ip_next ] == kwTYPE_VAR &&
37543754 (comp_prog .ptr [ip_next + 1 + sizeof (bcip_t )] == kwTYPE_EOC ||
37553755 comp_prog .ptr [ip_next + 1 + sizeof (bcip_t )] == kwTYPE_LINE )) {
3756- comp_prog .ptr [ip ] = opt_kw ;
3756+ comp_prog .ptr [ip ] = kwLET_OPT ;
37573757 ip = ip_next ;
37583758 }
37593759 break ;
@@ -3774,10 +3774,7 @@ void comp_optimise() {
37743774 }
37753775 break ;
37763776 case kwLET :
3777- ip = comp_optimise_let (ip , kwTYPE_CMPOPR , '=' , kwLET_OPT );
3778- break ;
3779- case kwAPPEND :
3780- ip = comp_optimise_let (ip , kwTYPE_SEP , ',' , kwAPPEND_OPT );
3777+ ip = comp_optimise_let (ip );
37813778 break ;
37823779 case kwTYPE_EOC :
37833780 if (!opt_autolocal &&
0 commit comments