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.
This feature allows users to monitor log files' writing, as Unix "tail -f"
command.
Here are the conditions of monitoring:
1. file to monitor should exist.
2. file will be set as readonly during monitoring.
3. each update will scroll to the last line.
After finding in files, user can launch the find in Finder dialog from
the finder via its context menu command "Find in this finder...".
Find in Finder feature searchs the other occurrence into found results,,
that allow user to narrow down the search and to refine their search
results.
Closes#1510
Prevent from auto-closing html tag for "br", "hr", "img", "link" and
"meta" not working under Windows 10 32 bits. This patch fix this bug.
This patch prevents also from closing <!doctype>.
While find result panel has a lot of results, and user has not scrolled
down yet, this bug can be reproduce easily by command "select all" then
copy - not all the found results are copied into clipboard.
This is an attempt to add the complete, currently known unofficial strings to original english.xml language template. For version 6.8.8. Don Ho should review them, and make them official.
Closes#209; Close#169
Files ending in the defined extension will be opened in the project panel instead of as a normal file to edit (much like how the session file extension works).
1. Remove added lines which could make void License from GPL text.
2. Update the header (notepad++ statement to prohibit rewrapping
practice).
3. Remove space at the end of each line.
Close#1229, Fixes#385
Only build errors are fixed, compile warnings are left alone. To reduce
the number of changes, even the compiler option "-fpermissive" has been
used to downgrade several errors to warnings.
Closes#1075
- All positions are dynamically calculated relative to the tab rectangle now (i.e. no hardcoded pixel values are used to position icons/text anymore)
- Match positioning of icons/text in active and inactive tabs (i.e. elements are not "jumping around" anymore upon selection)
Some specific fixes:
- Most issues with vertical TabBar are resolved now (it was basically unusable before, for example labels were cut)
- Darkened background of inactive tabs fills the whole tab now (fixes#1011)
- Close button is centered correctly now (fixes#1010)
When tab settings exists only for L_JS (the old settings) but if the
current document is L_JAVASCRIPT, tab settings for L_JS won't apply to
L_JAVASCRIPT document.
The fix is to use L_JS's tab settings for both L_JS and L_JAVASCRIPT
documents, and to synchronize the values of both type while user
modifies javascript tab settings.
Closes#1111
See https://github.com/notepad-plus-plus/notepad-plus-plus/pull/187/files
, see also comments added in the PR:
String returned by SCI_GETWORDCHARS from scintilla is not null terminated, so check for strlen in isWordChar() below on listChar is dangerous as strlen accesses data after the buffer until the first following null is found in memory
- seen with MS Application Verifier on x64 release
- expected to also happen on win32 x86 release
(Closes#1070)
When backups and session snapshots feature is enabled, batch
modification a big file could make Notepad++ crash. The solution is to
prevent from backing up modified file during the operation of batch
modification.
(Fixes#725)
Open a file of 3 bytes length with '\0' in the middle, only 1 character
shown in editor.
Such file is detected as UTF16 w/o BOM, that makes the wrong length
interpretation. Adding the "len mod 2 == 0" condition to enhance the
detection is the only solution I can find so far.
Closes#1054, Fixes#1002
The problem is if fread() is called multiple times, then
UnicodeConvertor->convert() is called multiple times, which causes
m_pNewBuf to point to the last read in chunk. Then after the entire file
was loaded, getEOLFormatForm(UnicodeConvertor.getNewBuf(), ...) was being
used which was only trying to detect the EOL mode from the last read in
chunk. If this last chunk started with \n then the file was detected as
Unix line endings. The file linked from issue #1002 happened to have just
the right situation where this occurred.
I have asked a question to a friend in USA for which one should I use, here is his answer:
1. "Extended (\r, \n, \t, \x..., \0)"
2. "Extended (\n, \r, \t, \0, \x...)"
The ellipsis (three dots) means that the list does not show everything that could be shown.
If you mean that there are more items than what you can show, but you are listing just the most important ones, you want the second one.
The first one implies that you are following a certain order and that some items are not listed but that \0 is last, either in list order or importance. At least, that's what it looks like to me.
closes#1007, closes#919, closes#834
When backups are enabled, playing back a macro that takes a while can
corrupt a file (see the mentioned issues). I tested this with a ~100,000
line text file, ~3.3MB in size. Created a macro of Down5, Delete10. Played
this till the end of the file. Took about 20s to run so it had a few
backup cycles during it. Reproduced it fairly easily and never had it
happen after this adjustment.
* The Shebang detection is much improved:
- detect more languages
- not tied to any specific full path
- See https://en.wikipedia.org/wiki/Shebang_%28Unix%29 for more details about Shebang
* There is not need to have a space after <?php. Closes#1014
* Remove the closing > in the html doctype to support older
* versions of html as well
* The Shebang detection is much improved:
* detect more languages
* not tied to any specific full path
* There is not need to have a space after <?php
* Remove the closing `>` in the html doctype to
support older versions of html as well
Change isQualifiedWord because isQualifiedWord use hardcode and no SCI_GETWORDCHARS smarthighlight is not always OK.
This Fix use SCI_GETWORDCHARS. (closes#187)
Fix macro playback inseting/removing characters randomly due to
auto-insert interfering during macro recording and playing back. (fixes
#649, fixes#970, fixes#304, fixes#992)
Make auto-insert more usable - no auto-insert if the following (and
previous character - in the case of quote or double quote) character is
not blank character. (fixes#584, fixes#450)
Resolve slow tab switching of folded XML file by setting the isFolding
flag to true, so it can ignore events while folding is taking place, when
switching tabs and when loading the next tab after deleting a tab.
(closes#168, fixes#236#329)
Check the beginning of file content to learn which programming language
in the content.
The detected lang type will be applied only if php, xml, html or bash is
detected.
The language type is determinated via file extension, if the file
extension is unknown or the determinated lang type is different from
the detected value, then the detected lang type via the file content
will be used.
It seems the notification area is locked (for the sake of security)
while application is in Admin mode.
Disabling the tray icon mode while Notepad++ is in Admin mode is the
compromised solution.
Changed "Mark occurences" to "Mark" as in English language file. This is obsolete. You could also say: "Replace occurences".
Also, used the same word as in menu rather than a different one.