Commit Graph

1962 Commits (10f6ff6c1fa3d0bcf594d03c572e5cb8444cf9a3)

Author SHA1 Message Date
Don HO 3f5f69c6a6 [EU-FOSSA] Enhance external call code to avoid eventual arbitrary commands execution 2019-03-10 23:27:05 +01:00
Don HO a2e9421669 Fix renamed new tab incorrect behaviour
Double-clicking on a "find all in current document" result in a renamed new tab get a prompt to create it.
2019-03-10 03:14:47 +01:00
Don HO 6580255a2b Fix a regression: double-clicking on a "find all in current document" result for an unsaved doc prompts to save it 2019-03-09 16:02:32 +01:00
Don HO faa2fb4e8a Notepad++ release 7.6.4 2019-03-06 14:28:29 +01:00
Don HO 8b0a85bd56 Use new style open/save file dialog by default 2019-03-05 19:42:29 +01:00
Rajendra Singh da3a17e912 Support More localization
Close #5323
2019-03-04 09:53:01 +01:00
Don HO 157846c60a Fix a small regression on Find dialog status bar
Fix #5070, close #5094
2019-03-04 03:25:54 +01:00
Jon Bockhorst dd8ae05429 Add shift + scroll for horizontal scrolling
Close #2682, close #5184
2019-03-03 18:36:17 +01:00
Rajendra Singh eb8eb25799 Make naming homogeneous in xml file
No more dummy surprises.

Close #5276
2019-03-03 16:38:26 +01:00
Rajendra Singh ae980ce4d4 Don't allow restricted characters for tab file rename
Extend class StringDlg, so that characters which are not allowed in a file name such as |, :, >, < etc. will be restricted for tab's new name so that there will be no problem while saving backup file.

Close #5324
2019-03-03 15:51:31 +01:00
Rajendra Singh c4f493a7c8 Fixed file open hang issue in old style mode
Fix #5368, close #5370
2019-03-03 15:19:27 +01:00
Rajendra Singh 50e9e87e44 Use the reference parameter instead of copy parameter and some clean up
Close #5360
2019-03-02 14:46:17 +01:00
Rajendra Singh 5423b50635 Fixed regression and support localization for "Open Plugins Folder..."
Close #5365
2019-03-02 14:34:06 +01:00
Christian Grasser 52ed9af685 Fix "Find in files" tab translation issue on initial dialog call
Fix #5236, close #5272
2019-03-02 00:41:56 +01:00
Jon Bockhorst b08d08b38b Fixed issue of splitter panes not being equal
Fixed issue #3776 of splitter panes not being equal due to the widths not taking into account the size of the splitter. Also fixed a spelling error.

Fix #3776, close #5190
2019-03-01 21:55:56 +01:00
Don HO 627c00b433 Replace file extension r in Rebol by r2 & r3
Close #5203
2019-03-01 20:37:19 +01:00
Rajendra Singh 21d73d44fe Fixed macro playback junk char display issue on Find dialog
Fix #5339, close #5340
2019-03-01 13:43:43 +01:00
Don HO 94c4608cc1 Fix a typo & add some comments 2019-03-01 13:35:26 +01:00
Don HO c22f181d80 Add hashes (32/64) of nppPluginList.dll new release 2019-03-01 03:41:47 +01:00
Pavel Nedev 1dfa92c4b7 Add 'Open Plugins Folder...' command
Closes #5224, closees #5225
2019-03-01 01:03:34 +01:00
Rajendra Singh 2a4a70ed21 Pass the arguments by reference instead of by copy to improve the performance
Close #5341
2019-02-28 13:38:03 +01:00
Don HO 3baef49079 Add SHA256 checking of the authentity of used modules
In order to remove the code signing certificate dependency, SHA256 checking of the authentity of used modules (Scilexer.dll, GUP.exe and nppPluginList.dll) is added.
See the followling link for the detail information:
https://notepad-plus-plus.org/community/topic/17184/remove-code-signing-from-notepad
2019-02-27 10:14:36 +01:00
Don HO 1f5ba1803f Fix compiling error 2019-02-24 18:21:28 +01:00
Don HO da2d14436c [EU-FOSSA] Enhance the macroable detection to avoid crash 2019-02-24 11:34:27 +01:00
Don HO d7c942ee2f Fix auto-update detection issue due to wrong version number used 2019-02-23 13:06:44 +01:00
Don HO 5085d9c95a [EU-FOSSA] Check string length to copy to avoid crash in purgeMenuItemString function 2019-02-22 19:58:20 +01:00
Don HO eec82cc2a6 [EU-FOSSA] Replace "lstrcpy" by "wcscpy_s" in "BabyGrid.cpp" to avoid the eventual crash 2019-02-22 13:37:11 +01:00
Don HO bd7816755c [EU-FOSSA] Replace lstrcat by wcscat_s to avoid crash 2019-02-22 12:57:58 +01:00
Don HO 70cd3e5ea6 [EU-FOSSA] Check if the command is macroable before playing the recorded macro
Such situation can happen via the manual modification of shortcut.xml by hackers.
2019-02-21 20:11:42 +01:00
Don HO 4472620f30 Remove "Get More Plugins" menu item 2019-02-20 09:46:17 +01:00
Don HO b90be4a05b [EURO-FOSSA] Fix a vunerability from "Search on Internet" command
Restrict the usage of customized search engine on only "http://" or "https://" url schema to avoid whatever application can be launched via "Search on Internet" command.
2019-02-20 00:34:28 +01:00
Don HO 5bcf55c59e Add stackoverflow as search engine 2019-02-19 13:05:02 +01:00
Don HO 188565fd4a Fix x64 compiling error 2019-02-18 23:23:55 +01:00
Don HO 0adc06322f [EU-FOSSA] Fix buffer overrun in Print dialog 2019-02-18 23:13:28 +01:00
Don HO 194475ce64 [EU-FOSSA] Fix a crash bug on Macro execution with arbitrary parameters 2019-02-18 01:27:26 +01:00
Don HO 011aa960fb Fix a regression on c4ff9f76a3
Fix a regression on c4ff9f76a3
2019-02-17 20:13:04 +01:00
Rajendra Singh 3546268c23 Add the capacity to rename non-existing document's tab
Close #5311
2019-02-17 18:17:24 +01:00
Don HO c4ff9f76a3 Make "new #" document drag-and-drop operation among instances right.
New correct behaviour: Dragging out a "new #" document from instance 1 and dropping it into instance 2 makes disappear "new #" document from instance 1, and nothing happens in instance 2.
2019-02-16 23:47:03 +01:00
Rajendra Singh 17c40213ca Tab context menu bug fixes
Disable "Open containing Folder in Explorer" and "Open Containing Folder in CMD" commands for document non-exist on hard disk.

