Fixed bug: RCL on var name from menu in alg mode.

Fixed bug: Implicit multiplication w/invalid ident was accepted.
Added list support to HIDEVAR/LOCKVAR/UNHIDEVAR/UNLOCKVAR
This commit is contained in:
claudio 2017-05-07 22:47:08 -04:00
parent 4574d8ebc4
commit 583df0c7fa
4 changed files with 38 additions and 8 deletions

View file

@ -1299,12 +1299,10 @@ void varsKeyHandler(BINT keymsg,BINT menunum,BINT varnum)
}
uiSeparateToken();
uiInsertCharacters((BYTEPTR)"'");
// JUST INSERT THE NAME IN ALGEBRAIC MODE
uiInsertCharactersN((BYTEPTR)(action+1),(BYTEPTR)(action+1)+rplGetIdentLength(action));
uiInsertCharacters((BYTEPTR)"' RCL");
uiSeparateToken();
uiAutocompleteUpdate();
break;
case 'P':

View file

@ -215,7 +215,8 @@ SOURCES += firmware/ggl/ggl/ggl_bitblt.c \
firmware/ui_render.c \
newrpl/lib-88-plot.c \
newrpl/fastmath.c \
newrpl/render.c
newrpl/render.c \
newrpl/lib-96-composites.c

View file

@ -1020,6 +1020,14 @@ void LIB_HANDLER()
rplError(ERR_BADARGCOUNT);
return;
}
if(ISLIST(*rplPeekData(1))) {
rplListUnaryDoCmd();
return;
}
// ONLY ACCEPT IDENTS AS KEYS
if(!ISIDENT(*rplPeekData(1))) {
@ -1054,6 +1062,13 @@ void LIB_HANDLER()
rplError(ERR_BADARGCOUNT);
return;
}
if(ISLIST(*rplPeekData(1))) {
rplListUnaryDoCmd();
return;
}
// ONLY ACCEPT IDENTS AS KEYS
if(!ISIDENT(*rplPeekData(1))) {
@ -1110,6 +1125,12 @@ void LIB_HANDLER()
rplError(ERR_BADARGCOUNT);
return;
}
if(ISLIST(*rplPeekData(1))) {
rplListUnaryDoCmd();
return;
}
// ONLY ACCEPT IDENTS AS KEYS
if(!ISIDENT(*rplPeekData(1))) {
@ -1142,6 +1163,13 @@ case UNLOCKVAR:
rplError(ERR_BADARGCOUNT);
return;
}
if(ISLIST(*rplPeekData(1))) {
rplListUnaryDoCmd();
return;
}
// ONLY ACCEPT IDENTS AS KEYS
if(!ISIDENT(*rplPeekData(1))) {
@ -1483,7 +1511,7 @@ case UNLOCKVAR:
if(ISPROLOG(*DecompileObject)) {
rplDecompAppendString2((BYTEPTR)"DIRObject",9);
RetNum=OK_CONTINUE;
return;
}

View file

@ -298,7 +298,10 @@ void LIB_HANDLER()
}
else rplCompileReal(&RReg[0]);
tok=((BYTEPTR)TokenStart)+splitoff;
}
} else {
RetNum=ERR_SYNTAX;
return;
}
} else {