diff --git a/src/Notepad3.c b/src/Notepad3.c index 098566609..98e1f6dfa 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -1035,13 +1035,12 @@ HWND InitInstance(HINSTANCE hInstance,LPCWSTR pszCmdLine,int nCmdShow) if (!s_flagLexerSpecified) { Style_SetLexerFromFile(Globals.hwndEdit, Globals.CurrentFile); } - - _SetSaveNeededFlag(true); - // check for temp file and delete if (s_bIsElevated && PathFileExists(s_wchTmpFilePath)) { DeleteFile(s_wchTmpFilePath); } + _SetSaveNeededFlag(true); + FileSave(true, false, false, false); // issued from a save failed op } if (s_flagJumpTo) { // Jump to position EditJumpTo(Globals.hwndEdit,s_iInitialLine,s_iInitialColumn); @@ -9992,8 +9991,10 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy) WCHAR lpTempPathBuffer[MAX_PATH]; WCHAR szTempFileName[MAX_PATH]; - if (GetTempPath(MAX_PATH,lpTempPathBuffer) && - GetTempFileName(lpTempPathBuffer,TEXT("NP3"),0,szTempFileName)) { + if (GetTempPath(MAX_PATH,lpTempPathBuffer) && GetTempFileName(lpTempPathBuffer,TEXT("NP3"),0,szTempFileName)) + { + size_t const len = StringCchLen(szTempFileName, MAX_PATH); // replace possible unkown extension + StringCchCopy(PathFindExtension(szTempFileName), (MAX_PATH - len), PathFindExtension(Globals.CurrentFile)); if (FileIO(false,szTempFileName,true,true,false,&fioStatus,true)) { //~Encoding_Current(fioStatus.iEncoding); // save should not change encoding WCHAR szArguments[2048] = { L'\0' }; @@ -10038,7 +10039,6 @@ bool FileSave(bool bSaveAlways,bool bAsk,bool bSaveAs,bool bSaveCopy) MsgBoxLng(MBWARN,IDS_MUI_ERR_SAVEFILE,tchFile); } } - //???EditEnsureSelectionVisible(Globals.hwndEdit); return(fSuccess); } diff --git a/src/StyleLexers/styleLexStandard.c b/src/StyleLexers/styleLexStandard.c index c71176a16..561f56ef0 100644 --- a/src/StyleLexers/styleLexStandard.c +++ b/src/StyleLexers/styleLexStandard.c @@ -5,7 +5,7 @@ KEYWORDLIST KeyWords_NULL = EMPTY_KEYWORDLIST; EDITLEXER lexStandard = { -SCLEX_NULL, IDS_LEX_DEF_TXT, L"Default Text", L"txt; text; wtx; log; asc; doc", L"", +SCLEX_NULL, IDS_LEX_DEF_TXT, L"Default Text", L"txt; text; tmp; log; asc; doc; wtx", L"", &KeyWords_NULL, { /* 0 */ { {STYLE_DEFAULT}, IDS_LEX_STD_STYLE, L"Default Style", L"font:Default", L"" }, /* 1 */ { {STYLE_LINENUMBER}, IDS_LEX_STD_MARGIN, L"Margins and Line Numbers", L"size:-2; fore:#008080", L"" }, @@ -27,7 +27,7 @@ SCLEX_NULL, IDS_LEX_DEF_TXT, L"Default Text", L"txt; text; wtx; log; asc; doc", EDITLEXER lexStandard2nd = { -SCLEX_NULL, IDS_LEX_STR_63266, L"2nd Default Text", L"txt; text; wtx; log; asc; doc", L"", +SCLEX_NULL, IDS_LEX_STR_63266, L"2nd Default Text", L"txt; text; tmp; log; asc; doc; wtx", L"", &KeyWords_NULL,{ /* 0 */ { {STYLE_DEFAULT}, IDS_LEX_2ND_STYLE, L"2nd Default Style", L"font:Courier New", L"" }, /* 1 */ { {STYLE_LINENUMBER}, IDS_LEX_2ND_MARGIN, L"2nd Margins and Line Numbers", L"font:Courier New; size:-2; fore:#008080", L"" },