Close #5312
2019-02-16 09:55:12 +01:00
Don HO fbffdd8825 Load nppPluginList.dll as resource instead of binary for the sake of security
Checck the discussion here:
https://github.com/notepad-plus-plus/nppPluginList/issues/31

More information:
https://blogs.msdn.microsoft.com/oldnewthing/20141120-00/?p=43573
2019-02-15 00:01:12 +01:00
Rajendra Singh 7aa953c55a Fix a crash (a regression) due to replacement of lstrcpy by wcscpy_s
Close #5314
2019-02-14 00:03:37 +01:00
Don HO 501980782f [EU-FOSSA] Check Updater's certificate before launching it 2019-02-13 19:39:39 +01:00
Don HO 1ab1624800 Fix a crash regression due to a bad length count for a replacement of wcscpy_s 2019-02-13 02:22:15 +01:00
Don HO 7fe3cda1d0 [EU-FOSSA] Use wcscpy_s instead of lstrcpy to prevent from buffer overflow 2019-02-11 02:07:04 +01:00
Don HO b381ea5353 Make name more explicite: "Remove Duplicate Lines" to "Remove Consecutive Duplicate Lines" 2019-02-10 13:43:41 +01:00
Don HO ea1fd44ff0 [EURO-FOSSA] Fix stack buffer overflow on strcpy 2019-02-10 04:11:26 +01:00
Don HO 494b4bc0db Fix crash on exit after creating or importing a UDL
And fix deletion userDefineLang.xml file bug on exit.
2019-02-09 22:52:13 +01:00
Don HO 58037e07b1 [EU-FOSSA] Fix stack buffer overflow on wsprintf in WordStyle dialog
Also remove dynamic allocation for CB_GETLBTEXT and use local array instead by controlling buffer size.
2019-02-09 03:28:52 +01:00
Don HO 0438447194 [EU-FOSSA] Fix stack buffer overflow on LB_GETTEXT 2019-02-08 22:13:12 +01:00
Don HO cdd13ecadc [EU-FOSSA] Fix stack buffer overflow on CB_GETLBTEXT 2019-02-08 12:38:34 +01:00
Don HO dfb9b5e330 Enhance User Defined Language System for supporting more than one UDL file.
Several UDL xml files can be loaded to allow to manage/share UDL more easily.

1. The old file userDefineLang.xml is kept in its old location and is still used.
2. The new folder userDefineLangs is added beside of the old UDL default file. Any UDL xml file can go into the folder userDefineLangs and will be loaded as UDL.
3. A UDL xml file must contain one (or several) user defined language(s).
4. The created UDL via UDL dialog and imported UDL are saved in  userDefineLang.xml (default UDL file).

https://notepad-plus-plus.org/community/topic/17072/new-enhancement-for-user-defined-language-system
2019-02-07 23:40:17 +01:00
Don HO 51f10bdba5 Add "Remove Duplicate Lines" feature
Remove duplicate consecutive lines from whole document.
2019-02-01 01:00:36 +01:00
Don HO e691370e4f [EU-FOSSA] Fix stack overflow in extractSymbol function 2019-01-31 20:17:59 +01:00
Don HO c906af27b2 [EU-FOSSA] Fix stack overflow in exts2Filters function 2019-01-30 23:33:16 +01:00
Don HO 5eaf67b647 [EU-FOSSA] Fix stack overflow issue on User Define Language dialog 2019-01-30 01:52:18 +01:00
Don HO c314ed1d8a [EU-FOSSA] DLL hijacking of plugins\Config\Config.dll loaded by Notepad++ 2019-01-28 19:54:50 +01:00
Don HO 1a356c2019 Notepas++ 7.6.3 release 2019-01-27 23:13:30 +01:00
Don HO 9fecbae030 Move plugins home from %ProgramData% to %ProgramFiles% for the sake of security
Whole specs here:
https://notepad-plus-plus.org/community/topic/16996/new-plugins-home-round-2
2019-01-25 02:10:11 +01:00
Don HO c1bf412f57 [EU-FOSSA] Avoid to execute eventual hijacked binaries from Notepad++
If the same name binaries are placed in user's PC and the fake binaries path are set before the system ones:
https://superuser.com/questions/897644/how-does-windows-decide-which-executable-to-run/897645
then the fake ones are executed.
Remove these entries for avoiding to execute eventual hijacked binaries from Notepad++.
2019-01-22 00:04:06 +01:00
Don HO abf78e84b2 [EU-FOSSA] Fix loading unexpected dll as plugin issue
Unexpect behaviour: if "<NppDir>\...dll" and/or "<NppDir>\plugins\..dll" exist, they will be loaded because Notepad++ try to load "<NppDir>\pluginName\pluginName.dll" as plugin, in our case "<NppDir>\plugins\..\...dll" and "<NppDir>\plugins\.\..dll" respectively.

