- add first version of GH CI build
- fix merge issue for lexilla.mak
- fix clang compiler issue:
..\lexers\LexObjC.cxx(50,20): warning : unused function 'IsADigit' [-Wunused-function] [D:\a\notepad-plus-plus\notepad-plus-plus\lexilla\src\Lexilla.vcxproj]
- fix functionlist unittest run for github
- make functionList unittest compatible with newer powershell 7
Fix#12177, close#14291
Add "Multi-select All" & "Multi-select Next" for 4 modes to multi-select the occurrences respectively:
1. Match Case Only
2. Match Whole Word Only
3. Match Case & Whole Word
4. Ignore Case & Whole Word
Add also 2 commands "Undo the Latest Added Multi-Select" & "Skip Current && Go to Next Multi-select" for undoing latest added slection & skipping current selection and do the next one.
Users can asign the shortcuts to these 10 commands so multi-occurrence can be easily selected via shortcuts and be modified silmutanously.
This feature is inspired by: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/8203#issuecomment-623712205Fix#8203, close#14295
To solve this issue, lambda removeMarker can be set to only remove just begin or end marker. By doing so, the process of merging adjacent hidden sections is limited and as a result, lines that shouldn't be hidden remain visible.
Fix#14166, close#14167
When Notepad++ installer with the '/S' optional param is used while a previously installed Notepad++ instance is running, it does not update the locked main 'notepad++.exe' binary, but the installer still reports success (exit code == 0, regkeys actualized according to the installer version used...).
Moreover - because the installation/upgrade then looks like it is done, some automatic update services like winget cannot be used until a next N++ version is released (winget erroneously reports that the current version is already installed...).
The fix consist to set error code and quit installer, when installer in silent mode, and there's an instance of Notepad++ open.
Fix#10189, fix#10277, fix#22514, fix#14236, fix partially #8514, close#14251
Fix incoherent behaviour of "Duplicate Current Line" menu command with its keyboard shortcut Ctrl-D, which duplicates also the selection.
Fix#5298, close#14255
New specs of NPPM_GETNBSESSIONFILES (which is retro-compatible):
======================
NPPM_GETNBSESSIONFILES
Retrieves the number of files to load in the session sessionFileName. sessionFileName should be a full path name of an xml file.
Parameters:
wParam [out]
BOOL* isValidXML, if this pointer is null, then this parameter will be ignored. TRUE if XML is valid, otherwise FALSE.
lParam [in]
const TCHAR * sessionFileName
Return value:
Returns 0 if sessionFileName is an empty string/NULL, or XML session file is corrupted/invalid, else the number of files.
======================
Other minor improvements:
- checking also for a possible ShellExecute errors
- removing the isAllSuccessful boolean, as it is no longer needed.
Fix#14228, close#14232
Following the commit: 4248c2ae22
If the user enables the option "Remember inaccessible files from past session" (disabled by default), and an opened session (the default session "session.xml" or a user session) contains one or several inaccessible files, a message dialog will appear, giving the user the choice to open or not open the placeholders. If the user chooses to open them, empty and read-only documents will be opened as placeholders for these inaccessible files.
Fix#12079, fix#12744, fix#13696, close#14252
Add the ability of "placrholders" (the empty document) for the inaccessible files of past session.
The inaccessible files from the current (default) session (i.e., session.xml) will not be lost in the next startup of Notepad++.
Furthermore, if file status detection is enabled in Notepad++ (default setting: ON), and the previously inaccessible files become accessible again (e.g., USB drive is inserted or network drive is remounted), the resurrected files can be reloaded on-the-fly without restarting Notepad++. The user will be prompted to reload if the placeholder is switched in.
Fix#12079, fix#12744, fix#13696, close#14168
Add translation texts for these commits:
* Fix data loss issue due to no room on disk for saving (e30ee85)
* Fix Wrong Categories in Shortcuts Mapper (39001d7)
* Make auto-checking of Find InSelection configurable (OFF or resizable) (591b00e)
* Dark mode tweaks and unicode size support for InSelection configurable size (b3179b5)
Close#14147
Set value to 0 to disable auto-checking "In Selection" checkbox in Find dialog.
Set any value to define the length of selected characters to auto-check "In Selection" checkbox in Find dialog.
The default and maximum value is 1024.
Fix#14108, fix#13677, fix#12639, close#14175
- update `stylers.model.xml` to have the 41 styles supported by LexPerl
- update `themes\DarkModeDefault.xml` to have the 41 styles supported by LexPerl
Fix #14192, close#14193
- update `autoCompletion\perl.xml` to auto-complete on the new keywords/built-in-functions/pragmas
- update `langs.model.xml` to syntax-highlight on the new keywords/built-in-functions/pragmas
Close#14191
Update scintilla with https://www.scintilla.org/scintilla537.zip
Release 5.3.7
Released 22 September 2023.
For GTK on macOS, fix popup window behaviour by setting type hints. Bug #2401.
For GTK, fix assertion failure on some systems when an INDIC_SQUIGGLEPIXMAP drawn for a zero-width character.
For Qt, allow parent window to handle context menu events by setting as ignored. Bug #2395.
For Qt, fix potential crash when using IME with large amount of text selected.
For Windows, fix building with non-English environment. Bug #2400.
and lexilla https://www.scintilla.org/lexilla527.zip
Release 5.2.7
Released 22 September 2023.
Fix building on Windows with non-English environment. Pull request #200.
Bash: fix line continuation for comments and when multiple backslashes at line end. Issue #195.
Bash: treat += as operator and, inside arithmetic expressions, treat ++ and -- as operators. Issue #197.
Bash: improve backslash handling inside backquoted command substitution and fix $ at end of backtick expression. Issue #194.
Bash: treat words that are similar to numbers but invalid wholly as identifiers. Issue #199.
Bash: consistently handle '-' options at line start and after '|' as identifiers. Issue #202.
Bash: handle '-' options differently in [ single ] and [[ double ]] bracket constructs. Issue #203.
F#: improve speed of folding long lines. Issue #198.
HTML: fix invalid entity at line end and terminate invalid entity before invalid character. Issue #192.
Fix#13991, fix#14062, close#14173
It will allow for the Notepad++ to be a "restartable app", like some other SW can do today (eg Google Chrome, Mozilla Firefox or all the Microsoft UWP apps).
This is to create a seamless experience wherein, if you have to reboot your PC, you can now pick back up from where you left off and resume being productive.
The OS app-restart feature needs at least Windows 10 (20H1) and the user has to switch on the "Restart apps" in the system Settings (subsection Accounts > Sign-in options).
Implemented as per previous discussion: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/12541#issuecomment-1332662024
To disable this feature, add "noRestartAutomatically.xml" into "%APPDATA%\Notepad++\" or Notepad++ installation directory.
Fix#9722, fix#11721, fix#11934, close#14074