1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-02 03:50:36 +00:00

Merge pull request #438 from QB64-Phoenix-Edition/export-and-meta-refactoring

Export and meta refactoring
This commit is contained in:
Roland Heyder 2024-01-27 16:20:45 +01:00 committed by GitHub
commit 79a919d92c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 87 additions and 93 deletions

View file

@ -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
@ -20444,10 +20440,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 +20465,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 +20504,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 +20518,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 +20642,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 +20688,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 +20723,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 +20759,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 +20786,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

View file

@ -153,11 +153,12 @@ 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
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,11 @@ HashAdd "WHILE", f, 0
'clear/init variables
Console = 0
ScreenHide = 0
Asserts = 0
CheckingOn = 1
ConsoleOn = 0
ScreenHideOn = 0
AssertsOn = 0
ResizeOn = 0: ResizeScale = 0
ResolveStaticFunctions = 0
dynamiclibrary = 0
dimsfarray = 0
@ -1316,7 +1316,6 @@ staticarraylist = "": staticarraylistn = 0
fooindwel = 0
layout = ""
layoutok = 0
NoChecks = 0
inclevel = 0
errorLineInInclude = 0
addmetainclude$ = ""
@ -3025,7 +3024,6 @@ DO
layoutdone = 1
GOTO finishednonexec
END IF
IF a3u$ = "$COLOR:32" THEN
layout$ = SCase$("$Color:32")
IF qb64prefix_set THEN
@ -3049,7 +3047,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")
@ -3067,31 +3064,29 @@ 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
GOTO finishednonexec
END IF
IF a3u$ = "$CHECKING:ON" THEN
layout$ = SCase$("$Checking:On")
NoChecks = 0
CheckingOn = 1
GOTO finishednonexec
END IF
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{"
IF CheckingOn THEN WriteBufLine MainTxtBuf, "do{"
WriteBufLine MainTxtBuf, "sub__dest(func__console());"
WriteBufLine MainTxtBuf, "sub__source(func__console());"
GOTO finishedline2
@ -3102,47 +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
@ -3368,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
@ -3538,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
@ -3599,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
@ -5420,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
@ -5689,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
@ -5717,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
@ -5739,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
@ -5773,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
@ -5799,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
@ -5824,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")
@ -5841,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
@ -5849,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
@ -5878,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")
@ -6003,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
@ -6089,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
@ -6131,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
@ -6216,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
@ -6235,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
@ -6363,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
@ -6480,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
@ -6670,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;"
@ -7802,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
@ -9016,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$
@ -9049,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
@ -9340,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$ + ");"
@ -9437,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$ + ";"
@ -9481,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
@ -9571,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$ + ");"
@ -9590,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
@ -9603,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
@ -11332,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
@ -11857,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;"
@ -11882,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
@ -12543,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"
@ -14027,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) + "]+"
@ -16702,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

View file

@ -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@"

View file

@ -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