The fix is excluding both directories ".." & "." to not load mentionned above unwanted dll.
2019-01-19 03:30:54 +01:00
Don HO e813f0383b Fix x64 build error 2019-01-19 03:27:08 +01:00
Don HO 4421161848 [EU-FOSSA] Fix stack overflow issue while affecting "ext" field on stylers.xml 2019-01-18 23:09:00 +01:00
Don HO ccdf7d8d8b [EU-FOSSA] Fix stack overflow in XML Parsing 2019-01-18 03:50:20 +01:00
Don HO b9ce848881 [EU-FOSSA] Fix EXE Hijacking of gup.exe launched by Notepad++
Notepad++ launches updater (gup.exe) without checking the signature, that makes exe hacking possible.
The fix is to check updater binary's signature before launching it.
2019-01-18 00:40:01 +01:00
Don HO ac2ac8cb4b Fix x64 build error 2019-01-18 00:34:40 +01:00
Don HO 5b1f530204 [EU-FOSSA] Fix crash issue due to heap overflow in clipboardHistoryPanel.cpp
When the amount of clipboard data is too important, it makes crash of function WideCharToMultiByte (win32 API).
The remedy is to capture this error to prevent Notepad++ from crash.
2019-01-17 13:56:41 +01:00
Rajendra Singh 694415f8af Make exception error more clear
Close #5212
2019-01-15 09:56:41 +01:00
Don HO 0f936707a2 [EU-FOSSA] Fix a security issue: RCE via unsanitized command line in "Open containing folder"
Summary of the Issue:
A remote code execution (RCE) vulnerability was found when a user opens a crafted containing folder in the command line. Code execution is possible by injecting a & followed by system commands into the name of the folder.

Steps to reproduce:
Download the attached archive on Windows: unzip_me.zip (F404758)
Unzip it and navigate into it
Open the txt file inside with Notepad++
Go to File -> Open containing folder -> cmd

Impact statement:
Successful exploitation of this vulnerability would allow an attacker to remotely execute arbitrary commands on the victim's computer.
2019-01-14 20:20:19 +01:00
Don HO fd32585c14 List plugins in alphabetical order in Plugins Admin dialog 2019-01-14 20:02:47 +01:00
Don HO 70dee50dc7 Notepad++ 7.6.2 release Gilet Jaune Edition 2019-01-01 02:46:17 +01:00
rra0137 b1285e7b1e Add Zulu localization
Close #5160
2018-12-29 12:40:35 +01:00
Don HO 953919c406 Make new added SHA-256 hash features translatable 2018-12-26 00:06:04 +01:00
historicbruno a8f3ef12dc Updates rust keywords and primitive types for 2018 edition
https://doc.rust-lang.org/book/ch03-02-data-types.html
https://doc.rust-lang.org/book/appendix-01-keywords.html

