Commit Graph

2915 Commits (ea1e9295ebf5886a02f1646a507b6ce3ec698f0d)

Author SHA1 Message Date
Don Ho bfbad49cf4 Fix incoherence about supporting 2GB+ files 2022-02-24 01:48:28 +01:00
Daniel Fuchs 052b27e3d7 Add API NPPM_GETCURRENTLINESTR & RunDlg's variable $(CURRENT_LINESTR)
Add new API NPPM_GETCURRENTLINESTR and new variable $(CURRENT_LINESTR) for RunDlg to get the whole current line string.

Fix #11216, close #11265
2022-02-22 15:07:30 +01:00
xomx ca8c302805 Support better 2GB+ file (cmdline & session file adaptation)
Some members (_line2go, _column2go and _pos2go) from the CmdLineParams & CmdLineParamsDTO structs need 'int' to 'intptr_t' change to support 2GB+ files.
Saving & loading of the 'session.xml' needs a 2GB+ adaptation too. The underlying TinyXML (older v1) does not have a native support for the 64-bit integers, so loading/writing there has been changed to strings instead of integers. This way is fully compatible with a possible future update to TinyXML-2 (which has already built-in support for the 64-bit integers).

Fix #11213, close #11258
2022-02-22 14:32:28 +01:00
xomx e839b81e85 Refine autosaving session on exit behaviour
Refine autosaving session on exit behaviour on only "Open session in a new instance" or "always in multi-Instance".
If the "Default (mono-instance)" is chosen and the session is launched via command line with flag "-multiInst", the modified session won't be saved automatically.

Fixes #11249, close #11255
2022-02-22 02:00:37 +01:00
xomx 3de15f5512 Enhance performance on exit with certain settings
Notepad++ is unnecessarily stalled in the situation, when closing a N++ with a large file opened within, but the session.xml file will not be updated at all due to the current Notepad++ settings chosen.

Fix #11219, close #11259
2022-02-22 01:38:26 +01:00
Don Ho 58e404650b Remove not used codes 2022-02-22 00:54:10 +01:00
Don Ho 456fdaa680 Simplify the localization in codes
and fix the bug that menu "Window" not translated:
5917fdefb0 (commitcomment-67151276)
2022-02-21 17:59:25 +01:00
exd0tpy fc064d3254 Fix UDL dialog crash issue on over 30 created UDL
Add index check when add User Defined Language
If user create User Defined Language over 30 (NB_MAX_USER_LANG) times app is crash.

Fix #11257, close #11251
2022-02-21 15:48:56 +01:00
VinsWorldcom 80ba58773d Fix auto-completion sort order problem due to fx icon
Fix #11233, close #11234
2022-02-21 03:42:09 +01:00
Don Ho 5917fdefb0 Fix translation problem for "Sort By"
Make "Plugins" & "Window" menu static to simplify the code.
2022-02-21 00:57:15 +01:00
deebash 1c8b867395 Add "Sort By" commands under Window Menu
Add commands by name, path, type and by size for sorting under Window Menu.

Fix #10393, close #11190
2022-02-20 18:52:07 +01:00
mpheath 726ad7f580 Fix autocomplete case insensitive not working issue
Fix #11187, close #11191
2022-02-20 18:13:41 +01:00
xomx b233c0c3e0 Fix saving problem (regression) with "Sysnative" alias in x86 binary
Removing the 'case sensitive' default flag FILE_FLAG_POSIX_SEMANTICS fixes the CreateFile ERROR_PATH_NOT_FOUND, when working with files like "C:\Windows\Sysnative\drivers\etc\hosts".

Without the FILE_FLAG_POSIX_SEMANTICS the WIN32 IO (CreateFile/WriteFile) way will be equivalent with the previously used POSIX IO (fopen/fwrite) way.

More info about this "Sysnative" alias: https://docs.microsoft.com/en-us/windows/win32/winprog64/file-system-redirector

