No selection:
Example: Pos : 1,234
Meaning: Single caret is at position 1233 in document (user position 1234)
Single stream selection (no change to existing behavior):
Example: Sel : 27 | 2
Meaning: 27 characters selected on 2 lines
Multiple stream selections (this PR behavior):
Example: Sel 3 : 72 | 6
Meaning: 3 selections of 72 characters on 6 lines
Rectangular selection with no virtual space in column block (this PR behavior):
Example: Sel : 2x4 = 8
Meaning: selection of 2 rows(lines) by 4 columns; 8 characters in that selection
Rectangular selection with some virtual space in column block (this PR behavior):
Example: Sel : 2x4 🡢 6
Meaning: selection of 2 rows(lines) by 4 columns; 6 real characters in that selection
Close#8524, close#8780
The bug: after closing last file opened in 2nd view in Window sialog, the last file opened in 2nd view in Notepad++ is closed, but remain in Window dialog.
This PR is a workaround solution to close Window dialog if the last document is closed.
Fix#8697, close#8721
For function list, each language can have 2 or mor unit-test files.
The 2nd added unit-test file should be added in a sub-directory, the 3rd added unit-test file should be added into anather sub-directory, and so on.
Improvements :
- add templated classes (and template-nested templated classes)
- add namespaced classes
- add classes which inherits another class without the accessibility keyword (private is optional for example)
- add classes with virtual inheritance
- add functions defined with the following keywords
- (left) consteval|constexpr|friend|inline|static|virtual
- (right) const|final|noexcept|override
- add functions defined with templated types (and template-nested templated types)
- add operator definitions
Close#5175
The both flags -export=functionList & -quickPrint don't need Notepad++ GUI, so Notepad++ will start up invisiblely while one of these 2 flags is given. It doesn't prevent Notepad++ from being visible in the case of -export=functionList but this PR make unit-tests more bearable.
If a non-existing file is open as the 1st tab (opened then file is deleted outside of Notepad++), and "Close All BUT this" is run, then current document will be closed.
Fix#8617
The reason, why the flicker occurs, is the following: There are two Windows messages sent by Windows to Scintilla, when the mouse is moved: WM_MOUSEMOVE and WM_SETCURSOR.
WM_MOUSEMOVE informs Scintilla, that the mouse has been moved inside its window.
WM_SETCURSOR informs Scintilla, that the mouse cursor has been moved. Anywhere, not necessarily in its window.
Scintilla calls the Windows function SetCursor (, which sets the mouse cursor shape, not the position), while processing both messages. Unfortunately, Scintilla uses different ways to calculate the desired cursor shape. So, whenever the mouse cursor is moved, two SetCursor calls are applied, sometimes with two different cursor shapes.
On WM_MOUSEMOVE, Scintilla calls ButtonMoveWithModifiers, which sets the correct cursor shape.
On WM_SETCURSOR, Scintilla calls SetCursor directly, sometimes with the wrong cursor shape.
This PR shows how to eliminate this effect in the modified Scintilla version used by Notepad++. This may be the fastest way to get results without introducing new effects.
The current original Scintilla version (Version 4.4.4, downloaded 2020-07-30, 5d134721c303ceecbdcb28ec82b28f0cbbdb4a55) has the same effect and can be fixed in the same way, although the WM_SETCURSOR code has been changed a little. Before updating to a new Scintilla version, we should try to get it fixed in the original Scintilla.
Fix#8588, fix#8647, close#8641