Close #5159
2018-12-25 20:10:19 +01:00
Don HO d6f5b7b13a Change folder location of auto-completion
from "<NPP_INST>\plugins\APIs\" to "<NPP_INST>\autoCompletion\"
2018-12-23 04:27:56 +01:00
Don HO 699b9b08ed Add Plugins Admin module into zipped package 2018-12-23 01:20:32 +01:00
Don HO 6eabece7ad Make Plugin Admin excluded from Windows XP because wingup doesn't work
under XP
2018-12-22 18:47:27 +01:00
Jon Bockhorst 4f24f81eb8 Add new feature: double click splitter resets panes to equal size
Close #5118
2018-12-20 09:51:42 +01:00
Don HO 412c5986a0 Fix a compiling error due to bad formatted ressource file. 2018-12-17 14:11:41 +01:00
Don HO a079013c22 Fix the plugin crash issue due to the inexistent path
Inexistent path %APPDATA%\Notepad++\plugins\Config\ made some plugins crash.
In this PR the folder is checked (and created if it doesn't exist) by each launch of Notepad++.
2018-12-17 10:16:01 +01:00
Don HO 647651b7ee Add generation of SHA-256 hash feature 2018-12-16 20:14:30 +01:00
Don HO e7b04a6a1a Notepad++ 7.6.1 release 2018-12-13 02:37:11 +01:00
Don HO e9563aeb8c Remove unecessary message boxes from some NPPM API 2018-12-09 22:29:34 +01:00
Rajendra Singh 6c73e5cba7 Fixed printer header footer font issue
Fix #4749, close #5003
2018-12-09 16:02:03 +01:00
Christian Grasser 0686435d1a Fix invalid xml syntax issue from #4572
Close #5112
2018-12-09 15:50:23 +01:00
KOLANICH 41fa7f6d95 Add and reorder keywords in Python
Added nonlocal and moved async and await according to lexicographical order
2018-12-09 15:42:30 +01:00
Don HO 15ef9bd052 Change nppPluginList.dll installation locaion
From %LOCALAPPDATA%\Ntepad++\plugins\Config\ to %PROGRAMDATA%\Ntepad++\plugins\Config\
2018-12-06 02:31:39 +01:00
Don HO 775d204ef9 Change loading plugin list location
Loading plugin list location is changed from %LOCALAPPDATA%\Notepad++\plugins\Config\ to
%PROGRAMDATA%\Notepad++\plugins\Config\

Enhance API NPPM_GETPLUGINSCONFIGDIR
2018-12-04 13:38:25 +01:00
Kovra 4f67c09859 Make text display right in summary panel
Close #5037

User @buggalicious found the summary text is displaying a count of characters without line endings not blanks.
Patch should address #3849 by updating the text to describe what is actually being counted.
2018-12-03 03:09:31 +01:00
Brad G 184a6f6ce5 PHP: Add styler entry for complex variables
Close #5066
2018-12-03 02:39:06 +01:00
0017031 d7507013e0 Enhance pluginsAdmin.h
use _TCHAR and _istdigit() to avoid wchar/char mismatch, and possible undefined behavior.
https://en.cppreference.com/w/cpp/string/byte/isdigit

Close #5067
2018-12-03 02:11:30 +01:00
vlakoff ef1b04b6fc Adjust displayed name for Swift language in stylers
Close #5052
2018-12-02 23:27:20 +01:00
nikita.smirnov 087add6490 Remove DIRECTIVE from VHDL styles table
Close #4931
2018-12-02 23:24:44 +01:00
Rajendra Singh 6e4f591bd1 Fix typo and remove unecessery files
Close #5071
2018-12-02 18:36:48 +01:00
andre2007 4128e8f04d D language keywords update
Close #5080
2018-12-02 02:41:09 +01:00
Don HO c919dc6270 Notepad++ won't load plugins from %LOCALAPPDATA%\Notepad++\plugins\ anymore
Notepad++ loads plugins only from 2 locations:
1. %PROGRAMDATA%\Notepad++\plugins\ - while Notepad++ installed on: %PROGRAMFILES%\Notepad++\ or wherever without doLocalConf.xml
2. <NPP_INST_DIR>\plugins\ - while Notepad++ installed on wherever (except in %PROGRAMFILES%\Notepad++\) with doLocalConf.xml
2018-11-28 13:31:44 +01:00
Don HO 5df59ba2fc Add Pig latin language in installer 2018-11-28 02:56:02 +01:00
Don HO b466e5bf08 Add Pig latin language 2018-11-28 02:31:37 +01:00
Don HO 78a0f57ed1 Make Plugins Admin translatable 2018-11-27 13:12:56 +01:00
Don HO 61402a354f Add elevation capacity for wingup if plugins are installed in %PROGRAMDATA%
While plugins are in %PROGRAMDATA%, we need admin's rights to modify them. This PR detects the plugins installation in %PROGRAMDATA%, then launch wingup with UAC.
2018-11-24 16:26:24 +01:00
Don HO 116f400753 Add thee new capacity to load plugins from %ALLUSERSPROFILE%
By putting an empty "pluginsForAllUsers.xml" file, all the plugins will be loaded from %ALLUSERSPROFILE%\Notepad++\plugins\.
2018-11-21 02:20:36 +01:00
Don HO f03ce289d3 Fix "Import plugins" not working issue. 2018-11-17 19:01:24 +01:00
Don HO 1ef92c6cce Fix a "Frenglish" issue. 2018-11-14 00:42:14 +01:00
Don HO 40fbf0da61 Notepad++ 7.6 release 2018-11-13 02:31:46 +01:00
Rajendra Singh fd52450d16 Fixed memory leaks
Close #4945
2018-11-12 22:56:28 +01:00
Don HO 17ac06f83a Fix a regression of fail removing different architecture plugins 2018-11-12 03:37:42 +01:00
Don HO 0abde25440 Clean up GUI in Plugins Admin 2018-11-12 02:21:21 +01:00
Silent acb30b9e61 Fix "Close all but this" behaviour if multiple views are present and some files are dirty.
This PR contains three types of changes:

1. Actual bug fix. This bug appeared, because prior to closing files, "Close all but this" attempts to save modified files, and for that it needs to switch views. Those views were not restored after that, however - so further actions could end up being executed on a wrong view. Those are changed commented with // We may have to restore previous view after saving new files.

2. Another potential bug fix. Closing files in both views could result in views being switched (it may or may not, I did not manage to unambiguously find that out from the code). To prevent any possible issues, I stored view IDs in viewNo. If those could never switch, then the code changes nothing - but if they could, it fixes a potential bug.

3. Code clarity fix in Notepad_plus::switchEditViewTo. std::swap makes it more obvious this code is there only to swap values around!

Fixes #4911, Close #4920
2018-11-10 16:45:37 +01:00
Rajendra Singh 94cf9d53ca Fix tool tip in document switcher showing the old name issue (after being renamed).
Fix #4910, close #4936
2018-11-10 13:53:53 +01:00
Rajendra Singh b9b3faf307 Fix crash issue due to Unix style path input in Open file dialog.
This issue occurs when "Use New Style Dialog" setting is not used .
Ctrl+O, then type D:/*.log and hit Enter.

Fix #4946, close #4986
2018-11-10 12:15:08 +01:00
Cyril Ganchev 08b0156472 Fix auto-indent issue by typing Enter on empty line.
Do not alter indentation if we were at the beginning of the line and we pressed Enter.

Fix #443, close #4991
2018-11-10 04:17:17 +01:00
Chris Cammack fd51703ad8 Fix a performance issue for swiching back to folded document.
Use the _isFolding flag to fix several overlooked edge case hangs.
This pull request fixes additional hangs I found after #4867 when working with deeply-nested fully-folded files. The hangs are easy to reproduce by following these steps:

Download the sample file https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/PowerEditor/src/Parameters.cpp
Open the downloaded file by itself in NPP and fold it using Alt-0
Create a new empty tab and remain focused on it
Perform the six actions below, each of which will produce a hang as NPP tries to change focus back to the first tab. On my machine, each hang lasts about 30 seconds. After control returns, refocus the empty tab again and try the next action.
Use File>>Open to reopen the downloaded file, even though it is already open
Drag and drop the downloaded file onto NPP to reopen it
Double-click the downloaded file to reopen it
Right-click the downloaded file and select Edit with Notepad++ in the context menu
Open the downloaded file from the command line: C:\Program Files (x86)\Notepad++\notepad++.exe" .\Parameters.cpp
Click the red [X] in the upper right corner to close NPP
After applying the patch, none of the hangs should happen any more.

Close #4999
2018-11-10 03:05:13 +01:00
Silent bfb7e863cc Update uchardet to 0.0.6 to improve UTF-8 detection quality
This PR updates uchardet (https://www.freedesktop.org/wiki/Software/uchardet/) to the newest stable version (0.0.6).
This version seems to improve UTF-8 detection quality, so updating this dependency is expected to squash numerous charset detection issues.

Fixes #4878, Fixes #4767, Fixes #4428, Fixes #4246, Fixes #3705, Fixes #3588, Fixes #431, Closes #4925
2018-11-09 13:49:58 +01:00
Silent ac09857656 Fix UTF-8 detection for 4 byte characters
This PR fixes UTF-8 detection for 4 byte characters (a 2002 code used by npp assumed characters longer than 3 bytes are invalid -.-). This means such files will not be erroreously displayed as ANSI anymore.

Steps to reproduce:

Create a new UTF-8 file (w/out BOM)
Paste eg. this character 🍪 and save.
Reopen the file again.
Prior to this PR, file is detected as ANSI (even if Notepad++ is configured to default-assume UTF-8!!!). After this fix, file gets opened as UTF-8 correctly.

Fixes #4730, Fixes #3986, Fixes #3441, Fixes #3405, Closes #4922
2018-11-09 13:39:00 +01:00
Jeffrey Ozanne 0aafe91be9 Fixed Typos in quote eastereggs
Close #4948
2018-11-09 12:58:50 +01:00
Don HO a87e89ea92 Add new Plugin message NPPM_GETPLUGINHOMEPATH in API
The new message NPPM_GETPLUGINHOMEPATH allows plugins to get plugin home root path. It's useful if plugins want to get its own path by appending <pluginFolderName> which is the name of plugin without extension part.
2018-11-07 23:30:59 +01:00
Don HO 8dea25feb5 Refactoring for optimizing/simplifying the code for getting plugin root path 2018-11-07 22:51:27 +01:00
Don HO e9a489c5c9 Remove allowAppDataPlugins.xml detection.
Simply plugins loading emplacement:
NPPM_GETAPPDATAPLUGINSALLOWED to check to see if loading plugins from "%APPDATA%\..\Local\Notepad++\plugins" is allowed.
If doLocalConf no
else yes
2018-11-03 19:45:04 +01:00
Don HO 7e555b67fc Remove the legasy plugin loading way and apply only the new plugin loading method
1. Load plugins only from the new plugin folder structure. example: Notepad++\plugins\myAwesomePlugin\myAwesomePlugin.dll
2. Load plugins from only one directory. If doLocalConf.xml is present, then it will be <NPP_INSTALLATION_DIR>\plugins\
   otherwise %USERPROFILE%\AppData\Local\Notepad++\plugins\
2018-11-03 12:39:23 +01:00
Don HO ee763ca0ad Change Plugins Admin installation behaviour
Old installation behaviour is loading installed plugins without restart Notepad++, which could make some plugins loading uncomplete.
New behaviour use the same implementation of plugin updating, witch quit notepad++ for plugin installation then restart Notepad++.
2018-11-01 18:42:35 +01:00
Don HO fdf954f714 Revert "Fix scintilla restoring wrapped buffer issue" due to a serious performance issue
Check https://notepad-plus-plus.org/community/topic/16468/notepad-7-5-9-release

This reverts commit 40192bda0c.
2018-10-31 00:38:26 +01:00
Don HO ab8b5dc7a0 Shift the post installation (checking if the plugin is deployed correctely) responsability to WinGup
For the sake of retro-compatibility, change the way of plugin packaging:
1. The plugin DLL file should be placed at the root level of the ZIP file. It has to be the only DLL file on this level.
2. The root level of the ZIP file can also contain additional files and folders which will be copied to the users harddisk as well.
3. Everything what gets copied from the ZIP file will be stored under <Npp-installation-folder>\plugins\<plugin-name>.
2018-10-29 20:21:15 +01:00
Don HO b01a396668 Remove SHA-256 hash checking from Plugins Admin
Pass hash to check to WinGup. WinGup will verify sha-256 hash of zip package for the plugin installation and update.
2018-10-27 15:41:12 +02:00
Don HO c531a4d42a Send NPPN_READY notification to loaded plugins after their installation by Plugin Admin 2018-10-25 20:48:36 +02:00
Don HO ef5d07771a Fix checking plugin crash issue due to plugin packaging error. 2018-10-25 03:34:49 +02:00
Don HO 519fecbb82 Add SHA-256 implementation and use sha-256 instead of md5 in Plugin Admin 2018-10-24 09:45:35 +02:00
Don HO e919d4d05a Remove getFileContain function's limitation. 2018-10-24 00:54:52 +02:00
Don HO ec340000cc Make command line more clear. 2018-10-22 09:25:00 +02:00
Don HO 312ddff837 Notepad++ 7.5.9 release 2018-10-15 00:25:52 +02:00
Silent 0db302953b Add -notepadStyleCmdline for Notepad-style command line processing (/p -> -quickPrint and joining paths)
Close #4620
2018-10-12 00:41:52 +02:00
Silent f0821d9835
Add stripIgnoredParams to implement "Wish: "ignore first item" command line argument (for replacing Notepad)"
Closes #852
2018-10-08 22:18:44 +02:00
Silent 74d39b1cec
Greatly simplify commandline parsing 2018-10-08 21:55:52 +02:00
Chris Cammack fe458a7072 Fix hanging problem while switching back a fully-folded document by using shortcut (Ctrl-TAB)
Use the _isFolding flag to avoid expensive redundant operations that cause an apparent hang when opening or switching tabs to a large fully-folded file.

The released version of Notepad++ uses the _isFolding flag to avoid expensive redundant operations when switching to a fully-folded tab using the mouse pointer.

However, opening a fully-folded file or switching to a fully-folded tab with the keyboard can produce a delay so long that Notepad++ appears to hang forever.

The hang is 100% reproducible and can be demonstrated in less than 60 seconds:

Download a deeply-nested file such as https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/PowerEditor/src/Parameters.cpp or https://github.com/notepad-plus-plus/notepad-plus-plus/files/1555939/nppTest.zip
Open the file in Notepad++ and fold it using Alt-0
Create a new empty tab
Switch back and forth between tabs using the mouse, which is fast
Switch back and forth between tabs using the keyboard (Ctrl-Tab, Ctrl-Page(Up|Down), Ctrl-NumPad[0-9]), which will hang
This pull request applies the existing _isFolding flag to the forgotten keyboard and file open operations and prevents the hang caused by opening or switching tabs to a fully-folded file.

Fix #3996, fix #1128, fix #1806, fix #4871
Close #4867
2018-10-07 23:42:47 +02:00
CFrank 84938b7b0f Add new plugin API NPPM_REMOVESHORTCUTBYCMDID to allows plugins to remove unneeded shortcuts
Fix #4674, close #4687
2018-10-07 03:08:34 +02:00
Rajendra Singh efbc3b2160 Fix Tail moniotoring incoherent status after deleting a monitored file
Steps to Reproduce the Issue:

1. Open two files a.txt (first tab) and b.txt (second tab)
2. Start tail monitoring for a.txt (first tab) and activate b.txt (second tab)
3. Now delete a.txt from the explorer
4. Come back to notepad++
5. Observe the behavior now

Unexpected Behavior:

At step 4, if user choose to keep the file, a.txt is still marked as monitoring. As soon as del action occurs, b.txt automatically comes under "tail monitoring".
If user choose to remove file, a.txt should be removed from the notepad. This is absolutely fine.

Fix #4750, close #4751
2018-10-05 23:49:55 +02:00
Pavel Nedev 456ff70554 Fix issue with wrong smart highlighting when it is disabled
Fixes #4774, close #4893
2018-10-04 00:55:44 +02:00
Rajendra Singh 90ab58aea8 Fix last active tab is ignored on N++ restart issue
Fix #4716, fix #4755, close #4722
2018-10-03 09:36:44 +02:00
Pavel Nedev abc6bc144b Fix possible file corruption during backup or power loss or other abnormal N++ termination
Fixes #240, Fixes #2381, Fixes #2883, Fixes #4346, Fixes #4655 and probably more issues related to loss of data.
Close #4803
2018-10-03 01:42:57 +02:00
Wurstbrot c6e1a95098 Fix Tab non-responding after dragging bug
Short problem description:
Drag/drop a tab with the mouse to another position,
then all other tabs can't be activated with clicking anymore.

Also a missing include was added, that prevented compilation

Fix #4885, close #4886
2018-10-02 20:18:11 +02:00
Christophe Meriaux 40192bda0c Fix scintilla restoring wrapped buffer issue
When we are restoring a wrapped buffer,
we send SCI_VISIBLEFROMDOCLINE message to convert a file line number to a visual line number,
scintalla seems to ignore the "wrap" option of this buffer.
Workaroud: execute SCI_ENSUREVISIBLE after set position and before executing SCI_VISIBLEFROMDOCLINE.

It seems that this issue has been encountered in ScitillaComponent/FindReplaceDlg.cpp in Searching::displaySectionCentered

Fix #4571, close #4624
2018-10-02 02:52:34 +02:00
Don HO 050ba58a80 Add new quotes. 2018-10-01 02:38:30 +02:00
Don HO d2c32ddc1d Add 2 more spitural quotes 2018-09-30 13:12:35 +02:00
Don HO f0d130bbc5 Make plugin installer threadable. 2018-09-29 17:12:19 +02:00
Don HO b662bcf5ae Add checking MD5 ability in Plugin Admin
Check MD5 after installing to prevent from MITMA
2018-09-27 09:56:58 +02:00
Don HO 6fb78db414 Fix a passing argument to wingup bug for Plugin Admin. 2018-09-24 02:25:33 +02:00
Don HO da49749438 Define the plugin-list's path for Plugin Admin
It will be in plugins/Config/
2018-09-21 20:16:30 +02:00
Don HO bfff12fd9c Add the load capacity after installing the plugins in Plugin Admin. 2018-09-20 09:24:11 +02:00
Don HO 6510889ba0 Add version management for Plugins update in Plugin Admin 2018-09-19 09:21:23 +02:00
Don HO 74e89bdf5f The best easter egg I could hide ;) 2018-09-19 00:32:26 +02:00
Don HO 71dd261a50 Plugin Admin: Change the way to remove & update plugin
uninstall: tell user to restart Notepad++ - Gup.exe remove all - clean in batch - relaunch Notepad++
gup.exe -clean "appPath2Launch" "dest_folder" "fold1" "a fold2" "fold3"
gup.exe -clean "c:\npp\notepad++.exe" "c:\temp\" "toto" "ti ti" "tata"

update:    tell user to restart Notepad++ - Gup.exe download - remove all in directory - unzip/clean in batch - relaunch Notepad++
gup.exe -unzip -clean  "appPath2Launch" "dest_folder" "toto http://toto" "titi http://titi" "tata http://tata"
gup.exe -unzip -clean "c:\npp\notepad++.exe" c:\temp\ "toto http://toto" "ti et ti http://titi" "tata http://tata"

Install:   GUp.exe download - create directory - unzip: one by one, no relaunch
gup.exe -unzipTo c:\donho\notepad++\plugins "https://github.com/npp-plugins/mimetools/releases/download/v2.1/mimetools.v2.1.zip"
2018-09-13 23:07:22 +02:00
Pavel Nedev b48c086831 Fix wrong backup file deleted isuue
On doClose() delete the right backup file

Fix #4744, close #4745
2018-09-03 00:33:40 +02:00
Pavel Nedev 4969f377ad Fix backup not fully disabled issue
Fixes #4663, close #4738
2018-09-03 00:22:42 +02:00
Magnus Österlund f92d5e69ad Update Swedish localization
Close #4777
2018-09-02 17:14:20 +02:00
Don HO 3325da03a0 Fix a plugin installation problem
Add a new plugins loadding behaviour:
if it's not doLocalConf mode, then plugins can be loadded from "AppData\Local\Notepad++\plugins\", without presence of "allowAppDataPlugins.xml".
2018-08-19 18:04:16 +02:00
Don HO f3c17e9886 Fix Plugin Admin installing plugins issues.
Fix Plugin Admin installing plugins bugs and check also wingup certificate before use it.
2018-08-12 15:21:21 +02:00
Don HO e75cf910bd Add new brhaviour of checking Plugin List's certificate 2018-07-31 09:12:57 +02:00
Don HO 9aebe5baf1 Add a new file extension for cpp 2018-07-25 03:00:30 +02:00
Don HO 89fbbad94e Notepad++ 7.5.8 release 2018-07-23 02:45:12 +02:00
Rajendra Singh 14b5e161cc Fixed crash issue by checking & unchecking "Disable extension column" in preferences dialog
Fix #4682, close #4684
2018-07-22 20:31:03 +02:00
Rajendra Singh 1c60f3f93e Fix "Explorer Here" from "Folder as Workspace" problem if folder name contains comma
Close #4686, Fix #4249
2018-07-22 10:50:44 +02:00
Don HO 43b2344b23 Fix Folder as Workspace not updating regression
This regression is due to commit 6890e94952 (#4257)

Fix #4644, fix #4379
2018-07-22 02:42:28 +02:00
Silent 388e874bfc Fixed a crash when trying to launch a secondary instance with string commandline arguments
Fix #4621, close #4622
2018-07-20 03:03:53 +02:00
Don HO eb4edb50ef Plugin Admin - in progress 2018-07-19 02:03:17 +02:00
Don Ho 97467eb802 Notepad++ 7.5.7 release 2018-06-30 16:54:33 +02:00
AngryGamer 85e3c53a21 Fix hanging problem while shutingdown and backup file is absent
Fix #4295, fix #4276, close #4611
2018-06-28 21:11:26 +02:00
Silent 6b5144d176 Fix format specifier warnings - /Wv:18 can now be removed
As a follow up to my previous pull request, this PR fixes the last remaining improper format specifiers. This allows to remove /Wv:18 compilation flag completely, since (presumably) the only reason it was added in the first place were those format specifier warnings, introduced in VS2015.

Effectively, all this PR does is applying fixes suggested by the compiler (included in those warnings).

Close #4604
2018-06-27 22:35:32 +02:00
Don HO 587d3494c7 Fix the compiling failure on x64 build 2018-06-27 02:15:55 +02:00
Don HO ef13902206 Use corret name for length variable 2018-06-26 13:50:33 +02:00
Don HO 6326115662 Use automatic variable with static size instead of dynamical allocation 2018-06-25 01:01:00 +02:00
Silent a9d203a60a Deprecate wstat/stat in favour of WinAPI GetFileAttributesEx - unifies code and behaviour between Windows versions
Fixes #4491, fixes #3969, fixes #2535, fixes #215, close #4541
2018-06-25 00:33:09 +02:00
Silent 9cb8fce854 Migrate timestamps from time_t to FILETIME and store them in UTC universally
Fixes #4491, #3969, #2535 and #215.
2018-06-25 00:32:46 +02:00
Silent 08eb29e3d6 Force cpp standard const char pointer on string literals
const-ified all string literals to suppress warnings on gcc and allow /Zc:strictStrings to be used with Visual Studio

Fix #4146, close #4150
2018-06-25 00:06:26 +02:00
vlakoff 06fb4dd99f Remove "from" which is not a reserved JavaScript keyword
Close #4410
2018-06-24 23:28:02 +02:00
Christophe Meriaux b69c36b55f Make carret line always visible on click from Finder panel
Close #4518, fix #4510
2018-06-24 23:16:50 +02:00
Don HO 593cf451fb Clean up 2018-06-24 01:16:01 +02:00
WoodsCheney bac637ddfa Fix Open File Dialog error for a long path
Fix #4345
2018-06-24 00:42:03 +02:00
SinghRajenM a83fa30de6 Fixed the macro deletion bug
Fix the issue that deleting a Macro doesn't remove it from the Run Macro multiple times dialog until restart

Fix #4526, close #4532
2018-06-21 09:57:04 +02:00
Silent 1482420fcb Fixed pointer truncations reported after removing /Wv:18
Close #4544
2018-06-21 02:36:28 +02:00
Derek 0c55b381da Fix a bug where the document map highlights incorrectly when the view is scrolled past the end of the file.
Fix #4579, close #4580
2018-06-21 02:28:51 +02:00
Don HO 32c1427c12 Add run process sync method & Plugin Admin's operations
Make Updater run sync for removing & restoring plugin info from & to the
plugin lists while the Plugin Admin's operation of installation, update and removal.
2018-06-19 09:39:42 +02:00
Don HO 2b7cd05093 Restore the needed functions 2018-06-13 14:02:49 +02:00
Don HO c94319e863 Enhance installed list in Plugin Admin 2018-06-13 04:15:21 +02:00
Don HO c30c0de0fc Refactoring Plugin Admin codes 2018-06-12 03:20:37 +02:00
vlakoff ab903c4554 Cleanup in context menu and Run entries
Close #4519
2018-05-26 00:00:09 +02:00
along 0a6b19fedc Fix toolbar display bug in big icon mode issue
Close #4509
2018-05-25 09:53:32 +02:00
Don HO 3a52ab1af1 Remove unused method 2018-05-07 21:11:22 +02:00
nrecker e65b4c37bf Fix Sort Lines as Integers issue: use Natural Sort algorithm
This changes the line operations "Sort as Integers Ascending" and "Sort as Integers Descending" to sort by Natural Sort Order, in which consecutive numerals are considered as one character. This causes "2" < "10", just like in the old Integer sort, but also "foo 2" < "foo 10", which was not previously available functionality. In cases where every line is a single integer, Natural Sort functions exactly the same as Integer Sort; when every line begins with a single integer, it is a valid Integer Sort.

Close #4413, fix #2025
2018-05-06 13:25:10 +02:00
Don HO 454f92af4a Adapt new plugin file system structure for the future release. 2018-04-30 19:36:15 +02:00
Don HO 7cf5232056 Make new file system of plugin works on installation directory 2018-04-25 20:46:09 +02:00
SinghRajenM 6890e94952 Fixed a code in ReadDirectoryChangesPrivate.cpp
Close #4257
2018-04-21 14:51:57 +02:00
Christian Grasser 0f4b0ec9a4 Fix typo to make translation work.
correct typo STRT_REPLACE -> STR_REPLACE

Fix #4354, close #4391
2018-04-20 13:10:18 +02:00
SinghRajenM e9c0ee4866 Fixed UDL export extension issue
Fix #4372, close #4377
2018-04-20 02:42:56 +02:00
Don HO ce1ffd441d Update stylers.xml model 2018-04-13 18:22:57 +02:00
Don HO 3aaf083c1d Add unit tests for function list feature
go to notepad-plus-plus\PowerEditor\Test\FunctionList directory then
launch the following commands:
powershell ./unitTestLauncher.ps1
2018-04-13 12:46:03 +02:00
Don HO 985fa654b9 Fix Javascript not working regression in Function list since 2016
due to 2 commits:
5d438aa
fb189fa
2018-04-09 00:35:53 +02:00
Don HO 01cfe5d083 Rename label in functionlist output json 2018-04-04 01:14:11 +02:00
Don Ho 9733729bfb Notepad++ 7.5.6 release 2018-03-19 01:46:19 +01:00
d0vgan 58fa70b580 Fix file status detection issue under Windows XP (32-bit only)
Close #4226
2018-03-18 00:52:52 +01:00
Don HO 6c9a5a2afe Fix typos in translation entry string 2018-03-17 23:06:03 +01:00
Don HO 3332aa918b Add more funny quotes 2018-03-16 02:19:00 +01:00
Don HO a3be39a3ad Quotes clean up 2018-03-13 21:16:45 +01:00