mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-20 04:24:48 +00:00
Fix math evaluator
The math evaluator was not running the input through lineformat before evaluation, resulting in Evaluate_Expression$() giving the wrong result since the input wasn't tokenized.
This commit is contained in:
parent
b56efe7ec6
commit
c0ac4c58d0
1 changed files with 8 additions and 3 deletions
|
@ -5511,15 +5511,20 @@ FUNCTION ide2 (ignore)
|
||||||
IF LEN(retval$) THEN
|
IF LEN(retval$) THEN
|
||||||
Dim num As ParseNum
|
Dim num As ParseNum
|
||||||
mathEvalExpr$ = retval$
|
mathEvalExpr$ = retval$
|
||||||
|
|
||||||
|
retval$ = lineformat(retval$)
|
||||||
|
Error_Happened = 0
|
||||||
|
|
||||||
ev0$ = Evaluate_Expression$(retval$, num)
|
ev0$ = Evaluate_Expression$(retval$, num)
|
||||||
ev$ = ev0$
|
ev$ = ev0$
|
||||||
|
|
||||||
mathEvalError%% = INSTR(ev$, "ERROR") > 0
|
mathEvalError%% = INSTR(ev$, "ERROR") > 0
|
||||||
IF mathEvalError%% = 0 AND mathEvalHEX%% THEN ev$ = "&H" + HEX$(VAL(ev$))
|
IF mathEvalError%% = 0 AND mathEvalHEX%% THEN ev$ = "&H" + HEX$(num.ui)
|
||||||
DO
|
DO
|
||||||
b1$ = "#Insert;"
|
b1$ = "#Insert;"
|
||||||
IF mathEvalHEX%% THEN b2$ = "#Decimal;" ELSE b2$ = "#HEX$;"
|
IF mathEvalHEX%% THEN b2$ = "#Decimal;" ELSE b2$ = "#HEX$;"
|
||||||
IF mathEvalError%% = 0 AND mathEvalComment%% THEN
|
IF mathEvalError%% = 0 AND mathEvalComment%% THEN
|
||||||
mathMsg$ = ev$ + " '" + retval$
|
mathMsg$ = ev$ + " '" + mathEvalExpr$
|
||||||
b3$ = "#Uncomment;"
|
b3$ = "#Uncomment;"
|
||||||
ELSE
|
ELSE
|
||||||
mathMsg$ = ev$
|
mathMsg$ = ev$
|
||||||
|
@ -5534,7 +5539,7 @@ FUNCTION ide2 (ignore)
|
||||||
EXIT DO
|
EXIT DO
|
||||||
CASE 2
|
CASE 2
|
||||||
mathEvalHEX%% = NOT mathEvalHEX%%
|
mathEvalHEX%% = NOT mathEvalHEX%%
|
||||||
IF mathEvalHEX%% THEN ev$ = "&H" + HEX$(VAL(ev$)) ELSE ev$ = ev0$
|
IF mathEvalHEX%% THEN ev$ = "&H" + HEX$(num.ui) ELSE ev$ = ev0$
|
||||||
CASE 3
|
CASE 3
|
||||||
mathEvalComment%% = NOT mathEvalComment%%
|
mathEvalComment%% = NOT mathEvalComment%%
|
||||||
END SELECT
|
END SELECT
|
||||||
|
|
Loading…
Reference in a new issue