diff --git a/source/global/IDEsettings.bas b/source/global/IDEsettings.bas index ad8235f2e..a99218e77 100644 --- a/source/global/IDEsettings.bas +++ b/source/global/IDEsettings.bas @@ -13,7 +13,7 @@ DIM SHARED PasteCursorAtEnd AS _BYTE DIM SHARED SaveExeWithSource AS _BYTE, EnableQuickNav AS _BYTE DIM SHARED IDEShowErrorsImmediately AS _BYTE DIM SHARED ShowLineNumbersSeparator AS _BYTE, ShowLineNumbersUseBG AS _BYTE -DIM SHARED IgnoreWarnings AS _BYTE +DIM SHARED IgnoreWarnings AS _BYTE, qb64versionprinted AS _BYTE IF LoadedIDESettings = 0 THEN 'We only want to load the file once when QB64 first starts @@ -449,7 +449,7 @@ IF LoadedIDESettings = 0 THEN idebackupsize = VAL(value$) IF idebackupsize < 10 OR idebackupsize > 2000 THEN idebackupsize = 100: WriteConfigSetting "'[GENERAL SETTINGS]", "BackupSize", "100 'in MB" - result = ReadConfigSetting("DeBugInfo", value$) + result = ReadConfigSetting("DebugInfo", value$) idedebuginfo = VAL(value$) IF UCASE$(LEFT$(value$, 4)) = "TRUE" THEN idedebuginfo = 1 IF result = 0 OR idedebuginfo <> 1 THEN diff --git a/source/qb64.bas b/source/qb64.bas index 9db6ec01f..ca9757ccb 100644 --- a/source/qb64.bas +++ b/source/qb64.bas @@ -1094,7 +1094,7 @@ GOTO sendcommand noide: -PRINT "QB64 COMPILER V" + Version$ +IF qb64versionprinted = 0 THEN qb64versionprinted = -1: PRINT "QB64 COMPILER V" + Version$ IF CMDLineFile = "" THEN LINE INPUT ; "COMPILE (.bas)>", f$ @@ -12436,7 +12436,7 @@ FUNCTION ParseCMDLineArgs$ () SELECT CASE LCASE$(LEFT$(token$, 2)) CASE "-?" 'Command-line help _DEST _CONSOLE - PRINT "QB64 COMPILER V" + Version$ + IF qb64versionprinted = 0 THEN qb64versionprinted = -1: PRINT "QB64 COMPILER V" + Version$ PRINT PRINT "USAGE: qb64 [switches] " PRINT @@ -12458,6 +12458,7 @@ FUNCTION ParseCMDLineArgs$ () SYSTEM CASE "-v" 'Verbose mode VerboseMode = -1 + cmdlineswitch = -1 CASE "-p" 'Purge IF os$ = "WIN" THEN CHDIR "internal\c" @@ -12474,9 +12475,11 @@ FUNCTION ParseCMDLineArgs$ () END IF CHDIR "../.." END IF + cmdlineswitch = -1 CASE "-s" 'Settings + settingsMode = -1 _DEST _CONSOLE - PRINT "QB64 COMPILER V" + Version$ + IF qb64versionprinted = 0 THEN qb64versionprinted = -1: PRINT "QB64 COMPILER V" + Version$ SELECT CASE LCASE$(MID$(token$, 3)) CASE "" PRINT "debuginfo = "; @@ -12491,11 +12494,11 @@ FUNCTION ParseCMDLineArgs$ () CASE ":exewithsource=true" WriteConfigSetting "'[GENERAL SETTINGS]", "SaveExeWithSource", "TRUE" PRINT "exewithsource = TRUE" - SYSTEM + SaveExeWithSource = -1 CASE ":exewithsource=false" WriteConfigSetting "'[GENERAL SETTINGS]", "SaveExeWithSource", "FALSE" PRINT "exewithsource = FALSE" - SYSTEM + SaveExeWithSource = 0 CASE ":debuginfo" PRINT "debuginfo = "; IF idedebuginfo THEN PRINT "TRUE" ELSE PRINT "FALSE" @@ -12520,7 +12523,6 @@ FUNCTION ParseCMDLineArgs$ () END IF CHDIR "../.." END IF - SYSTEM CASE ":debuginfo=false" PRINT "debuginfo = FALSE" WriteConfigSetting "'[GENERAL SETTINGS]", "DebugInfo", "FALSE 'INTERNAL VARIABLE USE ONLY!! DO NOT MANUALLY CHANGE!" @@ -12541,7 +12543,6 @@ FUNCTION ParseCMDLineArgs$ () END IF CHDIR "../.." END IF - SYSTEM CASE ELSE PRINT "INVALID SETTINGS SWITCH: "; token$ PRINT @@ -12550,27 +12551,38 @@ FUNCTION ParseCMDLineArgs$ () PRINT " -s:exewithsource=true/false (Save .EXE in the source folder)" SYSTEM END SELECT + _DEST 0 CASE "-e" 'Option Explicit optionexplicit_cmd = -1 + cmdlineswitch = -1 CASE "-z" 'Not compiling C code No_C_Compile_Mode = 1 ConsoleMode = 1 'Implies -x NoIDEMode = 1 'Implies -c + cmdlineswitch = -1 CASE "-x" 'Use the console ConsoleMode = 1 NoIDEMode = 1 'Implies -c + cmdlineswitch = -1 CASE "-c" 'Compile instead of edit NoIDEMode = 1 + cmdlineswitch = -1 CASE "-o" 'Specify an output file IF LEN(COMMAND$(i + 1)) > 0 THEN outputfile_cmd$ = COMMAND$(i + 1): i = i + 1 + cmdlineswitch = -1 CASE "-l" 'goto line (ide mode only); -l: IF MID$(token$, 3, 1) = ":" THEN ideStartAtLine = VAL(MID$(token$, 4)) + cmdlineswitch = -1 CASE ELSE 'Something we don't recognise, assume it's a filename IF PassedFileName$ = "" THEN PassedFileName$ = token$ END SELECT NEXT i - IF LEN(PassedFileName$) THEN ParseCMDLineArgs$ = PassedFileName$ + IF LEN(PassedFileName$) THEN + ParseCMDLineArgs$ = PassedFileName$ + ELSE + IF cmdlineswitch = 0 AND settingsMode = -1 THEN SYSTEM + END IF END FUNCTION FUNCTION Type2MemTypeValue (t1)