1. Add an option for displying constant line number width in Preferences dialog.
This option set the line number constant width according the total line number in the document (minimun 4 digits).
It ensures no unexpected visual effect while scrolling content vertically.
If the document content is modified and the total number of lines is increased or decreased, more digits will be added or removed according the number of digits in total number of lines.
2. Add new plugin messages NPPM_GETLINENUMBERWIDTHMODE & NPPM_SETLINENUMBERWIDTHMODE for getting or setting LINENUMWIDTH_DYNAMIC / LINENUMWIDTH_CONSTANT.
So plugins may send NPPM_SETLINENUMBERWIDTHMODE message with LINENUMWIDTH_CONSTANT to Notepad++ for avoiding some unexpected visual effect (while scrolling).
Fix#5670
The bug: Drag a short name tab to accross a longger name tab (w/o releasing mouse click) will make a swich - dragging the logger name instead of the shorter name one.
This regression is due to PR "Fix Tab non-responding after dragging bug".
This reverts commit c6e1a95098ada4db56dd9032bd5b2d4fa92458a7.
Fix#5072, fix#5450, open #4885
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
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
in the same time issue
Fix Unicode file name comparision to match Windows behaviour (as opposed to doing a linguistic filename comparision)
Fixes#3820, closes#4141
Fixed block uncomment in undoStreamComment func, new argument.
tryBlockComment is to avoid loop call.
Fixed typo in doStreamComment func.
Fixes#1200, fixes#1714, fixes#2125, fixes#2854, closes#2875
1. GetLastErrorAsString is moved from PluginsManager.cpp to Common.h and common.cpp and also function signature is changed
2. Below method were already defined in common.cpp, but not declared in common.h
generic_string intToString(int val);
generic_string uintToString(unsigned int val);
3. Updated RunDlg.cpp to show error if ShellExecute fails
Closes#2626, Fixes#2179
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.