From 2e2e1707cd2a0d808d0c50474c554f2656a707cd Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Tue, 15 Aug 2017 19:12:13 +0200 Subject: [PATCH] + further discussions on notepad2-mod PR #200 convinced me, that the "reload UTF-8 bugfix" solves a problem regarding pure ASCII files reloaded as UTF-8. + add menu entries for launching WebTemplates (specified in section [Settings2]) with selected text as arguments --- src/Edit.c | 5 +++-- src/Notepad3.c | 4 ++-- src/Notepad3.rc | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Edit.c b/src/Edit.c index 4bcef4f4c..03d5282f4 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -1352,12 +1352,13 @@ BOOL EditLoadFile( ((IsUTF8Signature(lpData) || FileVars_IsUTF8(&fvCurFile) || (iSrcEncoding == CPI_UTF8 || iSrcEncoding == CPI_UTF8SIGN) || + (!bPreferOEM && bLoadASCIIasUTF8) || (IsUTF8(lpData,cbData) && (((UTF8_mbslen_bytes(UTF8StringStart(lpData)) - 1 != UTF8_mbslen(UTF8StringStart(lpData),IsUTF8Signature(lpData) ? cbData-3 : cbData)) || (!bPreferOEM && ( - mEncoding[_iPrefEncoding].uFlags & NCP_UTF8 || - bLoadASCIIasUTF8 )) ))))) && !(FileVars_IsNonUTF8(&fvCurFile) && + mEncoding[_iPrefEncoding].uFlags & NCP_UTF8 + )) ))))) && !(FileVars_IsNonUTF8(&fvCurFile) && (iSrcEncoding != CPI_UTF8 && iSrcEncoding != CPI_UTF8SIGN))) { SendMessage(hwnd,SCI_SETCODEPAGE,Encoding_GetSciCodePage(CPI_UTF8),0); diff --git a/src/Notepad3.c b/src/Notepad3.c index 84364631e..fc0c20635 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -4707,10 +4707,10 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) cchSelection = (int)SendMessage(hwndEdit,SCI_GETSELECTIONEND,0,0) - (int)SendMessage(hwndEdit,SCI_GETSELECTIONSTART,0,0); - if (cchSelection > 0 && cchSelection <= 500 && SendMessage(hwndEdit,SCI_GETSELTEXT,0,0) < COUNTOF(mszSelection)) + if ((cchSelection > 0) && (cchSelection <= 500) && (SendMessage(hwndEdit,SCI_GETSELTEXT,0,0) < COUNTOF(mszSelection))) { SendMessage(hwndEdit,SCI_GETSELTEXT,0,(LPARAM)mszSelection); - mszSelection[cchSelection] = 0; // zero terminate + mszSelection[cchSelection] = '\0'; // zero terminate // Check lpszSelection and truncate bad WCHARs lpsz = StrChrA(mszSelection,13); diff --git a/src/Notepad3.rc b/src/Notepad3.rc index 14615b7b9..a46e3f8ba 100644 --- a/src/Notepad3.rc +++ b/src/Notepad3.rc @@ -94,6 +94,9 @@ BEGIN MENUITEM "Execute &Document\tCtrl+L", IDM_FILE_LAUNCH MENUITEM "&Open with...\tAlt+L", IDM_FILE_OPENWITH MENUITEM "&Command...\tCtrl+R", IDM_FILE_RUN + MENUITEM SEPARATOR + MENUITEM "Web Template &1\tCtrl+Shift+1", CMD_WEBACTION1 + MENUITEM "Web Template &2\tCtrl+Shift+2", CMD_WEBACTION2 END MENUITEM SEPARATOR POPUP "&Encoding"