From 4e71b4cf2f113f5f5a8cd488b3b8e433006f5a60 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Sat, 19 Aug 2017 08:51:40 +0200 Subject: [PATCH 1/2] + fix: manually edited settings (SciDirectWriteTech, SciFontQuality) should be placed in settings section [Settings2]. --- distrib/Notepad3.ini | Bin 1150 -> 1150 bytes src/Notepad3.c | 13 ++++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/distrib/Notepad3.ini b/distrib/Notepad3.ini index 7349d7bbaf83f6aff29a8379c0a07b9abd943771..3a5f01638a1c502fd1f3a985da4e89f106cfccfc 100644 GIT binary patch delta 21 dcmeyz@sDG}Hpb0dOi_%Jw=srnPGOc}1OQ-%2VnpJ delta 21 dcmeyz@sDG}Hpa;U%pse%F-9?NPGOc}1OQ><2WS8Q diff --git a/src/Notepad3.c b/src/Notepad3.c index 6833e0bc4..bcdadce3c 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -5883,12 +5883,6 @@ void LoadSettings() xFindReplaceDlg = IniSectionGetInt(pIniSection,L"FindReplaceDlgPosX",0); yFindReplaceDlg = IniSectionGetInt(pIniSection,L"FindReplaceDlgPosY",0); - iSciDirectWriteTech = IniSectionGetInt(pIniSection,L"SciDirectWriteTech",-1); - iSciDirectWriteTech = max(min(iSciDirectWriteTech,3),-1); - - iSciFontQuality = IniSectionGetInt(pIniSection,L"SciFontQuality",-1); - iSciFontQuality = max(min(iSciFontQuality,3),-1); - LoadIniSection(L"Settings2",pIniSection,cchIniSection); @@ -5909,6 +5903,12 @@ void LoadSettings() dwFileCheckInverval = IniSectionGetInt(pIniSection,L"FileCheckInverval",2000); dwAutoReloadTimeout = IniSectionGetInt(pIniSection,L"AutoReloadTimeout",2000); + iSciDirectWriteTech = IniSectionGetInt(pIniSection,L"SciDirectWriteTech",-1); + iSciDirectWriteTech = max(min(iSciDirectWriteTech,3),-1); + + iSciFontQuality = IniSectionGetInt(pIniSection,L"SciFontQuality",-1); + iSciFontQuality = max(min(iSciFontQuality,3),-1); + WCHAR buffer[MIDSZ_BUFFER]; const WCHAR defextwsc[] = L".,;:|/-+$%&<>(){}[]=?#'*"; IniSectionGetString(pIniSection, L"ExtendedWhiteSpaceChars", defextwsc, buffer, COUNTOF(buffer)); @@ -6103,7 +6103,6 @@ void SaveSettings(BOOL bSaveSettingsNow) { IniSectionSetInt(pIniSection, L"FavoritesDlgSizeY", cyFavoritesDlg); IniSectionSetInt(pIniSection, L"FindReplaceDlgPosX", xFindReplaceDlg); IniSectionSetInt(pIniSection, L"FindReplaceDlgPosY", yFindReplaceDlg); - IniSectionSetInt(pIniSection, L"SciFontQuality", iSciFontQuality); SaveIniSection(L"Settings", pIniSection); LocalFree(pIniSection); From d289084fd448c63a91fa3beedf2513dc547069cf Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Mon, 21 Aug 2017 11:03:46 +0200 Subject: [PATCH 2/2] + extended default "space char set" for "Accelerated Word Navigation" + to avoid unexpected "accelerated word navigation" behavior, space-char extension is restricted to 7-bit ASCII char set (ignoring specified non-7-bit-ASCII chars). --- src/Notepad3.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Notepad3.c b/src/Notepad3.c index bcdadce3c..30f55fa6a 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -5909,12 +5909,16 @@ void LoadSettings() iSciFontQuality = IniSectionGetInt(pIniSection,L"SciFontQuality",-1); iSciFontQuality = max(min(iSciFontQuality,3),-1); - WCHAR buffer[MIDSZ_BUFFER]; - const WCHAR defextwsc[] = L".,;:|/-+$%&<>(){}[]=?#'*"; + WCHAR buffer[MIDSZ_BUFFER] = { L'\0' }; + const WCHAR defextwsc[] = L"!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~"; // underscore counted as part of word IniSectionGetString(pIniSection, L"ExtendedWhiteSpaceChars", defextwsc, buffer, COUNTOF(buffer)); if (!lstrlen(buffer)) lstrcpyn(buffer, defextwsc, COUNTOF(buffer)); WCHAR2MBCS(CP_ACP,buffer,chExtendedWhiteSpaceChars,COUNTOF(chExtendedWhiteSpaceChars)); - + // clear non-7-bit-ASCII chars + for (size_t i = 0; i < strlen(chExtendedWhiteSpaceChars); i++) { + if (chExtendedWhiteSpaceChars[i] & ~0x7F) + chExtendedWhiteSpaceChars[i] = ' '; // space + } LoadIniSection(L"Toolbar Images",pIniSection,cchIniSection);