- Updated file header and `associationMap`-header.
- Changed order of associations and parsers to follow ascending 'langID' numerical values.
- Removed `displayMode` attributes (are not used).
- Make functionList.xml XML compliant.
- Put set of characters in same order in all character groups.
- Correct `)/` to `/)` in `commentExpr`-attribute.
- Add pattern modifier to multi-line comment expression.
- Add pattern modifier to single-line comment expression.
- When applicable remove outer most parentheses of `commentExpr`-attribute.
- As an underscore is part of character class `\w` (equals group `[A-Za-z0-9_]`) remove the underscore when both are used in the same group.
- Replace the `A-Za-z0-9_` set in a group with character class `\w` as they are equal.
- No need to put one character class in a group e.g. change `[\w]` to `\w`.
- Replace space character with its hexdecimal representation i.e. \x20.
- Corrected Python parser i.e. renamed `funcNameExpr` to `nameExpr` in function-parser part.
- Changed use of L_JS (19) to L_JAVASCRIPT (58).
Closes#2335
Fix Folder as Workspace toolbar button inconsist state while closing
Folder as Workspace windows directely (by clicking X button)
Fixes#2249, closes#2263
64-bit Installer can detect the 32-bit installation (and vice versa),
and suggest users to remove the existing one before install the new one.
It works only when the existing installation is on "C:\Program Files
(x86)\Notepad++" or "C:\Program Files\Notepad++" directory
After uninstalling 64-bit Notepad++ via uninstaller, the entry remains in
the "uninstall programs" section of panel of configuration. This commit fixes the bug.
The new behaviour (by default) is open the folder in "Folder as
Workspace". The old behaviour is open all files in folder (recursively).
Now user can choose it.
Closes#2175
As of now npp installer is not using any compression to reduce the installer size. I don't know if there is any history behind not using any compression algorithm.
But I noticed a reasonable difference after using /SOLID lzma compression technique. It reduces the installer size by 30~35%.
If we uses /FINAL lzma, it is improved by 15~18%.
Closes#2018, fixes#2016
This commit fixes the issue of notepad++ defaulting to 'Normal text file'
file type when creating new file form the command like:
notepad++.exe new_example_file.cpp
Closes#2086
DLL Hijacking Vulnerability is present in old version of NSIS. This
issue is fixed by updating new version of NSIS to build Notepad++
installer.
closes#1923, Fixes#1006
-quitOnEmpty command line flag makes Notepad++ to quit when the last tab is closed. Useful for people who use Notead++ for things like editing Git commit messages (using -multiInst -notabbar -nosession), and want to signal they are done editing by closing the tab with Ctrl-W instead of Alt-F4.
Closes#2034
This option configures the vertical scroll range of Scintilla.
Disable this will configure the scroll range to end at last line
(DEFAULT).
Enable this will configure the scroll range to end one page beyond the
last line.
Closes#2032
Added some more Change Case functions (Title Case, Sentence Case,
Invertcase, Randomcase).
Some of them have a normal and a blend version. The normal version will
change any formatting in the start/middle/end part of the word/sentence to
the chosen case. The blend version applies the changes only to the start
part but don't changes the middle/end part of the word/sentence. You can
use it when you want to keep some formatting in the middle/end part, for
instance CamelCase or proper nouns.
Closes#2031
Improved the Single Line Comment/Uncomment/Toggle behaviour for Lexers
with the following condition:
Single Line Comment Symbol : false
Stream Comment Symbol Start : true
Stream Comment Symbol End : true
This includes among others: XML, HTML, CSS, Caml, Pascal, ...
In the current Npp a 'Single Line Comment' will do a 'Block Comment' and
the 'Toggle Single Line Comment' entry does nothing at all for these kind
of Lexers.
This implementation uses the stream comment symbols (start/end) to
accomplish a single line comment,
exactly the same way as the usual Single Line Comment/Uncomment/Toggle
functionality does for Lexers with a single line symbol.
This will add more consistency to the Single Line Comment feature.
NOTE
The selection range behaviour has been revised to be more accurate and for
fixing some 'line leaving' bugs when uncommenting.
Closese #2029
Added a basic conflict detection functionality to the Shortcut Mapper.
This includes:
* Marking conflicts with a different background color.
* Displaying conflict information.
* Warning when attempting to assign an already existing short-key.
Some more related changes to the Shortcut Mapper:
* Fixed some bugs, for instance:
1. Babygrid was shrinking on any attempt to adjust its position to integral
rows.
2. Context menu entries were enabled for empty lists. Using them would crash
Npp.
3. ... some more minor bug fixes.
* Performance enhancements to Babygrid.
* Minor UI improvements.
* Babygrid is configured dpi aware.
Closes#2061
To reproduce such bug, the file foo.txt to monitor should be in the root folder (ie. c:\foo.txt).
The algorithm is check if folder path has '\' at the end, if no, then add a '\' then append file name.
In the original code, instead of checking folder path, the file name is checked. Since file name doesn't contain '\' (ie. c:\temp), a '\' is always added on folder path which has no '\' at the end. it works for none root folder such as C:\, E:\ or F:\.
Scintilla got a [new Pascal lexer] in version 1.78, which was included in
Notepad++ version 5.4.4. However, this lexer also introduced [new style IDs]
and most of Notepad++'s bundled themes that were created before version 5.4.4
haven't been updated in all that time.
Fixes#249, closes#1912
While trying to save a untitled empty document, user could open a existing
file that erases the untitled document's buffer, then save action make
Notepad++ crash:
https://www.youtube.com/watch?v=balHtvy4TocFixes#1857, Closes#1904
CmdLineParams object of the block "case COPYDATA_PARAMS" is always made
by another instance of Notepad++, (located usually in C:\Program Files
(x86)\Notepad++\) which is launched by NppShell.dll.
If CmdLineParams structure is modified in the local instance, and file
is opened via NppShell.dll, then crash happeds.
Closes#1851
[PowerEditor/src/Parameters.cpp:2581]: (warning) Array index -1 is out of bounds. Otherwise there is useless condition at line 2568.
[PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp:3079]: (style) Unused variable: newline
[PowerEditor/src/WinControls/Grid/BabyGrid.cpp:166]: (style) Array index 'j' is used before limits check.
[PowerEditor/src/WinControls/Grid/BabyGrid.cpp:171]: (style) Array index 'j' is used before limits check.
[scintilla/lexers/LexUser.cxx:1128]: (error) Array 'maskMapper[15]' accessed at index 15, which is out of bounds.