From 8199ca04d5790ed5a2c69c839ee3ef8cfca82e7b Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Fri, 29 Mar 2019 15:09:58 +0100 Subject: [PATCH] + fix: command line option "print and leave" --- Build/Notepad3.ini | Bin 6102 -> 2904 bytes src/Dialogs.c | 2 +- src/Notepad3.c | 301 ++++++++++++++++++++++----------------------- src/SciCall.h | 6 +- src/TypeDefs.h | 25 ++-- 5 files changed, 165 insertions(+), 169 deletions(-) diff --git a/Build/Notepad3.ini b/Build/Notepad3.ini index daae2947939dea151209e4b52278020468c1190f..e8b9f3d53e62a4fe323f0aa2e0329641ce858057 100644 GIT binary patch literal 2904 zcmZuzZFAZ<5dO}u(9D%jy@r>(HjL)RfuzvEgkqAkO>#HFUOvUv;B zkg-?0t9{e%BR>zcrBpO*il8jkModi~q#%c1C4(Hjms-q@?YjN~t^ zDAQBB)87%!X5~2`Yo(fHuazzJNG6k7@y1@*L?}J~wx=u^5n3m$S6W_f^@w6EqOnX! z=ax6?b?`gFlH>HXn(_TIm}_I*nx-O;ZATgktv2gD>vm;H6~67t?i8P-iuBu1XR>hY z_-g$qjmxABB-(5>pZSKzGM}f45_ZS~;1&?&vUc{_l~hwCg@CDdv~w zE=m=RD2-8pcd~Q1$FT@2m*m{|qX)NtM0rMKEnR>?DDSkg-%vzY<)`4tB#o)35TpH) z%czViKmp>yPETc4Aa!Rfm{S~kY5IUl`#Pey*WufS+(;n`)|sVb<3F%6T&#}{6M?u+ z39Lv`{_^s{wa)eP-=JPU;=%r7C5u&m)T&9X8nJ5ky6Rt71NNcPf{Xh&3hX+j8}udl z!iICi>+*Y|$(WE33^w@O+BCba)n-~FnUhc_wTy%b=YRdntJyo{=1!T^$(vlrlp-lk zw3*f3YN$A^PSSb$SGm2|Ty$+j(bHU7DjKpq7wDtwazfhLmDSRdHjxux%+O*FX@tl+ zIHq-Xosx;ATDU}9^bI#e2MVt9yf{8+KJL!AU9_U@OGRC6+@M#X!xyYJquQKptwh{dX$OI#9+6n`aYY*cO6bE3HSFN%VgJj6jeW5!PUhCTpCrCOc#2 z?1EjgEB2W+AaD&?>J1G|lToJ*WQ@U zY-w$yynXF7o@8X_K}wj=(>iOu|F5(CZ!4;_ev;8QBBKbw<%x3RwsN)J^U))~STZHN zpg!(|Ty=Vhm=S=wbt7#e(hZLCjre4eq+3x}+btX9p`;@-2P@H5yj>SMJ5PNvq1bt< zH~4_w@NV+^loW_lep3J}$TJ>@C2+NV&L05LATIcb3gVKtb0B#Ainn#T2Jx8>1;C)v zYSg&{E)WeU7w84L$=!IcCnJzUt^zM=1)qXpoM$K_ z@IS-NkZliXlur)&VublRis;CF@U73j`0Ys3eslnG22Fu5*1j6SLg&4boY&T04VarCi0h!mz{{}VE A`Tzg` literal 6102 zcmbW5Yfl?j5Qfj^O8pO(T0SKu!Gv68RR%&r6bBjuxsbF1?0^LrY8wJoe|y{anc4AK zn{{X_YuD>@=FH`t>-z7%cGH`5mPV3Qg)a^W*;rMcSJSNZqMX3(t@FI^K^ZT&w6Uf=5=WYdIO<%U{cVxk?t2LHq(Vx z&tywCo#-2kwqxf8j>}vtPOoSOn~%*ym&W7L zW;T@SW}h%Z9$rw9>LDJz}2e7kkIb3#_})GwAmVOWD0j zE8=ruku$ALtMFQ{&;*nQl9BNtUsuu#+4VxS)9A6gW;%A$OWD%V2kDdN!{!~+wWs^O zVP5tFoL(vlTgvS!NqC*8i?c0xdR1!&=FLE3qwsc5l-J_aP59zO`aDWYC3O4JlN>qM z9+}h?et7smHcX#f8s~~<6>-orzF}8OytYd|f$qX0sT{W%leWoOllEluFQO$HjYZqgA~UWP$LKgKi=!e%CF10sA<$4A{*-={MqaC) zs?PpetbI;*ilGtHc93iHl0r`3)80MPo!Gh3`nlwtOJZ4mS$3|` zoS+V2JGSMjO65a$V)1FAb95olur%OX?UpmtpJb!atXi9f9z1D2g zE#`t;f$>mZ-P`MlSBY}fTpITouYKi{&n36&JZMu>!aonw!y+!WCF}q5VQwKOn36!B z4nI`h5q&kSRn1+`Y#LzB@{R*lo}0XW)?_1B-R=)`=ZWtnT@Q6V()C!^6J10b_vkp2 z95)P47}aiZ>J4vaA~FnW{ks zTqsBS<9>K0gd=OKPI#T6ep7!2#v>-7h^EM`h@^E%*i$aiUq2U-yDY0mwtjBemgn7u z>b~cupPyHxQS;o2@;T}UQ}ZOfug*TjJUx^?9>1L%=co6}oOY*V)fA0zBKERv_Z7=@ z`mXweYkglnY}iCZPl>fftpJtr4^3wMSZ`+K$Fl zk8OpTdOcoyqP0y)pelw8@~~l3D^gqrS?MzJTo*f76#b{BC#q|BX+bkrBYiYKo+?V$ z$5t<>4wQE`O1dtnK43Xro6es#!&0n5UpgQ?qbt5;+UV~KsxA$^*tkCC;KV`;i^qYkU&SYjoXQ0g%o-H7csbu5cwLvF_V+ zO=VqM(T0b4xAAJTYcn}Di@0*Fyhk7ESIqWV8=?b@POU~yC+;m*IHr2d0YwJt=-7k#?=3@eakKm3J0d5Wvny)8756mJ|n<9RYTdwKO%z3Bw# zRVC$xbb{}<5Tfe!3p!+9D1NFDcqN;dHg4k>bXDGdC2cko|KT4x6M6K$QvcV|#^v3N zZ01e8#neUZ$(XUje 0) { WideCharToMultiByte(Encoding_SciCP,0,s_lpMatchArg,-1,Settings.EFR_Data.szFind,COUNTOF(Settings.EFR_Data.szFind),NULL,NULL); @@ -1175,7 +1182,7 @@ HWND InitInstance(HINSTANCE hInstance,LPCWSTR pszCmdLine,int nCmdShow) UpdateMarginWidth(); // print file immediately and quit - if (Flags.PrintFileAndLeave) + if (s_flagPrintFileAndLeave) { WCHAR *pszTitle; WCHAR tchUntitled[32] = { L'\0' }; @@ -2174,9 +2181,9 @@ LRESULT MsgEndSession(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) MRU_Empty(Globals.pFileMRU); MRU_Save(Globals.pFileMRU); } - else + else { MRU_MergeSave(Globals.pFileMRU, true, Flags.RelativeFileMRU, Flags.PortableMyDocs); - + } MRU_Destroy(Globals.pFileMRU); if (!Settings.SaveFindReplace) { @@ -2495,12 +2502,12 @@ LRESULT MsgCopyData(HWND hwnd, WPARAM wParam, LPARAM lParam) if (params) { CopyMemory(params, pcds->lpData, pcds->cbData); - if (params->flagLexerSpecified) + if (params->flagLexerSpecified) { s_flagLexerSpecified = true; - - if (params->flagQuietCreate) + } + if (params->flagQuietCreate) { s_flagQuietCreate = true; - + } if (params->flagFileSpecified) { bool bOpened = false; @@ -5512,9 +5519,9 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) { if (StringCchLenW(Globals.CurrentFile,COUNTOF(Globals.CurrentFile))) { - int _fNoFileVariables = Flags.NoFileVariables; - bool _bNoEncodingTags = Settings.NoEncodingTags; - Flags.NoFileVariables = 1; + bool const _fNoFileVariables = Flags.NoFileVariables; + bool const _bNoEncodingTags = Settings.NoEncodingTags; + Flags.NoFileVariables = true; Settings.NoEncodingTags = true; StringCchCopy(tchMaxPathBuffer,COUNTOF(tchMaxPathBuffer),Globals.CurrentFile); FileLoad(false,false,true, Settings.SkipUnicodeDetection, Settings.SkipANSICodePageDetection, false, tchMaxPathBuffer); @@ -6423,7 +6430,7 @@ LRESULT MsgNotify(HWND hwnd, WPARAM wParam, LPARAM lParam) } } } - return 1; + return TRUE; } // --- check ALL events --- @@ -7633,12 +7640,11 @@ void ParseCommandLine() // options if (lp1[1] == L'\0') { if (!bIsFileArg && (lp1[0] == L'+')) { - Flags.MultiFileArg = 2; + s_flagMultiFileArg = 2; bIsFileArg = true; } - else if (!bIsFileArg && (lp1[0] == L'-')) { - Flags.MultiFileArg = 1; + s_flagMultiFileArg = 1; bIsFileArg = true; } } @@ -7693,9 +7699,9 @@ void ParseCommandLine() StringCchCopyN(wch, COUNTOF(wch), lp1 + CSTRLEN(L"sysmru="), COUNTOF(wch)); StrTrim(wch, L" "); if (*wch == L'1') - Flags.ShellUseSystemMRU = 2; + s_flagShellUseSystemMRU = 2; else - Flags.ShellUseSystemMRU = 1; + s_flagShellUseSystemMRU = 1; } // Relaunch elevated else if (StrCmpNI(lp1, L"tmpfbuf=", CSTRLEN(L"tmpfbuf=")) == 0) { @@ -7709,21 +7715,19 @@ void ParseCommandLine() else switch (*CharUpper(lp1)) { case L'N': - Flags.fReuseWindow = 0; - Flags.fNoReuseWindow = 1; + s_flagReuseWindow = 1; if (*CharUpper(lp1 + 1) == L'S') - Flags.fSingleFileInstance = 1; + s_flagSingleFileInstance = 2; else - Flags.fSingleFileInstance = 0; + s_flagSingleFileInstance = 1; break; case L'R': - Flags.fReuseWindow = 1; - Flags.fNoReuseWindow = 0; + s_flagReuseWindow = 2; if (*CharUpper(lp1 + 1) == L'S') - Flags.fSingleFileInstance = 1; + s_flagSingleFileInstance = 2; else - Flags.fSingleFileInstance = 0; + s_flagSingleFileInstance = 1; break; case L'F': @@ -7824,7 +7828,7 @@ void ParseCommandLine() case L'T': if (ExtractFirstArgument(lp2, lp1, lp2, (int)len)) { StringCchCopyN(s_wchTitleExcerpt, COUNTOF(s_wchTitleExcerpt), lp1, len); - s_fKeepTitleExcerpt = 1; + s_flagKeepTitleExcerpt = true; } break; @@ -7838,8 +7842,7 @@ void ParseCommandLine() case L'E': if (ExtractFirstArgument(lp2, lp1, lp2, (int)len)) { - if (s_lpEncodingArg) - LocalFree(s_lpEncodingArg); + if (s_lpEncodingArg) { LocalFree(s_lpEncodingArg); } s_lpEncodingArg = StrDup(lp1); } break; @@ -7944,7 +7947,7 @@ void ParseCommandLine() case L'Z': ExtractFirstArgument(lp2, lp1, lp2, (int)len); - Flags.MultiFileArg = 1; + s_flagMultiFileArg = 1; bIsNotepadReplacement = true; break; @@ -7953,9 +7956,10 @@ void ParseCommandLine() break; case L'V': - Flags.PrintFileAndLeave = 1; - if (*CharUpper(lp1 + 1) == L'D') - Flags.PrintFileAndLeave = 2; // open printer dialog + s_flagPrintFileAndLeave = 1; + if (*CharUpper(lp1 + 1) == L'D') { + s_flagPrintFileAndLeave = 2; // open printer dialog + } break; default: @@ -8029,58 +8033,50 @@ void LoadFlags() Flags.bDevDebugMode = IniSectionGetBool(pIniSection, L"DevDebugMode", DefaultFlags.bDevDebugMode); Flags.bStickyWindowPosition = IniSectionGetBool(pIniSection, L"StickyWindowPosition", DefaultFlags.bStickyWindowPosition); - Flags.bReuseWindow = IniSectionGetBool(pIniSection, L"ReuseWindow", DefaultFlags.bReuseWindow); - Flags.bSingleFileInstance = IniSectionGetBool(pIniSection, L"SingleFileInstance", DefaultFlags.bSingleFileInstance); - if (!Flags.fReuseWindow && !Flags.fNoReuseWindow) - { - Flags.fReuseWindow = Flags.bReuseWindow ? 1 : 0; - Flags.fNoReuseWindow = Flags.bReuseWindow ? 0 : 1; - Flags.fSingleFileInstance = Flags.bSingleFileInstance ? 1 : 0; + if (s_flagReuseWindow == 0) { + Flags.bReuseWindow = IniSectionGetBool(pIniSection, L"ReuseWindow", DefaultFlags.bReuseWindow); + } + else { + Flags.bReuseWindow = (s_flagReuseWindow == 2); } - if (Flags.MultiFileArg == 0) { - if (IniSectionGetInt(pIniSection, L"MultiFileArg", DefaultFlags.MultiFileArg)) - Flags.MultiFileArg = 2; + if (s_flagSingleFileInstance == 0) { + Flags.bSingleFileInstance = IniSectionGetBool(pIniSection, L"SingleFileInstance", DefaultFlags.bSingleFileInstance); + } + else { + Flags.bSingleFileInstance = (s_flagSingleFileInstance == 2); } - if (IniSectionGetInt(pIniSection, L"RelativeFileMRU", DefaultFlags.RelativeFileMRU)) - Flags.RelativeFileMRU = 1; + if (s_flagMultiFileArg == 0) { + Flags.MultiFileArg = IniSectionGetBool(pIniSection, L"MultiFileArg", DefaultFlags.MultiFileArg); + } + else { + Flags.MultiFileArg = (s_flagMultiFileArg == 2); + } - if (IniSectionGetInt(pIniSection, L"PortableMyDocs", DefaultFlags.PortableMyDocs)) - Flags.PortableMyDocs = 1; + if (s_flagShellUseSystemMRU == 0) { + Flags.ShellUseSystemMRU = IniSectionGetBool(pIniSection, L"ShellUseSystemMRU", DefaultFlags.ShellUseSystemMRU); + } + else { + Flags.ShellUseSystemMRU = (s_flagShellUseSystemMRU == 2); + } - if (IniSectionGetInt(pIniSection, L"NoFadeHidden", DefaultFlags.NoFadeHidden)) - Flags.NoFadeHidden = 1; + Flags.RelativeFileMRU = IniSectionGetBool(pIniSection, L"RelativeFileMRU", DefaultFlags.RelativeFileMRU); + Flags.PortableMyDocs = IniSectionGetBool(pIniSection, L"PortableMyDocs", DefaultFlags.PortableMyDocs); + Flags.NoFadeHidden = IniSectionGetBool(pIniSection, L"NoFadeHidden", DefaultFlags.NoFadeHidden); Flags.ToolbarLook = IniSectionGetInt(pIniSection, L"ToolbarLook", DefaultFlags.ToolbarLook); Flags.ToolbarLook = clampi(Flags.ToolbarLook, 0, 2); - if (IniSectionGetInt(pIniSection, L"SimpleIndentGuides", DefaultFlags.SimpleIndentGuides)) - Flags.SimpleIndentGuides = 1; + Flags.SimpleIndentGuides = IniSectionGetBool(pIniSection, L"SimpleIndentGuides", DefaultFlags.SimpleIndentGuides); + Flags.NoHTMLGuess = IniSectionGetBool(pIniSection, L"NoHTMLGuess", DefaultFlags.NoHTMLGuess); + Flags.NoCGIGuess = IniSectionGetBool(pIniSection, L"NoCGIGuess", DefaultFlags.NoCGIGuess); + Flags.NoFileVariables = IniSectionGetInt(pIniSection, L"NoFileVariables", DefaultFlags.NoFileVariables); - if (IniSectionGetInt(pIniSection, L"NoHTMLGuess", DefaultFlags.NoHTMLGuess)) - Flags.NoHTMLGuess = 1; - - if (IniSectionGetInt(pIniSection, L"NoCGIGuess", DefaultFlags.NoCGIGuess)) - Flags.NoCGIGuess = 1; - - if (IniSectionGetInt(pIniSection, L"NoFileVariables", DefaultFlags.NoFileVariables)) - Flags.NoFileVariables = 1; - - if (Flags.ShellUseSystemMRU == 0) { - if (IniSectionGetInt(pIniSection, L"ShellUseSystemMRU", DefaultFlags.ShellUseSystemMRU)) { - Flags.ShellUseSystemMRU = 2; - } - } + Flags.PrintFileAndLeave = s_flagPrintFileAndLeave; FreeMem(pIniSection); - - // ------------------------- - // non-settings global flags - // ------------------------- - Flags.PrintFileAndLeave = DefaultFlags.PrintFileAndLeave = 0; - } } @@ -8379,7 +8375,7 @@ void UpdateToolbar() static void _UpdateToolbarDelayed() { - SetWindowTitle(Globals.hwndMain, s_uidsAppTitle, s_flagIsElevated, IDS_MUI_UNTITLED, Globals.CurrentFile, + SetWindowTitle(Globals.hwndMain, s_uidsAppTitle, s_bIsElevated, IDS_MUI_UNTITLED, Globals.CurrentFile, Settings.PathNameFormat, IsDocumentModified || Encoding_HasChanged(CPI_GET), IDS_MUI_READONLY, s_bFileReadOnly, s_wchTitleExcerpt); @@ -9568,7 +9564,7 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, StringCchCopy(Globals.CurrentFile,COUNTOF(Globals.CurrentFile),L""); SetDlgItemText(Globals.hwndMain,IDC_FILENAME,Globals.CurrentFile); SetDlgItemInt(Globals.hwndMain,IDC_REUSELOCK,GetTickCount(),false); - if (!s_fKeepTitleExcerpt) { StringCchCopy(s_wchTitleExcerpt, COUNTOF(s_wchTitleExcerpt), L""); } + if (!s_flagKeepTitleExcerpt) { StringCchCopy(s_wchTitleExcerpt, COUNTOF(s_wchTitleExcerpt), L""); } FileVars_Init(NULL,0,&Globals.fvCurFile); EditSetNewText(Globals.hwndEdit, "", 0); @@ -9669,12 +9665,12 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, SetDlgItemText(Globals.hwndMain,IDC_FILENAME,Globals.CurrentFile); SetDlgItemInt(Globals.hwndMain,IDC_REUSELOCK,GetTickCount(),false); - if (!s_fKeepTitleExcerpt) - StringCchCopy(s_wchTitleExcerpt,COUNTOF(s_wchTitleExcerpt),L""); - - if (!s_flagLexerSpecified) // flag will be cleared - Style_SetLexerFromFile(Globals.hwndEdit,Globals.CurrentFile); - + if (!s_flagKeepTitleExcerpt) { + StringCchCopy(s_wchTitleExcerpt, COUNTOF(s_wchTitleExcerpt), L""); + } + if (!s_flagLexerSpecified) { // flag will be cleared + Style_SetLexerFromFile(Globals.hwndEdit, Globals.CurrentFile); + } SciCall_SetEOLMode(fioStatus.iEOLMode); Encoding_Current(fioStatus.iEncoding); // load may change encoding Encoding_HasChanged(fioStatus.iEncoding); @@ -9691,9 +9687,9 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, EditSetBookmarkList(Globals.hwndEdit, pszBookMarks); SetFindPattern((Globals.pMRUfind ? Globals.pMRUfind->pszItems[0] : L"")); - if (Flags.ShellUseSystemMRU == 2) - SHAddToRecentDocs(SHARD_PATHW,szFileName); - + if (Flags.ShellUseSystemMRU) { + SHAddToRecentDocs(SHARD_PATHW, szFileName); + } // Install watching of the current file if (!bReload && Settings.ResetFileWatching) { if (Globals.bChasingDocTail) { @@ -9746,7 +9742,7 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, } // Show inconsistent line endings warning - if (fioStatus.bInconsistentEOLs && Settings.WarnInconsistEOLs) + if (fioStatus.bInconsistentEOLs && Settings.WarnInconsistEOLs && !s_flagPrintFileAndLeave) { if (WarnLineEndingDlg(Globals.hwndMain, &fioStatus)) { SciCall_ConvertEOLs(fioStatus.iEOLMode); @@ -9757,13 +9753,13 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, fioStatus.iGlobalIndent = I_MIX_LN; // init - if (Settings.WarnInconsistentIndents) + if (Settings.WarnInconsistentIndents && !s_flagPrintFileAndLeave) { EditIndentationStatistic(Globals.hwndEdit, &fioStatus); ConsistentIndentationCheck(&fioStatus); } - if (Settings.AutoDetectIndentSettings) + if (Settings.AutoDetectIndentSettings && !s_flagPrintFileAndLeave) { if (!Settings.WarnInconsistentIndents || (fioStatus.iGlobalIndent != I_MIX_LN)) { @@ -9939,7 +9935,7 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy) StringCchCopy(Globals.CurrentFile,COUNTOF(Globals.CurrentFile),tchFile); SetDlgItemText(Globals.hwndMain,IDC_FILENAME,Globals.CurrentFile); SetDlgItemInt(Globals.hwndMain,IDC_REUSELOCK,GetTickCount(),false); - if (!s_fKeepTitleExcerpt) + if (!s_flagKeepTitleExcerpt) StringCchCopy(s_wchTitleExcerpt,COUNTOF(s_wchTitleExcerpt),L""); Style_SetLexerFromFile(Globals.hwndEdit,Globals.CurrentFile); } @@ -9967,7 +9963,7 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy) WCHAR wchBookMarks[MRU_BMRK_SIZE] = { L'\0' }; EditGetBookmarkList(Globals.hwndEdit, wchBookMarks, COUNTOF(wchBookMarks)); MRU_AddFile(Globals.pFileMRU,Globals.CurrentFile,Flags.RelativeFileMRU,Flags.PortableMyDocs,iCurrEnc,iCaretPos,wchBookMarks); - if (Flags.ShellUseSystemMRU == 2) { + if (Flags.ShellUseSystemMRU) { SHAddToRecentDocs(SHARD_PATHW, Globals.CurrentFile); } _SetDocumentModified(false); @@ -9989,7 +9985,7 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy) StringCchCopy(tchBase,COUNTOF(tchBase),Globals.CurrentFile); PathStripPath(tchBase); } - if (!s_flagIsElevated && Globals.dwLastError == ERROR_ACCESS_DENIED) { + if (!s_bIsElevated && Globals.dwLastError == ERROR_ACCESS_DENIED) { if (IDYES == MsgBoxLng(MBYESNOWARN,IDS_MUI_ERR_ACCESSDENIED,tchFile)) { WCHAR lpTempPathBuffer[MAX_PATH]; WCHAR szTempFileName[MAX_PATH]; @@ -10214,13 +10210,12 @@ bool ActivatePrevInst() HWND hwnd = NULL; COPYDATASTRUCT cds; - if ((Flags.fNoReuseWindow && !Flags.fSingleFileInstance) || s_flagStartAsTrayIcon || s_flagNewFromClipboard || s_flagPasteBoard) { + if ((!Flags.bReuseWindow && !Flags.bSingleFileInstance) || s_flagStartAsTrayIcon || s_flagNewFromClipboard || s_flagPasteBoard) { return false; } - if (Flags.fSingleFileInstance && s_lpFileArg) + if (Flags.bSingleFileInstance && s_lpFileArg) { - NormalizePathEx(s_lpFileArg, (DWORD)SizeOfMem(s_lpFileArg) / sizeof(WCHAR), true, s_flagSearchPathIfRelative); EnumWindows(EnumWndProc2,(LPARAM)&hwnd); @@ -10284,7 +10279,7 @@ bool ActivatePrevInst() } } - if (Flags.fNoReuseWindow) { + if (!Flags.bReuseWindow) { return false; } @@ -10374,7 +10369,7 @@ bool ActivatePrevInst() // bool RelaunchMultiInst() { - if (Flags.MultiFileArg == 2 && s_cFileList > 1) { + if (Flags.MultiFileArg && (s_cFileList > 1)) { LPWSTR lpCmdLineNew = StrDup(GetCommandLine()); size_t len = StringCchLen(lpCmdLineNew,0) + 1UL; @@ -10433,9 +10428,9 @@ bool RelaunchElevated(LPWSTR lpArgs) { bool result = false; - if (!IsVista() || s_flagIsElevated || !s_flagRelaunchElevated || s_flagDisplayHelp) + if (!IsVista() || s_bIsElevated || !s_flagRelaunchElevated || s_flagDisplayHelp) { return result; - + } STARTUPINFO si; si.cb = sizeof(STARTUPINFO); GetStartupInfo(&si); diff --git a/src/SciCall.h b/src/SciCall.h index 2dec2df23..82599d741 100644 --- a/src/SciCall.h +++ b/src/SciCall.h @@ -138,7 +138,7 @@ DeclareSciCallV0(Undo, UNDO) DeclareSciCallV0(Redo, REDO) DeclareSciCallR0(CanUndo, CANUNDO, bool) DeclareSciCallR0(CanRedo, CANREDO, bool) -DeclareSciCallR0(IsDocModified, GETMODIFY, bool) +DeclareSciCallR0(GetModify, GETMODIFY, bool) DeclareSciCallR0(CanPaste, CANPASTE, bool) DeclareSciCallR0(GetCurrentPos, GETCURRENTPOS, DocPos) @@ -207,7 +207,8 @@ DeclareSciCallV0(SelectAll, SELECTALL) DeclareSciCallR01(GetSelText, GETSELTEXT, DocPos, const char*, text) DeclareSciCallV01(ReplaceSel, REPLACESEL, const char*, text) DeclareSciCallV2(InsertText, INSERTTEXT, DocPos, position, const char*, text) - +DeclareSciCallV2(AppendText, APPENDTEXT, DocPos, length, const char*, text) +DeclareSciCallV0(SetSavePoint, SETSAVEPOINT) DeclareSciCallR0(GetTargetStart, GETTARGETSTART, DocPos) DeclareSciCallR0(GetTargetEnd, GETTARGETEND, DocPos) @@ -218,6 +219,7 @@ DeclareSciCallR2(ReplaceTargetRe, REPLACETARGETRE, DocPos, DocPos, length, const DeclareSciCallV2(AddText, ADDTEXT, DocPos, length, const char*, text) DeclareSciCallV1(SetSearchFlags, SETSEARCHFLAGS, int, flags) DeclareSciCallR2(SearchInTarget, SEARCHINTARGET, DocPos, DocPos, length, const char*, text) +DeclareSciCallV2(DeleteRange, DELETERANGE, DocPos, start, DocPos, length) DeclareSciCallV1(SetAnchor, SETANCHOR, DocPos, position) DeclareSciCallV1(SetCurrentPos, SETCURRENTPOS, DocPos, position) diff --git a/src/TypeDefs.h b/src/TypeDefs.h index c5da523a4..803e3ce53 100644 --- a/src/TypeDefs.h +++ b/src/TypeDefs.h @@ -427,24 +427,23 @@ extern SETTINGS_T Settings; typedef struct _flags_t { + int ToolbarLook; + bool bDevDebugMode; bool bStickyWindowPosition; bool bReuseWindow; bool bSingleFileInstance; - int fReuseWindow; - int fSingleFileInstance; - int fNoReuseWindow; - int MultiFileArg; - int RelativeFileMRU; - int PortableMyDocs; - int NoFadeHidden; - int ToolbarLook; - int SimpleIndentGuides; - int NoHTMLGuess; - int NoCGIGuess; - int NoFileVariables; - int ShellUseSystemMRU; + bool MultiFileArg; + bool RelativeFileMRU; + bool PortableMyDocs; + bool NoFadeHidden; + bool SimpleIndentGuides; + bool NoHTMLGuess; + bool NoCGIGuess; + bool NoFileVariables; + bool ShellUseSystemMRU; + int PrintFileAndLeave; } FLAGS_T, * PFLAGS_T;