Fix accented characters in ANSI files not found in "find in files" and "replace in files" commands issues.
This regression (in v7.7 from v7.6.6) is due to the upgrade of Scintilla from v3.56 to v4.14.
Fix#5825, fix#5830, fix#7668, fix#7773
Make workspace (project) & session xml setting files consistent while their file extensions are defined in Preferences dialog:
1. If I specify a session file in the command line (, or if I double-click a session file in the Explorer), not the session file itself is opened, but the session stored in it.
2. If I specify a workspace file in the command line (, or if I double-click a workspace file in the Explorer), not the workspace file itself is opened, but the Project Panel 1 switches to the specified workspace file.
3. If I specify a session file in the `File` menu `Open Ctrl-O`, not the session file itself is opened, but the session stored in it.
4. If I specify a workspace file in the `File` menu `Open Ctrl-O`, not the workspace file itself is opened, but the Project Panel 1 switches to the specified workspace file.
5. If I drag a session file to Npp, not the session file itself is opened, but the session stored in it.
6. If I drag a workspace file to Npp, not the workspace file itself is opened, but the Project Panel 1 switches to the specified workspace file.
That means that once an user extension is defined for these 2 types of file, Notepad++ stores only the session or the workspace but not opens the file itself. The session and workspace setting files are not supposed to be edited manually.
If a defined conflict happens (for example, a non session or workspace setting file with the defined extension), user can always remove the defined extension from Preferences dialog temporarily to open it.
cherry picked from commit 70e746b7a8fe44c9a1e724581ceb3b457138a474
Close#8374, fix#8324
... by using Scintilla's DirectWrite technology.
It allows ligature support if the font needed (for exemple "Fira Code") is installed.
Fix#2287, close#8326Fix#442, fix#675, fix#813, fix#870, fix#1621, fix#3458, fix#4056, fix#4086, fix#4490, fix#8305
1. Add file extension automatically while changing file type via combobox in new style dialog.
2. Add file extension automatically for session files and workspace files while saving in new style dialog.
Fix#4876, close#8311, close#8312
Fix Mouse remains in clicked state after resizing docked windows:
The reason for the effect is the mouse hook procedure, which seems to be quite obsolete in contemporary systems: it catches the mouse messages and posts them a second time to the same window. I assume, that was ment to speed up the shifting of the splitters on "prehistoric systems" (That's what you call every system not supporting transparent windows). I see no regression without this hook.
What happens is, the hook catches the WM_LBUTTONUP message and posts it to DockingSplitter::runProc. Here, the hook is released and ReleaseCapture() is called. All fine.
But Windows fails to update its internal key state, when the WM_LBUTTONUP comes as an posted-by-a-hook message. So, if you call GetKeyState(VK_LBUTTON) after ReleaseCapture() in the original code, then it is still in a pressed state. Which confuses the Document Map later.
Fix#8285, close#8286
This PR fixes the following effects:
1. Document map overlay remains visible after minimize to tray.
2. Document map overlay is left behind on current monitor after moving Npp with Windows+Shift+Arrow to another monitor.
3. Document map overlay escapes to another monitor without Npp, when Windows+Shift+Arrow is pressed while the input focus is at the document map.
Fix#1317, close#8280
The current bug: the unconnected network or USB drive while loading a file from it is not detected. As a result Notepad++ opens an empty or uncomplete document.
This commit fix it by not opening anything and showing error box, if file reading fails.
Fix#3381, close#8267
The full story, debated before, is that regular expression searching in a backward direction from the caret position causes matches that the user does not expect. The best thing that was decided to do (group decision) is to fully disable upward searching.
Fix#3640, close#8269