From 9bbd125e4567d0cb97b941bca476435ea98087ea Mon Sep 17 00:00:00 2001 From: Roland Heyder Date: Fri, 26 Jan 2024 00:15:41 +0100 Subject: [PATCH 1/5] Refactoring ExportAs function - reduce memory impact - fix $NOPREFIX issue - improved checks to avoid faulty highligting of unquoted text in DATA lines and meta lines such as $VERSIONINFO or $ERROR - fixed a wrong Wiki link (SHELL fucntion) --- source/ide/ide_methods.bas | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index afdd151c8..67742f8a3 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -20444,10 +20444,10 @@ SUB ExportCodeAs (docFormat$) sTxt$ = LEFT$(sTxt$, LEN(sTxt$) - LEN(cEol$)) WEND IF sTxt$ = "" THEN sTxt$ = sTxt$ + cEol$: ELSE sTxt$ = sTxt$ + cEol$ + cEol$ - sLen& = LEN(sTxt$) ' '=> source code length - sPos& = 1 ' '=> source code read position - eTxt$ = SPACE$(10000000) '=> export text buffer - ePos& = 1 ' '=> export text buffer write position + sLen& = LEN(sTxt$) ' '=> source code length + sPos& = 1 ' '=> source code read position + eTxt$ = SPACE$(1000000) '=> export text buffer + ePos& = 1 ' '=> export text buffer write position '---------- post% = 0 ''=> GOSUB argument = 0/-1 (close pre current / post current char) what$ = "" '=> GOSUB argument = command descriptor @@ -20469,6 +20469,7 @@ SUB ExportCodeAs (docFormat$) np% = 0 ''=> $NOPREFIX indicator pc% = 0 ''=> pre-compiler indicator ml% = 0 ''=> meta line indicator + dl% = 0 ''=> data line indicator cu% = 0 ''=> custom keyword indicator lb% = 0 ''=> line break indicator nl% = -1 '=> new line indicator @@ -20507,7 +20508,7 @@ SUB ExportCodeAs (docFormat$) GOSUB EndLineOps IF curr% = 13 THEN lb% = -1 END IF - IF curr% = 10 THEN pc% = 0: ml% = 0: lb% = 0: nl% = -1: nt% = -1 + IF curr% = 10 THEN pc% = 0: ml% = 0: dl% = 0: lb% = 0: nl% = -1: nt% = -1 CASE 9, 32 'space IF me% THEN GOSUB VerifyKeyword: GOSUB WriteLink: me% = 0: le% = 0 @@ -20521,9 +20522,10 @@ SUB ExportCodeAs (docFormat$) kw% = 0: IF in% THEN sk% = -1 SELECT CASE UCASE$(kw$) CASE "REM": IF NOT (co% OR qu%) THEN co% = -1: what$ = "co": GOSUB OpenText + CASE "DATA": dl% = -1 CASE "OPEN": op% = -1 CASE "IF", "ELSEIF", "UNTIL", "WHILE": fu% = -1: bo% = -1 - CASE "THEN": fu% = 0: bo% = 0 + CASE "THEN", "ELSE": fu% = 0: bo% = 0 CASE ELSE FOR i& = 1 TO idn IF ids(i&).subfunc = 2 AND ids(i&).args > 0 THEN @@ -20644,6 +20646,8 @@ SUB ExportCodeAs (docFormat$) IF curr% <> 9 AND curr% <> 10 AND curr% <> 32 THEN nl% = 0 IF NOT sk% THEN ASC(eTxt$, ePos&) = curr%: ePos& = ePos& + 1 sk% = 0: sPos& = sPos& + 1 + '---------- + IF ePos& > LEN(eTxt$) - 10000 THEN eTxt$ = eTxt$ + SPACE$(1000000) 'expand export buffer, if needed WEND GOSUB CloseCodeBlock '---------- @@ -20688,7 +20692,7 @@ SUB ExportCodeAs (docFormat$) RETURN '---------- OpenText: - IF ml% AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN + IF ml% < -1 AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN SELECT CASE LCASE$(docFormat$) CASE "html" SELECT CASE LCASE$(what$) @@ -20723,7 +20727,7 @@ SUB ExportCodeAs (docFormat$) RETURN '---------- CloseText: - IF ml% AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN + IF ml% < -1 AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN SELECT CASE LCASE$(docFormat$) CASE "html" SELECT CASE LCASE$(what$) @@ -20759,22 +20763,23 @@ SUB ExportCodeAs (docFormat$) VerifyKeyword: IF me% THEN veri$ = me$: ELSE veri$ = kw$ IF ASC(veri$, 1) <> 95 THEN flp% = 1: ELSE flp% = 2 - IF (ASC(veri$, flp%) < 91 OR MID$(veri$, flp%, 2) = "gl") AND INSTR(listOfKeywords$, "@" + UCASE$(veri$) + "@") > 0 THEN + IF (ASC(veri$, flp%) < 91 OR MID$(veri$, flp%, 2) = "gl") AND (INSTR(listOfKeywords$, "@" + UCASE$(veri$) + "@") > 0 OR (np% AND INSTR(listOfKeywords$, "@_" + UCASE$(veri$) + "@") > 0)) THEN IF me% AND le% THEN IF INSTR("$DYNAMIC$INCLUDE$STATIC", UCASE$(veri$)) = 0 THEN me$ = "" ELSEIF me% AND NOT le% THEN IF INSTR("$DYNAMIC$INCLUDE$STATIC", UCASE$(veri$)) > 0 THEN me$ = "" END IF + IF ((ml% < -1 AND NOT pc%) OR dl%) AND me% THEN me$ = "" + IF ((ml% < -1 AND NOT pc%) OR dl%) AND kw% THEN kw$ = "" IF pc% THEN me$ = veri$ - ELSEIF np% AND kw% THEN - IF ASC(veri$, 1) > 90 OR INSTR(listOfKeywords$, "@_" + UCASE$(veri$) + "@") = 0 THEN kw$ = "" - ELSEIF NOT ml% AND INSTR(listOfCustomKeywords$, "@" + UCASE$(removesymbol2$(veri$)) + "@") > 0 THEN + ELSEIF NOT (ml% < 0 OR dl%) AND INSTR(listOfCustomKeywords$, "@" + UCASE$(removesymbol2$(veri$)) + "@") > 0 THEN cu% = -1 ELSEIF pc% AND INSTR(UserDefineList$, "@" + UCASE$(veri$) + "@") > 0 THEN cu% = -1 ELSE IF me% THEN me$ = "": ELSE kw$ = "" END IF + IF ml% < 0 AND curr% <> 58 THEN ml% = -2 RETURN '---------- FindWikiPage: @@ -20785,8 +20790,8 @@ SUB ExportCodeAs (docFormat$) CASE "FOR", "OUTPUT", "APPEND", "INPUT", "BINARY", "RANDOM": page$ = "OPEN#File_Access_Modes" CASE ELSE: page$ = "OPEN" END SELECT - ELSEIF fu% AND ((INSTR(fu$, "@" + page$ + "@") > 0) OR (np% AND INSTR(fu$, "@_" + page$ + "@") > 0)) THEN - IF page$ = "SHELL" THEN page$ = page$ + " (QB64 function)": ELSE page$ = page$ + " (function)" + ELSEIF (fu% < 0) AND ((INSTR(fu$, "@" + page$ + "@") > 0) OR (np% AND INSTR(fu$, "@_" + page$ + "@") > 0)) THEN + page$ = page$ + " (function)" ELSEIF bo% AND INSTR(bo$, "@" + page$ + "@") > 0 THEN 'np% check omitted (legacy words only) page$ = page$ + " (boolean)" ELSEIF ((INSTR(ma$, "@" + page$ + "@") > 0) OR (np% AND INSTR(ma$, "@_" + page$ + "@") > 0)) THEN From b8424f13369f52ac55d6b879a24fef9bb16be130 Mon Sep 17 00:00:00 2001 From: Roland Heyder Date: Fri, 26 Jan 2024 00:32:11 +0100 Subject: [PATCH 2/5] Refactoring $ASSERTS:CONSOLE highlighting - according to other multipart meta-commands, make the CONSOLE part a regular keyword - grouping meta handling blocks (removed some blank lines) --- source/ide/ide_methods.bas | 4 ---- source/qb64pe.bas | 6 ------ source/subs_functions/syntax_highlighter_list.bas | 2 +- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index 67742f8a3..09db45d44 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -12914,10 +12914,6 @@ SUB ideshowtext (UCASE$(LEFT$(LTRIM$(a2$), 3)) = "$IF" OR _ UCASE$(LEFT$(LTRIM$(a2$), 7)) = "$ELSEIF") THEN metacommand = -1 - ELSEIF checkKeyword$ = "$ASSERTS" THEN - IF UCASE$(_TRIM$(a2$)) = "$ASSERTS:CONSOLE" THEN - checkKeyword$ = "$ASSERTS:CONSOLE" - END IF END IF isKeyword = LEN(checkKeyword$) ELSEIF INSTR(listOfCustomKeywords$, "@" + removesymbol2$(checkKeyword$) + "@") > 0 THEN diff --git a/source/qb64pe.bas b/source/qb64pe.bas index 06c2f336e..8d579823d 100644 --- a/source/qb64pe.bas +++ b/source/qb64pe.bas @@ -3025,7 +3025,6 @@ DO layoutdone = 1 GOTO finishednonexec END IF - IF a3u$ = "$COLOR:32" THEN layout$ = SCase$("$Color:32") IF qb64prefix_set THEN @@ -3049,7 +3048,6 @@ DO addWarning linenumber, inclevel, inclinenumber(inclevel), incname$(inclevel), "Deprecated feature", "$VirtualKeyboard" GOTO finishednonexec END IF - IF a3u$ = "$VIRTUALKEYBOARD:OFF" THEN 'Deprecated; does nothing. layout$ = SCase$("$VirtualKeyboard:Off") @@ -3073,7 +3071,6 @@ DO END IF GOTO finishednonexec END IF - IF a3u$ = "$CHECKING:ON" THEN layout$ = SCase$("$Checking:On") NoChecks = 0 @@ -3085,7 +3082,6 @@ DO Console = 1 GOTO finishednonexec END IF - IF a3u$ = "$CONSOLE:ONLY" THEN layout$ = SCase$("$Console:Only") DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) = DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) OR 1 @@ -3105,7 +3101,6 @@ DO Asserts = 1 GOTO finishednonexec END IF - IF a3u$ = "$ASSERTS:CONSOLE" THEN layout$ = SCase$("$Asserts:Console") Asserts = 1 @@ -3134,7 +3129,6 @@ DO Resize = 1: Resize_Scale = 0 GOTO finishednonexec END IF - IF a3u$ = "$RESIZE:STRETCH" THEN layout$ = SCase$("$Resize:Stretch") Resize = 1: Resize_Scale = 1 diff --git a/source/subs_functions/syntax_highlighter_list.bas b/source/subs_functions/syntax_highlighter_list.bas index b94f6b311..30ed41c8e 100644 --- a/source/subs_functions/syntax_highlighter_list.bas +++ b/source/subs_functions/syntax_highlighter_list.bas @@ -4,6 +4,6 @@ listOfKeywords$ = listOfKeywords$ + "_ERRORLINE@_ERRORMESSAGE$@_EXIT@_EXPLICIT@_ listOfKeywords$ = listOfKeywords$ + "_GLCOPYTEXSUBIMAGE2D@_GLCULLFACE@_GLDELETELISTS@_GLDELETETEXTURES@_GLDEPTHFUNC@_GLDEPTHMASK@_GLDEPTHRANGE@_GLDISABLE@_GLDISABLECLIENTSTATE@_GLDRAWARRAYS@_GLDRAWBUFFER@_GLDRAWELEMENTS@_GLDRAWPIXELS@_GLEDGEFLAG@_GLEDGEFLAGPOINTER@_GLEDGEFLAGV@_GLENABLE@_GLENABLECLIENTSTATE@_GLEND@_GLENDLIST@_GLEVALCOORD1D@_GLEVALCOORD1DV@_GLEVALCOORD1F@_GLEVALCOORD1FV@_GLEVALCOORD2D@_GLEVALCOORD2DV@_GLEVALCOORD2F@_GLEVALCOORD2FV@_GLEVALMESH1@_GLEVALMESH2@_GLEVALPOINT1@_GLEVALPOINT2@_GLFEEDBACKBUFFER@_GLFINISH@_GLFLUSH@_GLFOGF@_GLFOGFV@_GLFOGI@_GLFOGIV@_GLFRONTFACE@_GLFRUSTUM@_GLGENLISTS@_GLGENTEXTURES@_GLGETBOOLEANV@_GLGETCLIPPLANE@_GLGETDOUBLEV@_GLGETERROR@_GLGETFLOATV@_GLGETINTEGERV@_GLGETLIGHTFV@_GLGETLIGHTIV@_GLGETMAPDV@_GLGETMAPFV@_GLGETMAPIV@_GLGETMATERIALFV@_GLGETMATERIALIV@_GLGETPIXELMAPFV@_GLGETPIXELMAPUIV@_GLGETPIXELMAPUSV@_GLGETPOINTERV@_GLGETPOLYGONSTIPPLE@_GLGETSTRING@_GLGETTEXENVFV@_GLGETTEXENVIV@_GLGETTEXGENDV@_GLGETTEXGENFV@_GLGETTEXGENIV@_GLGETTEXIMAGE@_GLGETTEXLEVELPARAMETERFV@_GLGETTEXLEVELPARAMETERIV@_GLGETTEXPARAMETERFV@_GLGETTEXPARAMETERIV@_GLHINT@_GLINDEXMASK@_GLINDEXPOINTER@_GLINDEXD@_GLINDEXDV@_GLINDEXF@_GLINDEXFV@_GLINDEXI@_GLINDEXIV@_GLINDEXS@_GLINDEXSV@_GLINDEXUB@_GLINDEXUBV@_GLINITNAMES@_GLINTERLEAVEDARRAYS@_GLISENABLED@_GLISLIST@_GLISTEXTURE@_GLLIGHTMODELF@_GLLIGHTMODELFV@_GLLIGHTMODELI@_GLLIGHTMODELIV@_GLLIGHTF@_GLLIGHTFV@_GLLIGHTI@_GLLIGHTIV@_GLLINESTIPPLE@_GLLINEWIDTH@_GLLISTBASE@_GLLOADIDENTITY@_GLLOADMATRIXD@_GLLOADMATRIXF@_GLLOADNAME@_GLLOGICOP@_GLMAP1D@_GLMAP1F@_GLMAP2D@_GLMAP2F@_GLMAPGRID1D@_GLMAPGRID1F@_GLMAPGRID2D@_GLMAPGRID2F@_GLMATERIALF@_GLMATERIALFV@_GLMATERIALI@_GLMATERIALIV@_GLMATRIXMODE@_GLMULTMATRIXD@_GLMULTMATRIXF@_GLNEWLIST@_GLNORMAL3B@_GLNORMAL3BV@_GLNORMAL3D@_GLNORMAL3DV@_GLNORMAL3F@_GLNORMAL3FV@_GLNORMAL3I@_GLNORMAL3IV@_GLNORMAL3S@_GLNORMAL3SV@_GLNORMALPOINTER@_GLORTHO@_GLPASSTHROUGH@_GLPIXELMAPFV@_GLPIXELMAPUIV@_GLPIXELMAPUSV@_GLPIXELSTOREF@_GLPIXELSTOREI@_GLPIXELTRANSFERF@_GLPIXELTRANSFERI@_GLPIXELZOOM@_GLPOINTSIZE@_GLPOLYGONMODE@_GLPOLYGONOFFSET@_GLPOLYGONSTIPPLE@" listOfKeywords$ = listOfKeywords$ + "_GLPOPATTRIB@_GLPOPCLIENTATTRIB@_GLPOPMATRIX@_GLPOPNAME@_GLPRIORITIZETEXTURES@_GLPUSHATTRIB@_GLPUSHCLIENTATTRIB@_GLPUSHMATRIX@_GLPUSHNAME@_GLRASTERPOS2D@_GLRASTERPOS2DV@_GLRASTERPOS2F@_GLRASTERPOS2FV@_GLRASTERPOS2I@_GLRASTERPOS2IV@_GLRASTERPOS2S@_GLRASTERPOS2SV@_GLRASTERPOS3D@_GLRASTERPOS3DV@_GLRASTERPOS3F@_GLRASTERPOS3FV@_GLRASTERPOS3I@_GLRASTERPOS3IV@_GLRASTERPOS3S@_GLRASTERPOS3SV@_GLRASTERPOS4D@_GLRASTERPOS4DV@_GLRASTERPOS4F@_GLRASTERPOS4FV@_GLRASTERPOS4I@_GLRASTERPOS4IV@_GLRASTERPOS4S@_GLRASTERPOS4SV@_GLREADBUFFER@_GLREADPIXELS@_GLRECTD@_GLRECTDV@_GLRECTF@_GLRECTFV@_GLRECTI@_GLRECTIV@_GLRECTS@_GLRECTSV@_GLRENDERMODE@_GLROTATED@_GLROTATEF@_GLSCALED@_GLSCALEF@_GLSCISSOR@_GLSELECTBUFFER@_GLSHADEMODEL@_GLSTENCILFUNC@_GLSTENCILMASK@_GLSTENCILOP@_GLTEXCOORD1D@_GLTEXCOORD1DV@_GLTEXCOORD1F@_GLTEXCOORD1FV@_GLTEXCOORD1I@_GLTEXCOORD1IV@_GLTEXCOORD1S@_GLTEXCOORD1SV@_GLTEXCOORD2D@_GLTEXCOORD2DV@_GLTEXCOORD2F@_GLTEXCOORD2FV@_GLTEXCOORD2I@_GLTEXCOORD2IV@_GLTEXCOORD2S@_GLTEXCOORD2SV@_GLTEXCOORD3D@_GLTEXCOORD3DV@_GLTEXCOORD3F@_GLTEXCOORD3FV@_GLTEXCOORD3I@_GLTEXCOORD3IV@_GLTEXCOORD3S@_GLTEXCOORD3SV@_GLTEXCOORD4D@_GLTEXCOORD4DV@_GLTEXCOORD4F@_GLTEXCOORD4FV@_GLTEXCOORD4I@_GLTEXCOORD4IV@_GLTEXCOORD4S@_GLTEXCOORD4SV@_GLTEXCOORDPOINTER@_GLTEXENVF@_GLTEXENVFV@_GLTEXENVI@_GLTEXENVIV@_GLTEXGEND@_GLTEXGENDV@_GLTEXGENF@_GLTEXGENFV@_GLTEXGENI@_GLTEXGENIV@_GLTEXIMAGE1D@_GLTEXIMAGE2D@_GLTEXPARAMETERF@_GLTEXPARAMETERFV@_GLTEXPARAMETERI@_GLTEXPARAMETERIV@_GLTEXSUBIMAGE1D@_GLTEXSUBIMAGE2D@_GLTRANSLATED@_GLTRANSLATEF@_GLVERTEX2D@_GLVERTEX2DV@_GLVERTEX2F@_GLVERTEX2FV@_GLVERTEX2I@_GLVERTEX2IV@_GLVERTEX2S@_GLVERTEX2SV@_GLVERTEX3D@_GLVERTEX3DV@_GLVERTEX3F@_GLVERTEX3FV@_GLVERTEX3I@_GLVERTEX3IV@_GLVERTEX3S@_GLVERTEX3SV@_GLVERTEX4D@_GLVERTEX4DV@_GLVERTEX4F@_GLVERTEX4FV@_GLVERTEX4I@_GLVERTEX4IV@_GLVERTEX4S@_GLVERTEX4SV@_GLVERTEXPOINTER@_GLVIEWPORT@SMOOTH@STRETCH@_ANTICLOCKWISE@_BEHIND@_CLEAR@_FILLBACKGROUND@_GLUPERSPECTIVE@_HARDWARE@_HARDWARE1@_KEEPBACKGROUND@_NONE@_OFF@_ONLY@_ONLYBACKGROUND@_ONTOP@_SEAMLESS@_SMOOTH@_SMOOTHSHRUNK@_SMOOTHSTRETCHED@" listOfKeywords$ = listOfKeywords$ + "_SOFTWARE@_SQUAREPIXELS@_STRETCH@_ALLOWFULLSCREEN@_ALL@_ECHO@_INSTRREV@_TRIM$@_ACCEPTFILEDROP@_FINISHDROP@_TOTALDROPPEDFILES@_DROPPEDFILE@_DROPPEDFILE$@_SHR@_SHL@_ROR@_ROL@" -listOfKeywords$ = listOfKeywords$ + "_DEFLATE$@_INFLATE$@_READBIT@_RESETBIT@_SETBIT@_TOGGLEBIT@$ASSERTS@_ASSERT@_CAPSLOCK@_NUMLOCK@_SCROLLLOCK@_TOGGLE@_CONSOLEFONT@_CONSOLECURSOR@_CONSOLEINPUT@_CINP@$NOPREFIX@$COLOR@$DEBUG@$EMBED@_EMBEDDED$@_ENVIRONCOUNT@$UNSTABLE@$MIDISOUNDFONT@" +listOfKeywords$ = listOfKeywords$ + "_DEFLATE$@_INFLATE$@_READBIT@_RESETBIT@_SETBIT@_TOGGLEBIT@$ASSERTS@CONSOLE@_ASSERT@_CAPSLOCK@_NUMLOCK@_SCROLLLOCK@_TOGGLE@_CONSOLEFONT@_CONSOLECURSOR@_CONSOLEINPUT@_CINP@$NOPREFIX@$COLOR@$DEBUG@$EMBED@_EMBEDDED$@_ENVIRONCOUNT@$UNSTABLE@$MIDISOUNDFONT@" listOfKeywords$ = listOfKeywords$ + "_NOTIFYPOPUP@_MESSAGEBOX@_INPUTBOX$@_SELECTFOLDERDIALOG$@_COLORCHOOSERDIALOG@_OPENFILEDIALOG$@_SAVEFILEDIALOG$@_SAVEIMAGE@_FILES$@_FULLPATH$@" listOfKeywords$ = listOfKeywords$ + "_STATUSCODE@_SNDNEW@_SCALEDWIDTH@_SCALEDHEIGHT@_UFONTHEIGHT@_UPRINTWIDTH@_ULINESPACING@_UPRINTSTRING@_UCHARPOS@" From f24cabd9ad78c0ac61880e3034321907131f17ea Mon Sep 17 00:00:00 2001 From: Roland Heyder Date: Fri, 26 Jan 2024 00:43:38 +0100 Subject: [PATCH 3/5] Rename internal meta flags - mainly done to avoid faulty highlighting, but also makes more sense IMO --- source/qb64pe.bas | 55 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/source/qb64pe.bas b/source/qb64pe.bas index 8d579823d..4aaaaa7c7 100644 --- a/source/qb64pe.bas +++ b/source/qb64pe.bas @@ -154,10 +154,11 @@ DIM SHARED viLegalCopyright$, viLegalTrademarks$, viOriginalFilename$ DIM SHARED viProductName$, viProductVersion$, viComments$, viWeb$ DIM SHARED NoChecks +DIM SHARED ConsoleOn +DIM SHARED ScreenHideOn +DIM SHARED AssertsOn +DIM SHARED ResizeOn, ResizeScale -DIM SHARED Console -DIM SHARED ScreenHide -DIM SHARED Asserts DIM SHARED OptMax AS LONG OptMax = 256 REDIM SHARED Opt(1 TO OptMax, 1 TO 10) AS STRING * 256 @@ -1142,9 +1143,6 @@ lastLineReturn = 0 lastLine = 0 firstLine = 1 -Resize = 0 -Resize_Scale = 0 - UseGL = 0 Error_Happened = 0 @@ -1294,9 +1292,10 @@ HashAdd "WHILE", f, 0 'clear/init variables -Console = 0 -ScreenHide = 0 -Asserts = 0 +ConsoleOn = 0 +ScreenHideOn = 0 +AssertsOn = 0 +ResizeOn = 0: ResizeScale = 0 ResolveStaticFunctions = 0 dynamiclibrary = 0 dimsfarray = 0 @@ -3079,13 +3078,13 @@ DO IF a3u$ = "$CONSOLE" THEN layout$ = SCase$("$Console") - Console = 1 + ConsoleOn = 1 GOTO finishednonexec END IF IF a3u$ = "$CONSOLE:ONLY" THEN layout$ = SCase$("$Console:Only") DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) = DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) OR 1 - Console = 1 + ConsoleOn = 1 IF prepass = 0 THEN IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "do{" WriteBufLine MainTxtBuf, "sub__dest(func__console());" @@ -3098,45 +3097,45 @@ DO IF a3u$ = "$ASSERTS" THEN layout$ = SCase$("$Asserts") - Asserts = 1 + AssertsOn = 1 GOTO finishednonexec END IF IF a3u$ = "$ASSERTS:CONSOLE" THEN layout$ = SCase$("$Asserts:Console") - Asserts = 1 - Console = 1 + AssertsOn = 1 + ConsoleOn = 1 GOTO finishednonexec END IF IF a3u$ = "$SCREENHIDE" THEN layout$ = SCase$("$ScreenHide") - ScreenHide = 1 + ScreenHideOn = 1 GOTO finishednonexec END IF IF a3u$ = "$SCREENSHOW" THEN layout$ = SCase$("$ScreenShow") - ScreenHide = 0 + ScreenHideOn = 0 GOTO finishednonexec END IF IF a3u$ = "$RESIZE:OFF" THEN layout$ = SCase$("$Resize:Off") - Resize = 0: Resize_Scale = 0 + ResizeOn = 0: ResizeScale = 0 GOTO finishednonexec END IF IF a3u$ = "$RESIZE:ON" THEN layout$ = SCase$("$Resize:On") - Resize = 1: Resize_Scale = 0 + ResizeOn = 1: ResizeScale = 0 GOTO finishednonexec END IF IF a3u$ = "$RESIZE:STRETCH" THEN layout$ = SCase$("$Resize:Stretch") - Resize = 1: Resize_Scale = 1 + ResizeOn = 1: ResizeScale = 1 GOTO finishednonexec END IF IF a3u$ = "$RESIZE:SMOOTH" THEN layout$ = SCase$("$Resize:Smooth") - Resize = 1: Resize_Scale = 2 + ResizeOn = 1: ResizeScale = 2 GOTO finishednonexec END IF @@ -7796,7 +7795,7 @@ DO '_ECHO checking IF firstelement$ = "_ECHO" OR (firstelement$ = "ECHO" AND qb64prefix_set = 1) THEN - IF Console = 0 THEN + IF ConsoleOn = 0 THEN a$ = qb64prefix$ + "ECHO requires $CONSOLE or $CONSOLE:ONLY to be set first": GOTO errmes END IF END IF @@ -11851,19 +11850,19 @@ defdatahandle = GlobTxtBuf DataTxtBuf = OpenBuffer%("A", tmpdir$ + "maindata.txt") FreeTxtBuf = OpenBuffer%("A", tmpdir$ + "mainfree.txt") -IF Console THEN +IF ConsoleOn THEN WriteBufLine GlobTxtBuf, "int32 console=1;" ELSE WriteBufLine GlobTxtBuf, "int32 console=0;" END IF -IF ScreenHide THEN +IF ScreenHideOn THEN WriteBufLine GlobTxtBuf, "int32 screen_hide_startup=1;" ELSE WriteBufLine GlobTxtBuf, "int32 screen_hide_startup=0;" END IF -IF Asserts THEN +IF AssertsOn THEN WriteBufLine GlobTxtBuf, "int32 asserts=1;" ELSE WriteBufLine GlobTxtBuf, "int32 asserts=0;" @@ -11876,11 +11875,11 @@ ELSE END IF bh = OpenBuffer%("A", tmpdir$ + "dyninfo.txt") -IF Resize THEN +IF ResizeOn THEN WriteBufLine bh, "ScreenResize=1;" END IF -IF Resize_Scale THEN - WriteBufLine bh, "ScreenResizeScale=" + str2(Resize_Scale) + ";" +IF ResizeScale THEN + WriteBufLine bh, "ScreenResizeScale=" + str2(ResizeScale) + ";" END IF IF vWatchOn = 1 THEN @@ -12537,7 +12536,7 @@ IF DEPENDENCY(DEPENDENCY_DEVICEINPUT) THEN makedeps$ = makedeps$ + " DEP_DEVICEI IF DEPENDENCY(DEPENDENCY_ZLIB) THEN makedeps$ = makedeps$ + " DEP_ZLIB=y" IF inline_DATA = 0 AND DataOffset THEN makedeps$ = makedeps$ + " DEP_DATA=y" IF DEPENDENCY(DEPENDENCY_EMBED) THEN makedeps$ = makedeps$ + " DEP_EMBED=y" -IF Console THEN makedeps$ = makedeps$ + " DEP_CONSOLE=y" +IF ConsoleOn THEN makedeps$ = makedeps$ + " DEP_CONSOLE=y" IF ExeIconSet OR VersionInfoSet THEN makedeps$ = makedeps$ + " DEP_ICON_RC=y" IF DEPENDENCY(DEPENDENCY_MINIAUDIO) THEN makedeps$ = makedeps$ + " DEP_AUDIO_MINIAUDIO=y" From d83b6d9557d8c029cc19d82cf7d9c11fb87bbc32 Mon Sep 17 00:00:00 2001 From: Roland Heyder Date: Fri, 26 Jan 2024 00:51:29 +0100 Subject: [PATCH 4/5] Rename internal $CHECKING flag - this completes the previous commit, but as it also swapped the true/false logic, it was made as extra commit --- source/qb64pe.bas | 78 +++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/source/qb64pe.bas b/source/qb64pe.bas index 4aaaaa7c7..e37733179 100644 --- a/source/qb64pe.bas +++ b/source/qb64pe.bas @@ -153,7 +153,7 @@ DIM SHARED viFileDescription$, viFileVersion$, viInternalName$ DIM SHARED viLegalCopyright$, viLegalTrademarks$, viOriginalFilename$ DIM SHARED viProductName$, viProductVersion$, viComments$, viWeb$ -DIM SHARED NoChecks +DIM SHARED CheckingOn DIM SHARED ConsoleOn DIM SHARED ScreenHideOn DIM SHARED AssertsOn @@ -1292,6 +1292,7 @@ HashAdd "WHILE", f, 0 'clear/init variables +CheckingOn = 1 ConsoleOn = 0 ScreenHideOn = 0 AssertsOn = 0 @@ -1315,7 +1316,6 @@ staticarraylist = "": staticarraylistn = 0 fooindwel = 0 layout = "" layoutok = 0 -NoChecks = 0 inclevel = 0 errorLineInInclude = 0 addmetainclude$ = "" @@ -3064,7 +3064,7 @@ DO IF a3u$ = "$CHECKING:OFF" THEN layout$ = SCase$("$Checking:Off") - NoChecks = 1 + CheckingOn = 0 IF vWatchOn <> 0 AND NoIDEMode = 0 AND inclevel = 0 THEN addWarning linenumber, inclevel, inclinenumber(inclevel), incname$(inclevel), "$Debug", "$Debug features won't work in $Checking:Off blocks" END IF @@ -3072,7 +3072,7 @@ DO END IF IF a3u$ = "$CHECKING:ON" THEN layout$ = SCase$("$Checking:On") - NoChecks = 0 + CheckingOn = 1 GOTO finishednonexec END IF @@ -3086,7 +3086,7 @@ DO DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) = DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) OR 1 ConsoleOn = 1 IF prepass = 0 THEN - IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "do{" + IF CheckingOn THEN WriteBufLine MainTxtBuf, "do{" WriteBufLine MainTxtBuf, "sub__dest(func__console());" WriteBufLine MainTxtBuf, "sub__source(func__console());" GOTO finishedline2 @@ -3361,7 +3361,7 @@ DO ExeIconSet = linenumber SetDependency DEPENDENCY_ICON - IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "do{" + IF CheckingOn THEN WriteBufLine MainTxtBuf, "do{" WriteBufLine MainTxtBuf, "sub__icon(NULL,NULL,0);" GOTO finishedline2 END IF @@ -3531,7 +3531,7 @@ DO thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) END IF - IF NoChecks = 0 THEN + IF CheckingOn THEN IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");r=0;}" END IF @@ -3592,7 +3592,7 @@ DO thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) END IF - IF NoChecks = 0 THEN + IF CheckingOn THEN IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");r=0;}" END IF @@ -5413,7 +5413,7 @@ DO dimstatic = 0 WriteBufLine MainTxtBuf, "exit_subfunc:;" IF vWatchOn = 1 THEN - IF NoChecks = 0 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" vWatchAddLabel 0, -1 @@ -5682,7 +5682,7 @@ DO IF controltype(controllevel) <> 2 THEN a$ = "NEXT without FOR": GOTO errmes IF n <> 1 AND controlvalue(controllevel) <> currentid THEN a$ = "Incorrect variable after NEXT": GOTO errmes WriteBufLine MainTxtBuf, "fornext_continue_" + str2$(controlid(controllevel)) + ":;" - IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND NoChecks = 0 THEN + IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND CheckingOn = 1 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -5710,7 +5710,7 @@ DO IF n >= 1 THEN IF firstelement$ = "WHILE" THEN - IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 'prevents code from being placed before 'CASE condition' in a SELECT CASE block IF SelectCaseCounter > 0 AND SelectCaseHasCaseBlock(SelectCaseCounter) = 0 THEN @@ -5732,7 +5732,7 @@ DO IF Error_Happened THEN GOTO errmes IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF (typ AND ISSTRING) THEN a$ = "WHILE ERROR! Cannot accept a STRING type.": GOTO errmes - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -5766,7 +5766,7 @@ DO IF n >= 1 THEN IF firstelement$ = "DO" THEN - IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 'prevents code from being placed before 'CASE condition' in a SELECT CASE block IF SelectCaseCounter > 0 AND SelectCaseHasCaseBlock(SelectCaseCounter) = 0 THEN @@ -5792,14 +5792,14 @@ DO IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF (typ AND ISSTRING) THEN a$ = "DO ERROR! Cannot accept a STRING type.": GOTO errmes IF whileuntil = 1 THEN WriteBufLine MainTxtBuf, "while((" + e$ + ")||new_error){" ELSE WriteBufLine MainTxtBuf, "while((!(" + e$ + "))||new_error){" - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF controltype(controllevel) = 4 ELSE controltype(controllevel) = 3 - IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND NoChecks = 0 THEN + IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND CheckingOn = 1 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" ELSE @@ -5817,7 +5817,7 @@ DO l$ = SCase$("Loop") IF controltype(controllevel) <> 3 AND controltype(controllevel) <> 4 THEN a$ = "PROGRAM FLOW ERROR!": GOTO errmes IF n >= 2 THEN - IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF controltype(controllevel) = 4 THEN a$ = "PROGRAM FLOW ERROR!": GOTO errmes whileuntil = 0 IF secondelement$ = "WHILE" THEN whileuntil = 1: l$ = l$ + sp + SCase$("While") @@ -5834,7 +5834,7 @@ DO IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF (typ AND ISSTRING) THEN a$ = "LOOP ERROR! Cannot accept a STRING type.": GOTO errmes WriteBufLine MainTxtBuf, "dl_continue_" + str2$(controlid(controllevel)) + ":;" - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -5842,7 +5842,7 @@ DO ELSE WriteBufLine MainTxtBuf, "dl_continue_" + str2$(controlid(controllevel)) + ":;" - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -5871,7 +5871,7 @@ DO IF n >= 1 THEN IF firstelement$ = "FOR" THEN - IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 l$ = SCase$("For") @@ -5996,7 +5996,7 @@ DO e$ = evaluatetotyp(e$, ctyp) IF Error_Happened THEN GOTO errmes - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -6082,7 +6082,7 @@ DO IF n >= 3 THEN IF firstelement$ = "ELSEIF" THEN - IF NoChecks = 0 THEN + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 @@ -6124,7 +6124,7 @@ DO IF n >= 3 THEN IF firstelement$ = "IF" THEN - IF NoChecks = 0 THEN + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 @@ -6209,7 +6209,7 @@ DO IF LEN(layout$) = 0 THEN layout$ = l$ ELSE layout$ = layout$ + sp + l$ END IF - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -6228,7 +6228,7 @@ DO 'SELECT CASE IF n >= 1 THEN IF firstelement$ = "SELECT" THEN - IF NoChecks = 0 THEN + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 @@ -6356,7 +6356,7 @@ DO WriteBufLine MainTxtBuf, "sc_" + str2$(controlid(controllevel)) + "_end:;" IF controltype(controllevel) < 10 OR controltype(controllevel) > 17 THEN a$ = "END SELECT without SELECT CASE": GOTO errmes - IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN + IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" END IF @@ -6473,7 +6473,7 @@ DO END IF END IF - IF NoChecks = 0 THEN + IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 @@ -6663,7 +6663,7 @@ DO 'static scope commands: - IF NoChecks = 0 THEN + IF CheckingOn THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN vWatchAddLabel linenumber, 0 WriteBufLine MainTxtBuf, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" @@ -9009,7 +9009,7 @@ DO thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) END IF - IF vWatchOn = 1 AND NoChecks = 0 AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" + IF vWatchOn = 1 AND CheckingOn = 1 AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");}" 'non-resumable error check (cannot exit without handling errors) WriteBufLine MainTxtBuf, "exit_code=" + e$ + ";" l$ = l$ + sp + l2$ @@ -9042,7 +9042,7 @@ DO 'note: this value is currently ignored but evaluated for checking reasons END IF layoutdone = 1: IF LEN(layout$) THEN layout$ = layout$ + sp + l$ ELSE layout$ = l$ - IF vWatchOn = 1 AND NoChecks = 0 AND inclinenumber(inclevel) = 0 THEN + IF vWatchOn = 1 AND CheckingOn = 1 AND inclinenumber(inclevel) = 0 THEN WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER=-3; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" vWatchAddLabel linenumber, 0 ELSE @@ -9333,7 +9333,7 @@ DO IF varsize$ = "4" THEN s = 4: st$ = "int32" IF varsize$ = "8" THEN s = 8: st$ = "int64" - IF NoChecks THEN + IF CheckingOn = 0 THEN 'fast version: IF s THEN WriteBufLine MainTxtBuf, "*(" + st$ + "*)" + varoffs$ + "=*(" + st$ + "*)(" + offs$ + ");" @@ -9430,7 +9430,7 @@ DO IF varsize$ = "4" THEN s = 4: st$ = "int32" IF varsize$ = "8" THEN s = 8: st$ = "int64" - IF NoChecks THEN + IF CheckingOn = 0 THEN 'fast version: IF s THEN WriteBufLine MainTxtBuf, "*(" + st$ + "*)(" + offs$ + ")=*(" + st$ + "*)" + varoffs$ + ";" @@ -9474,7 +9474,7 @@ DO e$ = evaluatetotyp(e$, t): IF Error_Happened THEN GOTO errmes st$ = typ2ctyp$(t, "") varsize$ = str2((t AND 511) \ 8) - IF NoChecks THEN + IF CheckingOn = 0 THEN 'fast version: WriteBufLine MainTxtBuf, "*(" + st$ + "*)(" + offs$ + ")=" + e$ + ";" ELSE @@ -9564,7 +9564,7 @@ DO varoffs$ = evaluatetotyp(e$, -6): IF Error_Happened THEN GOTO errmes END IF - IF NoChecks THEN + IF CheckingOn = 0 THEN WriteBufLine MainTxtBuf, "sub__memfill_nochecks(" + offs$ + "," + bytes$ + ",(ptrszint)" + varoffs$ + "," + varsize$ + ");" ELSE WriteBufLine MainTxtBuf, "sub__memfill((mem_block*)" + blkoffs$ + "," + offs$ + "," + bytes$ + ",(ptrszint)" + varoffs$ + "," + varsize$ + ");" @@ -9583,7 +9583,7 @@ DO e$ = evaluatetotyp(e$, t): IF Error_Happened THEN GOTO errmes c$ = "sub__memfill_" - IF NoChecks THEN c$ = "sub__memfill_nochecks_" + IF CheckingOn = 0 THEN c$ = "sub__memfill_nochecks_" IF t AND ISOFFSET THEN c$ = c$ + "OFFSET" ELSE @@ -9596,7 +9596,7 @@ DO END IF END IF c$ = c$ + "(" - IF NoChecks = 0 THEN c$ = c$ + "(mem_block*)" + blkoffs$ + "," + IF CheckingOn THEN c$ = c$ + "(mem_block*)" + blkoffs$ + "," WriteBufLine MainTxtBuf, c$ + offs$ + "," + bytes$ + "," + e$ + ");" END IF @@ -11325,7 +11325,7 @@ DO thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) END IF - IF NoChecks = 0 THEN + IF CheckingOn THEN IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" IF dynscope THEN dynscope = 0 @@ -14020,14 +14020,14 @@ FUNCTION arrayreference$ (indexes$, typ) IF e$ = "" THEN Give_Error "Array index missing": EXIT FUNCTION argi = (elements - curarg) * 4 + 4 IF curarg = 1 THEN - IF NoChecks = 0 THEN + IF CheckingOn THEN r$ = r$ + "array_check((" + e$ + ")-" + n$ + "[" + str2(argi) + "]," + n$ + "[" + str2(argi + 1) + "])+" ELSE r$ = r$ + "(" + e$ + ")-" + n$ + "[" + str2(argi) + "]+" END IF ELSE - IF NoChecks = 0 THEN + IF CheckingOn THEN r$ = r$ + "array_check((" + e$ + ")-" + n$ + "[" + str2(argi) + "]," + n$ + "[" + str2(argi + 1) + "])*" + n$ + "[" + str2(argi + 2) + "]+" ELSE r$ = r$ + "((" + e$ + ")-" + n$ + "[" + str2(argi) + "])*" + n$ + "[" + str2(argi + 2) + "]+" @@ -16695,7 +16695,7 @@ FUNCTION evaluatefunc$ (a2$, args AS LONG, typ AS LONG) 'assume checking off offs$ = evaluatetotyp(memget_offs$, OFFSETTYPE - ISPOINTER) blkoffs$ = evaluatetotyp(memget_blk$, -6) - IF NoChecks = 0 THEN + IF CheckingOn THEN 'change offs$ to be the return of the safe version offs$ = "func__memget((mem_block*)" + blkoffs$ + "," + offs$ + "," + str2(memget_size) + ")" END IF From 13b5d5672b065d768387bdee702801f8086dde8c Mon Sep 17 00:00:00 2001 From: Roland Heyder Date: Fri, 26 Jan 2024 00:56:44 +0100 Subject: [PATCH 5/5] Removed a unused variable - this popped up as warning during my tests, it comes from @mkilgore its latest CONST changes --- source/utilities/elements.bas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/utilities/elements.bas b/source/utilities/elements.bas index b6f124bc4..891a2342d 100644 --- a/source/utilities/elements.bas +++ b/source/utilities/elements.bas @@ -118,7 +118,7 @@ FUNCTION getelementsbefore$ (a$, i1) END FUNCTION FUNCTION getelementsafter$ (a$, i1) - DIM p AS LONG, n AS LONG, i AS LONG, i1pos AS LONG + DIM p AS LONG, n AS LONG, i AS LONG n = 1 p = 1