Fix #11196, close #11225
2022-02-18 16:48:34 +01:00
Don Ho 2321e648ae Fix regression: file can't be saved if it's set to other charset before
Fix #11238
2022-02-18 14:49:21 +01:00
Don Ho 637f470b6e Add more Easter Eggs for the coming Easter Sunday 2022-02-17 15:20:07 +01:00
Don Ho 2df765e189 Code enhancement: prevent from signed integer overflow
Ref:
94154b0f0e (commitcomment-66609009)
2022-02-16 19:13:35 +01:00
Don Ho 51b1c9377c Fix incorrect message on double click on search result regression
This regression was inserted by commit c0be50494c (PR #11107).

Fix #11215, Fix #11106
2022-02-16 18:22:47 +01:00
Don HO 5c02505998 Notepad++ v8.3.1 release
Boycotting Beijing 2022 continues in this release
2022-02-15 16:32:03 +01:00
Don Ho 94154b0f0e Code enhancement: Fix comparison of different signs integers 2022-02-09 20:06:59 +01:00
Don Ho 785453147b Inialize all memebers of struct (instead of its 1st member) to zero
The curly brace initiator in C/C++ is quite confusing (at least to me).
The C style array uses {0} for initializing all the array to 0,
whereas C++ struct uses {0} for initializing only the 1st member's value to 0.
If we want to set all members' value in a struct to 0, we should use {} instread of {0}.

This commit fix the error which initialize only the 1st member's value to 0 in the structures.

Ref:
1. https://docs.microsoft.com/en-us/cpp/cpp/initializing-classes-and-structs-without-constructors-cpp?view=msvc-170
2. https://en.cppreference.com/w/c/language/struct_initialization
2022-02-09 16:41:56 +01:00
Don Ho 2e9342ae24 Code enhancement: Initialize member variables 2022-02-09 04:40:16 +01:00
Daniel Fuchs dee3bad29d Make variable list combobox translatable in printing preferences
The list of variables defined under Preferences > Print can be translated using the following method:

https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11093/files#diff-a6ac7ceba70d88bf1547fd1defd760bd55052dcdb78c44f9d46d99ef1f450472R999-R1007

However as pointed out by others this will break the "Add" button, so translation is currently not possible. The result is, that nothing is added to the current field.

This commit makes translation possible without breaking "Add" feature.

Fix #11114, close #11115
2022-02-08 19:40:23 +01:00
Don Ho f815b7057f Revert "Enable backup on save (simple) feature by default"
This reverts commit 40fbae1f76.
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10725#issuecomment-1032106977
2022-02-08 02:10:23 +01:00
xomx 85e7207eef Enhance error handling while opening file
In FileManager::loadFileData method:
1. Fix unnecessary GCC crashes when opening larger files in 32-bit Notepad++ binary.
2. Take into account and report correctly also other possible Scintilla error states there (than the previously handled SC_STATUS_BADALLOC).
3. Catch and report correctly also exceptions not handled by the Scintilla exception handler.
4. Catch and report correctly also Notepad++ code exceptions there.

Fix #11103, close #11112
2022-02-07 23:34:54 +01:00
Don Ho 9baaef786b Fix Path Completion not working regression
Fix #11147
2022-02-07 23:17:07 +01:00
Don Ho 6c345e907b Optimize setting image call in auto-completion
In PR #11088 the calling scinitilla is not optimized:
SCI_REGISTERIMAGE & SCI_AUTOCSETTYPESEPARATOR need to be called only once.
2022-02-07 20:12:45 +01:00
VinsWorldcom c394a890aa Add icons on function items of auto-completion to distiguish from word items
Fix #11087, close #11088
2022-02-07 19:01:47 +01:00
mere-human b5a5baf13b Fix file dialog "Append extension" checkbox not working in empty dir
Use hooks for keyboard and window procedure instead of subclassing controls.
Use a handle map for transferring instance data to the hook procedure.
This approach should be more reliable than the previous one.

Fix #10436, close #11050
2022-02-07 15:38:21 +01:00
Don Ho bbe8a7db26 Restore auto-completion insert selection default setting (ENTER & TAB)
Since auto-completion feature appeared in Notepad++, its selected item insertion default setting has had been always both "ENTER" & "TAB" keys. In commit 68d339d224eba0fa7aeb2e0f7526b3311cc02c5a:
68d339d224
this default setting was changed to only "TAB", that made a lot users who used "ENTER" for insertion unhappy.
In this commit the old default value has been restored. Users can always change this behaviour in auto-completion settings of preferences dialog.

Ref:
https://community.notepad-plus-plus.org/topic/22425/notepad-v8-2-1-release/34?_=1644179730538
2022-02-06 23:45:04 +01:00
xomx deb99ae45b Fix cmdline '-n' param not working and wrong cursor position regression
When file is opened via "Edit with Notepad++", cursor position is placed on the 2nd position instead of the first.
This fixes the signed/unsigned mismatch there arisen from the current 2GB+ changes.

Fix #11131, close #11132
2022-02-05 19:23:13 +01:00
ArkadiuszMichalski 9fccc37987 Fix Dark Mode Customized tone link part is not persistent
Fix #11095, close #11102
2022-02-04 18:02:25 +01:00
Christian Grasser c0be50494c Fix NPPM_RELOADFILE with 8.3 path containing bug
Fixes issue seen with pythonscript testcase https://github.com/bruderstein/PythonScript/blob/master/PythonScript/python_tests/tests/NotepadWrapperTestCase.py#L383-L397 using NPPM_RELOADFILE with a 8.3 path containing.

Fix #11106, close #11107
2022-02-04 17:17:37 +01:00
Don HO 73a4cdc104 Fix XML tag mark deletion crash Notepad++ v8.3
The uninitialized structure members contain the random value.
The crash is fixed by initializing them with a default value.

Fix #11128
2022-02-04 15:20:55 +01:00
Don HO ae6361fa35 Notepad++ release v8.3 (Boycott Beijing 2022) 2022-02-03 23:35:12 +01:00
Don Ho 993506af0a Fix Find in Files crash 2022-01-31 03:55:28 +01:00
Don Ho 6d311e102e Fix 2 logic error (wrong copied/pasted)
ref:
774321e099 (r64847350)
2022-01-29 15:11:59 +01:00
Don Ho 4077ec2f69 Fix crash regression in UDL dialog
Fix #11101
2022-01-28 23:27:27 +01:00
Don Ho 774321e099 Improve 200MB+ files loading/editing performance
While loading files over more 200MB, they are all considered as Normal text files, that improve loading speed (for example for huge XML or SQL file).
Also, the feature as braces match, smart highlightingg, tag match and URL colorization are disabled for not penalizing the editing performance.
2022-01-28 19:49:58 +01:00
Don Ho db3308329b Fix crash on opening file with wild card characters
And redefining Sci_PositionCR to 64 bits on x64 build for managing 2GB+ files.
(ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/11047#issuecomment-1021540298)

Fix #11098
2022-01-28 04:17:45 +01:00
Don Ho 44004d41d4 Enhance large file loading: disable 4 features for large files
Dur to the performaance issue, the loading of large files will disable automatically the following feature:
1. auto-completion (only for large files)
2. snapshot periode backup (only for large files)
3. backup on save (only for large files)
4. word wrap (persistent for all files. Need to enable it manually)

Ref: https://community.notepad-plus-plus.org/topic/22438/notepad-v8-2-2-release-candidate/6?_=1643194615292

Fix #8802
2022-01-27 16:12:50 +01:00
Don Ho edabe44000 Disable Word Wrap while load a 2GB+ file 2022-01-26 18:44:58 +01:00
Don Ho 2132505cba Fix unsaved untitled files not being opened on the next session regression
Fix #11080
2022-01-26 17:49:37 +01:00
Don Ho 961a133a60 Remove 2GB file open restriction for x64 binary
Fix #10921, close #11047
2022-01-25 18:08:05 +01:00
Christian Grasser 5b5dbbd3f9 Fix ARM64 build doesn't contain 64 bits information
Fix #11068, close #11069
2022-01-25 01:51:21 +01:00
Don Ho 7df6af7e2e Fix Find dialog visual glitch
Ref:
https://community.notepad-plus-plus.org/topic/22399/notepad-8-2-1-release-candidate/2?_=1643043577513

Close #11067
2022-01-24 18:54:00 +01:00
VinsWorldcom fcfa034cc5 ESC key clears function list filter & search result
Even the focus is not on filter field but on one of tree view entries.

Fix #11063, close #11064
2022-01-24 18:39:16 +01:00
Don HO 2b99372169 Notepad++ v8.2.1 release 2022-01-24 15:58:07 +01:00
Don Ho 234941c180 Fix regression of bg/fg color disabling visual glitchy
The regression is due to:
7c9f4204ea (diff-473b357ab7088152f46cb49e9d3336344425ab463c209b10b2fe16df98cc3b76)

Fix #11051
2022-01-19 16:49:04 +01:00
Don Ho cb7bbef4fe Fix "File is too big to open" message isn't modal issue
And plus some refactoring.
2022-01-14 15:09:13 +01:00
Don Ho 7ebb1e3672 Add Find/Replace text swap button in Find replace dialog
Fix  #6010, close #11037
2022-01-13 18:44:03 +01:00
Don Ho 3ce90f56d6 Fix wrong keywords (of preprocessor in C) highlighting in Java
Remove C Preprocessor color settings from stylers.model.xml + all theme files.

Fix #11026
2022-01-12 18:09:55 +01:00
Don Ho e048f83420 Make menu folders on context menu translatable
Make the following context menu items translatable:
1. "Style all occurrences of token"
2. "Style one token"
3. "Clear style"
4. "Plugin commands"

Note for translators: to test your translation, you have to replace the old "contextMenu.xml" with the new one (modified in this commit).

Fix partially #8972
Fix #9713, close #11031
2022-01-11 15:07:55 +01:00
Don Ho 5dada11848 Fix Debug information wrong OS information detected with windows 11 issue
Fix #11011
2022-01-11 02:05:38 +01:00
Don Ho 68d339d224 Auto-completion currently use both ENTER and TAB to insert the selected item,
in some circumstance people have to ENTER twice to have 1 newline feed.

In this commit, 2 options (ENTER & TAB) are given in Auto-completion settings, so users can choose one of these 2 keystrokes (or both, or none). By default ENTER is disabled and TAB is enabled.
If auto-completion is disabled and completion is triggered manually, then the settings of ENTER & TAB won't be considered, both ENTER & TAB will be able to insert the selection.

Fix #4799, fix #4631, fix #8389, fix #10915, close #11016
2022-01-10 15:10:54 +01:00
Don Ho ed40f11515 Fix loaded session being empty on exit
In the following configuration loaded session will be empty on exit
* Remember current session for next launch: OFF
* Open session in a new instance: ON

This commit fix the issue.

Fix #10986, close #11017
2022-01-10 15:05:44 +01:00
Don Ho e40aec0b3f Friends are just like trees 2022-01-10 03:11:49 +01:00
Don Ho 9929160a00 Update French & Taiwanese localization 2022-01-08 17:04:53 +01:00
mere-human 78c6554e91 Add missing translation for folder browser title
Affected places:
File > Open Folder as Workspace
Search > Find in Files
Settings > Preferences > Default Directory > [...]
Settings > Preferences > Backup > [...]

Fix #10983, fix #10984, fix #10985, close #11005
2022-01-08 16:57:33 +01:00
Don Ho 44c9a0561b Fix "Save As" command cannot be used as "Save" issue
If user tries to save a existing file as file itself by using "Save As" command,
then he/she chooses the same file from the Save As file dialog,
* old wrong behaviour: "Save As" action is rejected with the message "The file is already opened in Notepad++".
* new correct behaviour: "Save As" action is allowed.

Fix #10965, close #11008
2022-01-07 21:04:10 +01:00
mere-human 9be4eeb4e6 Add copy name/path commands to DocList and Edit menu
1. Add new commands to copy selected files name/path into multi-selection context menu in Document List.
2. Add new commands to copy all files name/path into Edit > Copy to Clipboard.
3. Create a new function buf2Clipborad() to be used in all similar commands.
4. Fix the translation of the Document List multi-selection context menu.

Fix #10394, close #10993
2022-01-05 15:58:54 +01:00
Rajendra Singh 23b2a3fa8e Fix Recent Files List not revised issue after "Save As" command
Fix #10946, close #10994
2022-01-04 23:41:29 +01:00
Don HO 573a3db6e9 Notepad++ release 8.2 2022-01-01 00:04:52 +01:00
Don Ho 87db9d1957 Fix caret left-right inverse moving in R2L mode issue
ref:
https://github.com/notepad-plus-plus/notepad-plus-plus/pull/10334#issuecomment-1002054488

Fix #8553, fix #7678, fix #9730, close #10963
2021-12-29 18:37:02 +01:00
Ashfaaq18 79fa0abc8b Fix memory leak when toggling to and from Dark Mode
Fix the memory leak due to icons of toolbar - they are not removed from ImageList while switching between dark/lite mode.

Fix #10957, close #10966
2021-12-29 16:50:07 +01:00
Don Ho c0989d472c Enlarge your name field size!
Rename current tab & Rename User Language name could be up to 63 characters now!
(Before this implementation the limit size is about 20 characters)

Fix #10961, fix #9849, close
2021-12-29 16:00:55 +01:00
Ashfaaq18 4a7a33f010 Fix Document List icons unchanged issue after switching to dark mode
1. Document List icons now support darkmode icons and alternate icons.
2. Fixed memory leak in code and additional code refactoring.

Fix #10740, close #10956
2021-12-28 01:04:38 +01:00
Don Ho ae09024e66 Fix UTF-8 detected wrongly as TIS-620 issue
uchardet detects usually wrongly UTF-8 as TIS-620, hence TIS-620 detection is disabled in this commit.
More info:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10916#issuecomment-1001671957

Fix #10916, fix #940, fix #8755, fix #3588, fix #3188, fix #4932, fix #3172, fix #10492, close #10958
2021-12-27 20:17:18 +01:00
Don Ho 33a0587a65 Fix incorrect folding behaviour in C, C++ & Javascript
Fix also for TypeScript and Objective-C.

Fix  #4560, close #10948
2021-12-25 21:49:30 +01:00
Don Ho a16930fffe Add auto save loaded session on exit feature
This new feature works only if Multi-instance settings is NOT set to "Default (Mono-instance)".

Fix #1646, fix #3241, fix #3574, fix #4228, close #10935
2021-12-24 17:32:08 +01:00
Don Ho a563a8b812 Open "crontab" file by using syntax highlighting of bash
Fix #3377, close #10943
2021-12-24 03:19:19 +01:00
CennoxX 31799472b4 Add new keyword "var" in Java
Add new keyword "var" in Java, and sort the list alphabetically.

Fix #4390,  close #10917
2021-12-21 19:27:11 +01:00
Don Ho b5d646b4cd Add exclude folder(s) capacity in Find in Files
This PR allows users to provide the list of excluding folder names/patterns in "Filters" field.
Eclusion operator is alway "!" at the begining. In order to distinguish folder from file, "\" should be used as prefix of the folder name/pattern, following "!". That allows the exclusion of the directories under the root directory you want to search (the 1st level of matched directories).

If users need to exclude folders with the same name (or names matched the specific pattern) in all levels, the + should be put between "!" and "\" to exclude them recursively.

Here is a sample:
Filters: *.* !\bin !+\test !+\log*
Directory: c:\myProject\

So the excluded directories could be:

    c:\myProject\bin\
    c:\myProject\log\
    c:\myProject\logs\
    c:\myProject\src\log4j\
    c:\myProject\test\
    c:\myProject\src\test\

The following directories will not be excluded:

    c:\myProject\foo\tests\
    c:\myProject\foo\bin\

Note that "inclusion of folder" is not allowed, and such pattern will be ignored.

Fix #2433, fix #8350, close #10927
2021-12-21 18:39:22 +01:00
Don Ho ac52f406f3 Fix no focus on edit zone regression
Fix no focus on edit zone after switching back to Notepad++.
This regression is introduced by ee884f87bb (#10910)

ref:
ee884f87bb (commitcomment-62032223)
2021-12-16 17:37:11 +01:00
Don Ho 1c81788881 Add a new keyword "nameof" in C#
Fix #10870
2021-12-15 14:29:55 +01:00
Shridhar Kumar ee884f87bb A comprehensive fix for background clipping of dock panels
The (very detailed) explanation/information of fix:
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2937#issuecomment-992086848

Fix #2202, fix #2937, fix #5980, fix #8980, fix #9905, fix #10091, close #10910
2021-12-14 02:53:09 +01:00
Don HO 6df3db124f Notepad++ release 8.1.9.3 2021-12-08 20:58:49 +01:00
Don Ho 5d2fc0d8c0 Fix log written under wrong condition 2021-12-06 18:50:36 +01:00
Don Ho 0f4010eada Refactoring for the readability 2021-12-05 04:45:55 +01:00
xomx bf732c9991 Fix dirty status after reloading file
Fix #10796, close #10874
2021-12-05 04:15:12 +01:00
Don Ho acb8a9db47 Add logs for nul content corruption issue
These logs are written for debugging NUL file-corruption issue (#6133) and session lost issue (#10402) which are still problematic probably.
The writting log info will be triggered only when Windows notifies Notepad++ to end session.
The log file will be in "%APPDATA%\Notepad++\" or in Notepad++ installation folder if doLocalConf.xml is present.
To disable the log, just remove nppLogNulContentCorruptionIssue.xml.

Close #10871
2021-12-04 15:33:32 +01:00
Don Ho 12a13b1c0a Fix saving file and false alert on network drive issues
And add log ability for debugging network drive file status detection issue.

To activate log, user should:
1. Add an empty "nppLogNetworkDriveIssue.xml" file beside of notepad++.exe, or if user has no admin previlege, he/she can add this file into %APPDATA%\Notepad++\.
2. Create "C:\temp\" directory, if it doesn't exist yet.
3. Start notepad++.exe, and wait for the file status (timestamp) detection error from the network drive. If the errors occur, there should be some trace in "C:\temp\nppLogNetworkDriveIssue.log".

People who have had the network drive file status detection issue in #10688, #10753, #10757, #10751 & #10787 are welcome to download the binary and provide the generated log in order to fix this issue.

Fix #10751, fix #10688, fix #10753, fix #10757, fix #10751, fix #10787, close #10847
2021-12-01 20:42:35 +01:00
Don Ho e87342fef6 Fix Notepad++ dockable panels lose bg color issue when swiching it back
It's rather a bug of Windows' API than the bug of Notepad++. The visual glitch comes from TreeView (FunctionList, Folder As WorkSpace, Project Panels etc ...) but ListView (ASCII Insertion Panel & Document List) works fine.
I have done some fixes about this issue. However, it's not perfect when use mouse to do the snapshot.
OTOH, once the click done to show Notepad++, it becomes normal.
This is the best fix I can offer for this bug.

Fix #2202, fix #2937, fix #5980, fix #8980, fix #9905, fix #10091
2021-12-01 02:32:33 +01:00
Don Ho bab3573be7 Fix detection of backup file restored back problem
Fix #10839, close #10843
2021-11-27 16:27:59 +01:00
vlakoff e7bf582ffd Add some new PHP 7.3 function keywords
Add some new PHP 7.3 function keywords for highlighting and autocompletion.

Fix #8410, close #10819
2021-11-27 05:02:03 +01:00
jimcarst 567e0456bb Support "Taggle line comment" command for LaTeX
Fix #10836, close #10837
2021-11-27 04:48:54 +01:00
Don Ho add9f64104 Add "Notepad++ User Defined Languages Collection" project website access command 2021-11-23 00:31:37 +01:00
Don HO 21dd62bb0d Notepad++ release 8.1.9.2 2021-11-21 15:02:30 +01:00
Don HO dc082ba2fd Fix dark mode not working on Windows 10 2H22
Fix #10810
2021-11-21 04:01:26 +01:00
Ashfaaq18 c7140f279b Fix disabling alnative icons on tab in dark mode issue
Fix #10775, close #10798
2021-11-18 18:33:46 +01:00
Don Ho 9662b2e7d3 Remove unnecessary file 2021-11-18 16:25:26 +01:00
Don Ho 990c92540d Fix fallure of erasing & saving server logs (of network drive) issue
Fix #10794
2021-11-18 02:32:21 +01:00
Christian Grasser f52c2b022d Fix crash in regex search
Avoid unhandled std::range_error exceptions in case of an text input issue by providing an user-supplied byte-error string
see https://en.cppreference.com/w/cpp/locale/wstring_convert/from_bytes and https://en.cppreference.com/w/cpp/locale/wstring_convert/to_bytes

Fix #10773, close #10783
2021-11-16 00:05:04 +01:00
Don Ho a22a0bfedf Fix UDL generic dark mode via UDL UI bug
Fix #10781
2021-11-15 00:58:24 +01:00
Don HO aa06651a39 Notepad++ 8.1.9.1 release 2021-11-13 19:02:22 +01:00
Don Ho df396b9e69 Fix reload false alarm from the network drive
This regression is due to the saving routine's change:
9aa9ecb664

Normally, on each save, buffer's timestamp is updated for the future comparison with the timestamp on the disk, in order to detect the modification from outside.

It seems the new saving routing makes the change (ONLY on network disk) with the timestamp before buffer's timestamp, for unknown reason.

The fix is: if timestamp got directly from the file on disk is earlier than buffer's timestamp, it's an absurd case and we ignore it. The buffer's timestamp will be only updated if the file on disk timestamp is later than buffer's one.

Fix #10688, fix #10753, fix #10757, close #10774
2021-11-13 00:45:57 +01:00
Don Ho 20990d3197 Fix a regression of saving problem
Some users encounter the issue that files cannot be saved sometimes.
It's due to the share parameter in CreateFile() set as 0, which makes sense for preventing other process from accessing to the file being written. However, when Notepad++ tries to write the file, it opens the file for writing. If at that moment the file is already opened by other program and the share flag is zero, then the system is instructed to deny opening the file on share conflict and the open fails.
Setting share parameter to "FILE_SHARE_READ" instead of 0 solve this problem.

Fix #10751, close #10765
2021-11-11 02:12:22 +01:00
Rajendra Singh 3112466930 Fix obsolete way of struct declaration
with which it failed to compile with VS2022:
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5208?view=msvc-160

Close #10758
2021-11-08 02:08:09 +01:00
Don HO eeaa4576f3 Add Auto-Updater icon
WinGup for Notepad++ has been added a customizable icon capacity:
728ac51975
An icon is added in the commit for Notepad++ updater.
2021-11-08 01:48:55 +01:00
Andrey Smolyakov 8c3c30efae Fix VHDL comments highlighting
Comments styles in stylers.model.xml are inconsistent with Scintilla's states
described in /scintilla/include/SciLexer.h. Moreover, block comments are
highlighted with not the same style as line comments, but with style used for
"COMMENT LINE BANG" in other languages.
I eliminated the "COMMENT LINE" style, which Scintilla does not generate, fixed
the "COMMENT BLOCK" style to be the same as regular "COMMENT", and added a
separate style, "COMMENT LINE BANG", for special comments.

Close #10748
2021-11-06 00:57:02 +01:00
Don HO 32d5307edd Make UDL generic dark mode possible via UI
Checkboxes "Transparent" of bg & fg color are added for each styler.
The bg color and/or fg color set in current Styler will be ignored and the dark/light theme's bg/fg color will be used, if the checkbox "Transparent" is checked.

To make generic UDL for all dark themes, user has to enable "Transparent" checkboxes for both bg and fg color in "Default Style", then set all the other styles with bg color transparent, or set both non-transparent, according the need of your token to be colorized.

Fix #10738
2021-10-31 15:09:32 +01:00
Don HO 0fd8cecf8b Fix UDL Styler UI not load bg & fg color completely
Fix the info of background or/and forground transparency being ignored while open Styler dialog in UDL dialog.
2021-10-31 01:48:22 +02:00
Rodrigo Cesar 0fd0e5dab1 Add "when" reserved word of C# 6.0 in auto-completion
Close #9667
2021-10-29 11:53:20 +02:00
YanisBft 1d2f662f73 Add Java sealed classes-related keywords
Close #9754
2021-10-29 11:50:38 +02:00
Don HO 40fbae1f76 Enable backup on save (simple) feature by default
Fix #10725
2021-10-28 12:37:25 +02:00
xomx 09711cee28 Fix phantom docked panels issue after restoring from systray
Fixes visual bug and potential crash in the #10512.

Fix #10512, close #10711
2021-10-26 19:28:01 +02:00
Don HO d192f58b5b Make icons in Function list/Project panel/Folder as Workspace display correctly under high DPI
And do some refactoring
2021-10-24 13:50:03 +02:00
Don HO abd1ea43c9 Notepad++ 8.1.9 release 2021-10-22 00:05:22 +02:00
Don Ho 1a02319a8a Fix empty file with non-Unicode encoding cannot be saved issue
The PR fixes the regression due to the saving file API being changecd from POSIX functions to Win32 native API:
The old used function "fopen" using "wbc" as argument, according Microsoft document:
"w" 	Opens an empty file for writing. If the given file exists, its contents are destroyed.
(https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-160)
so to save a 0 length document, it was unecessary to "write nothing" explicitely on disk, since fopen did it for you.
Whereas our new implementation which uses Win32 native API passes "OPEN_ALWAYS" - that needs to "write nothing" explicitely.

Fix #10699, close #10702
2021-10-21 21:14:59 +02:00
jofon 38de8b2306 Fix language list not being reloaded issue in Style Configurator
Fix #9512, close #10686
2021-10-21 15:47:00 +02:00
Don HO 0c2508d3d1 Notepad++ release 8.1.8 2021-10-19 19:17:40 +02:00
Don Ho 386366d7f2 Fix config files (XML) saving performance regression
Instead of writting on hard disk little by little all the time,
all data is collected in a string buffer to write once on the disk at the end.

Fix #10678, fix #10674, close #10691
2021-10-19 15:39:34 +02:00
Don Ho 5d086f93a8 Workaround Microsoft dark mode API bug of Windows 11
Notepad++ dark mode works fine under Microsft Windows 7, 8, 8.1 & 10.
Under Windows 11 while Notepad++ being switched into dark mode,
the hightlighting (background) of toolbar's hot-track icons remains in light mode.
Hence this workaround to remedy Notepad++ dark mode visual glitchy due to the bug of Windows 11.

Fix #10510, close #10685
2021-10-18 00:30:14 +02:00
Don HO d80b0b254e Notepad++ 8.1.7 release 2021-10-15 11:46:40 +02:00
Don Ho 6cae886dde Fix empty file not being saved regression
When open a non-empty text file, empty the file and save it, the file is not saved on disk.
This PR has fixed this regression.

Fix #10667, close #10668
2021-10-15 00:52:26 +02:00
Andrey Smolyakov 4c34652e14 Add VHDL unresolved numeric_std types highlighting
Close #10632
2021-10-15 00:50:36 +02:00
Ashfaaq18 6526094ee7 Fix tooltip layout and position in RTL mode
Fix #10646, close #10655
2021-10-14 18:15:16 +02:00
Ashfaaq18 e82a451ec1 Fix docking problem for dockable panel in RTL mode
Fix #10641, close #10645
2021-10-14 18:09:21 +02:00
Ashfaaq18 4cf1267af8 Fix white flash in dark mode on CMD launch with position data
Fix #10657, close #10658
2021-10-14 15:36:45 +02:00
CennoxX add1c145ad Fix "Run macro until the end of file" command skipping the last line issue
Fix #10441, close #10638
2021-10-14 14:40:45 +02:00
Don HO c1dac5983a Notepad++ 8.1.6 release 2021-10-13 15:48:40 +02:00
Ashfaaq18 35e3fb9688 Fix white flash on Notepad++ startup in darkmode issue
Fix #3955, fix #10601, close #10639
2021-10-10 13:33:24 +02:00
Don Ho 6a3d6e05d9 Add new quotes 2021-10-06 03:11:10 +02:00
Don Ho 6c3031f01b Fix file can be marked as saved even it's been deleted outside
This PR make buffer always dirty (with any undo/redo operation) if the editing buffer is unsyncronized with file on disk.
By "unsyncronized", it means:
1. the file is deleted outside but the buffer in Notepad++ is kept.
2. the file is modified by another app but the buffer is not reloaded in Notepad++.

Note that if the buffer is untitled, there's no correspondent file on the disk so the buffer is considered as independent therefore synchronized.

Fix #10401, close #10616
2021-10-05 02:32:40 +02:00
Adam D. Walling 78a2f32692 Fix status bar text display issue in dark mode
Fix incorrect text size calculation for drawing the dark mode status bar
which can cause an invalid character to be displayed.

Fix #10564, close #10611
2021-10-03 03:06:22 +02:00
Don Ho 682a8edafa CFile (Win32 API IO) Refactoring
1. Rename CFile to Win32_IO_File (plus some modification in class).
2. Add new method writeStr() in Win32_IO_File class to write "char*" & string.
3. Change method names of Utf8_16_Write class and make writeFile() method return accurate type (boolean).

Close #10612
2021-10-02 15:00:08 +02:00
Don Ho 11b2dd0f6b Fix previous session lost issue after MS update restarting Windows
Use Windows IO API instaed POSIX IO (output only) on tinyXml component for writting xml file (config.xml, session.xml, etc...).

Fix #10402, close #10612
2021-10-02 14:59:47 +02:00
Don Ho f1837474ca Fix Print Preferences GUI bug issue
Fix #10552
2021-09-29 18:23:59 +02:00
Pavel Nedev 9aa9ecb664 Fix NUL file-corruption issue after system shutting down brutally
Uses native Win32 IO API (CreateFile, ReadFile, WriteFile, CloseHandle) instead of POSIX ones (fopen, fread, fwrite, fclose) for remedying NUL file-corruption problem due to system shutting down brutally.

Fix #6133, close #10598
2021-09-28 12:30:05 +02:00
Don Ho 4d57f5071f Make modified code conform to the coding style 2021-09-27 23:03:10 +02:00
Ashfaaq18 531bef28d8 Fix docked window sizing direction problem in RTL mode
Fix #10536, close #10576
2021-09-27 22:55:26 +02:00
Ivan Ustûžanin 19cf5c9037 UDL: preserve DarMode-ness upon saving
Fix #10583, close #10570
2021-09-27 20:56:21 +02:00
Don Ho 2159126d8e Initialize the values of Gripper's varible member 2021-09-27 20:51:39 +02:00
Ashfaaq18 d939e4a6ed Fix floating panel movement issue in RTL mode
Fix #10579, close #10586
2021-09-27 19:42:51 +02:00
Don HO 45693d1302 Notepad++ 8.1.5 release 2021-09-27 13:24:09 +02:00
Don Ho 2f7490abab Fix tab settings in UDL regression
Bug reported here:
https://community.notepad-plus-plus.org/topic/21866/notepad-8-1-5-rc-3?_=1632620635740

The regression is due to e5a800722b
2021-09-26 04:34:37 +02:00
Don Ho a7a700145d Fix a regression of pluginsAdmin
Fix a regression of pluginsAdmin reported in:
https://community.notepad-plus-plus.org/topic/21853/notepad-8-1-5-rc2/3?_=1632245574765
2021-09-21 22:53:58 +02:00
Don Ho 635f1d41ab Fix a typo & add a pun 2021-09-20 18:34:50 +02:00
Don Ho bc2e689185 Add Insert Date/Time commands shortcut & macro capacities
Fix #10567
2021-09-20 04:11:45 +02:00
Don HO c7e1da48ff Align dark mode styles with light mode styles
1. Improve JSON, PYTHON, BANNC and VHDL syntax highlighting in dark mode.
2. Reosort light mode style.
2021-09-18 02:52:09 +02:00
Don Ho 6ee3bd3c45 Make more room for the translation of custom format label 2021-09-16 17:54:25 +02:00
mere-human 0ad4912eb0 Enhance Insert Custom Date command by using MS datetime format
Fix #10467, close #10480
2021-09-16 17:25:19 +02:00
Don Ho a3116818e0 Code enhancement: Initialize variable member's value of struct/class
Close #10545
2021-09-14 03:08:17 +02:00
Ivan Ustûžanin 049ededf9f Add gcc 32-bit build and improve build process
1. Include SciLexer build in Notepad++ build.
2. Remove -fpermissive, auto -j in make.

Fix #9989, close #10540
2021-09-13 23:17:11 +02:00
Ashfaaq18 73b41ec74f Fix docked/float panels in RTL layout issue
Fixed Npp RTL context menu for Document List, Project Panels, Folder Workspace, Search Results Window,
and fixed Floating Dockable Window RTL direction.

Fix #10488, close #10535
2021-09-13 13:27:35 +02:00
Don Ho e5a800722b Make code more sanitary
Fix some vulnerable codes detected by VS's analyzing.

Close #10541
2021-09-12 18:50:30 +02:00
Ashfaaq18 36d0d29cc7 Add path column in Document list panel
Fix #9679, close #10539
2021-09-12 15:18:22 +02:00
Don HO 36d13f3ad8 Sort Preferences->New Document->Default language combobox
Fix #10513
2021-09-10 02:44:55 +02:00
Ivan Ustûžanin 1c9009e9b2 Fix open file crash via open file dialog
Notepad_plus_Window was rather huge (megabytes). Now it's small (tens of kilobytes),
but to safeguard against future size increase move its allocation from the stack
into the heap.
By using smart pointer, this PR not only fix open file crash properly,
but also prevent stack from being corrupted in the future.

Fix #10454, close #10531
2021-09-09 16:05:50 +02:00
Ivan Ustûžanin 495d202a43 Fix Find dialog display mess-up
Find dialog display mess-up caused by unintialized member variable.
Intialization of member variables fixes it.

Fix #10511, close #10530
2021-09-09 12:41:22 +02:00
Don Ho aff77e27d3 Fix incremental search panel not translated after startup issue
Fix #10478
2021-09-08 13:43:51 +02:00
Don Ho bd31dbb68f Remove "#pragma once" from rc files 2021-09-06 22:49:11 +02:00
Ivan Ustûžanin 241238df5a Fix xml writing issue in gcc build
Fix #10185, fix #9163, close #10503
2021-09-06 00:25:09 +02:00
Don Ho cddcbb5d61 Fix CSS pseudo-elements not recognized issue
Update CSS keywords and add new styles.

Fix #10425, close #10501
2021-09-05 16:39:49 +02:00
Ivan Ustûžanin 156784722a Make number of languages and and styles unlimited and independent
A clean version of #10483 thanks to @ozone10 and @chcg.
The proper fix for #10206 without any compile-time limits.

Fix #10483, fix #10206, close #10491
2021-09-05 16:31:18 +02:00
Ashfaaq18 ef8522e4aa Enable/disable ext column from Document list directely
* Enable/disable ext column via the context menu.
* The ext column checkbox is removed from the preferences dialog.
* Cleaned up localization file

Fix #10468, close #10485
2021-09-03 14:48:18 +02:00
mere-human 55f2644953 Fix regression: no error message when locked file could not be saved
Show file locked warning.
This is a regression from commit 469fa62c0e

Fix #9994, close #10487
2021-09-03 14:18:53 +02:00
Christian Grasser ed5c2631c1 Fix asan(address sanitizer) issue with no plugins
Fix #10470, close #10471
2021-09-01 11:19:45 +02:00
Ashfaaq18 5c52aff7a1 Fix inconsistency of Document List context menu
Document List context menu now appears only when files are selected.

Fix #10463, close #10464
2021-09-01 00:49:44 +02:00
Don Ho dab02db976 Add non MSC info into debug info 2021-08-31 18:41:22 +02:00
Don HO 7006714c16
Update AboutDlg.cpp 2021-08-31 15:39:00 +02:00
Don Ho 88ee2eddb0 Fix the crash regression due to the array size increase
LexerStylerArray contains a MAX_LEXER_STYLE-element array (currently 100) of LexerStyler objects. Every one of them in turn via inheritance from StyleArray contains a SCE_STYLE_ARRAY_SIZE-element array (I tested with 99) of Style objects each at least 56 bytes in size. This in my test case requires over 550k of memory, and if LexerStylerArray is allocated on stack, the stack becomes corrupted. (Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10454#issuecomment-908732786)

Inline arrays are a part of an object and increase its size while std::vector uses memory from the heap and stores internally only a pointer to a chunk of memory, thus the size of an object with a vector is substantially smaller than the one with an inline array. (Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10454#issuecomment-908780106)

Fix #10454, fix #10206
2021-08-31 01:38:55 +02:00
Don Ho 84c1505fab Add custom date time insert
Make Insert date time customizable.
Also make date time order reversable for short & long format.

Fix #10445, close #10453
2021-08-29 19:42:05 +02:00
mere-human d41b4e1645 Fix current directory not applied bug after changing current directory option
Refresh the working directory when changing Follow current document preference.

Fix #10396, close #10426
2021-08-28 17:55:42 +02:00
ozone10 68d293e711 Allow custom color for Document Map
Fix #10052, close #10422
2021-08-26 01:03:18 +02:00
Don Ho e12b161d48 Make Incremental Search panel translatable
Fix also checkbox overlap in incremental search bar.

Fix #8955, fix #8574, close #10420
2021-08-25 16:38:42 +02:00
Don Ho deab93f9b5 Make "Confirm Save All" dialog more clear
Use "Always Yes" button instead of "Cancel", and whole dialog is translatble.

Fix #10339, close #10429
2021-08-25 16:31:51 +02:00
Don HO 390f7631fa Notepad++ 8.1.4 release 2021-08-25 02:17:47 +02:00
ozone10 8ac13d9065 Make dark mode compatible with Windows 11
Use documented way to enable UxTheme dialog texture.
Remove undocumented way.
Disable UxTheme dialog texture in dark mode.

Fix #10299, close #10383
2021-08-20 12:08:41 +02:00
mere-human 8f123f8cca Fix file dialog append extension with RTL language
When both Windows and Notepad++ use RTL language, the Save/Open button is swapped with Cancel button.
Now take that into account when searching the button.

Fix #10397, close #10400
2021-08-18 14:05:25 +02:00
Don Ho 0733e6f241 Add Insert Date Time commands
Add Insert Date Time commands for both short & long format.

Fix #497, fix #2821, fix  #8184, fix #8302
2021-08-18 12:45:51 +02:00
mere-human 0c16f87a18 Fix Find-in-Files "Follow current doc" not working issue when absolute Default Directory set
This PR uses always current buffer's path in Find in Files dialog:
When "Follow current doc." is checked, then use current path first.
If that fails, fallback to the working directory as it was before.

Fix #8045, close #10387
2021-08-16 14:27:47 +02:00
Don Ho 302bab894f Make plugins' toolbar icons display in light/dark mode
The plugins' toolbar icons can be displayed in both light/dark mode by using their original icons.
Though using new API NPPM_ADDTOOLBARICON_FORDARKMODE to have better look & feel is recommanded.

Fix #9959, fix #10388, fix #9809
2021-08-16 02:12:03 +02:00
ozone10 5e899f2a6c Enhance dialog visual look & feel
Change dialog extyles.

Fix #10384, close #10385
2021-08-15 20:27:46 +02:00
0xlay f50061981a Add support DarkMode, function list & auto-completion for TypeScript
Close #10381
2021-08-15 11:47:19 +02:00
0xlay 9a3152faa2 Add TypeScript language
Fix #10353, close #10361
2021-08-13 20:12:02 +02:00
Don Ho 2576bf884b Substitute "Mark" for "Style" in the menu entries
In order to avoid users' confusion, all "Mark" occurrences of menu entries are substituted for "Style", so users won't confuse with "Mark" fonction in Find dialog.

Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/10195#issuecomment-893481499

Close #10351
2021-08-13 13:54:27 +02:00
Don HO 2b0620b078 Notepad++ 8.1.3 Release 2021-08-12 19:39:53 +02:00
Ashfaaq18 f5ea4898cf Fix the regression: absence of toolbar tooltip
This regression is du to 733c7e73de

Fix #10355, close #10359
2021-08-09 23:58:01 +02:00
Don Ho 4cc3d9fd1a Add Markdown UDL of dark mode in release packages
Add Markdown UDL of dark mode and the ability to apply it:
After dark mode being swiched in, all files with extension .md will be opened by applying Markdown UDL of dark mode.
When light mode is switched back, the default Markdown UDL (of light mode) will be applied to the new opened .md file.
Please note that all .md files opened before switching to new mode, will remain in the previous mode. User has to close and reopen these files to have the right Markdown UDL applied.

Fix #10196, close #10347
2021-08-08 03:22:15 +02:00
Don Ho a36a12257a Add more quotes
Close #10342
2021-08-08 03:19:40 +02:00
Ashfaaq18 5c2c317352 Fix Function list current empty lost issue while Sort/Unsort/Save/Reload
Retains tree state of function tree during Sort/Unsort and Save/Reload actions.

Fix #8819, fix #10280, fix #10294, close #10322
2021-08-08 03:08:51 +02:00
ozone10 13623669a4 Make title, button, progress bar dark again
Fix #10326, close #10327
2021-08-08 02:34:53 +02:00
Ashfaaq18 733c7e73de Fix 2 RTL issues: wrong path in tooltip and file drag & drop Bug
Fix 2 RTL issues:
1. wrong path in tooltip of tab (#8520).
2. the file drag and drop bug (#8730) - now user can drag and drop to the exact view.

Fix #8520, fix #8730, close #10348
2021-08-08 02:21:45 +02:00
Don Ho 14a104ad46 Fix shortcut conflict detection error in shortcut mapper
https://github.com/notepad-plus-plus/notepad-plus-plus/issues/5374#issuecomment-891879420

Fix #5374
2021-08-03 20:56:29 +02:00
Don Ho a7ede53c26 Add and remove some quotes 2021-08-03 20:24:06 +02:00
Don Ho 8a77b07d96 Fixed detection of shorcut key conflicts when filtering
Currently, when the shortcut mapper is filtering shortcuts, it doesn't display key conflicts properly. This is due to the indexes of the filtered shortcuts being different (since there are less) than the original list of shortcuts.

Author @jmbockhorst
(the original branch has been deleted)

Fix #5374, close #5453
2021-08-03 13:21:23 +02:00
mere-human 90485aaa21 Use CRLF line ending in Copy command from Windows dialog
Also, move endsWith() function to Common.h and reuse it in WindowsDlg.

Fix #10311, close #10314
2021-08-03 03:08:49 +02:00
Don Ho 242530c1fc Make margin width display correctly under high DPI 2021-08-02 01:43:16 +02:00
mere-human 121f19d8f9 Fix crash when several instances of the file dialog are shown
Pass a pointer to FileDialogEventHandler instance via GWLP_USERDATA
instead of using static variable. This way each window can have its
own pointer.

Fix #10290, close #10303
2021-08-01 23:58:03 +02:00
Don HO 1c1a0c487a Update about dialog icons 2021-08-01 16:30:03 +02:00
ozone10 318a566ae7 Apply explorer style on treeview
Enable hottracking for explorer style.
Allow dynamic change based on treeview background.

Fix #10061, close #10304
2021-08-01 16:05:26 +02:00
Don Ho 87bda092cb Fix a compiling error in MinGW 2021-07-31 14:28:08 +02:00
Don Ho 53576f5b18 Change logo in About dialog and make it dark-modable 2021-07-30 23:53:53 +02:00
Don Ho 19f40fdeae Fix 2 panels' toolbar icons display issue under high DPI
Improve Function list & Folder as Workspace toolbar icons display under high DPI.
2021-07-30 15:59:27 +02:00
Don Ho 2bb40b1ab5 Fix Plugin Admin display issue under high DPI 2021-07-29 20:01:00 +02:00
Don Ho 1dad7c7e7f Increase macro, user command and plugin command number capacity
Macros:      200 -> 499
User cmds:   200 -> 499
Plugin cmds: 500 -> 999

Fix  #10263
2021-07-29 18:02:29 +02:00
ozone10 fcea83ba98 Apply dark mode on plugins admin
Fix #10287, close #10288
2021-07-29 03:39:08 +02:00
ozone10 bf6cb36d48 Apply dark mode on document switcher
Fix #10285, close #10286
2021-07-29 03:22:24 +02:00
Don Ho 7c9f4204ea Refactoring: Improve the code organization for color picker displaying 2021-07-29 03:13:22 +02:00
Don Ho 6894e96ad7 Fix UDL dialog color picker display issue under high DPI 2021-07-29 01:48:33 +02:00