Skip to content

Function List Tracks Editing Pane Cursor (Issue715)#4113

Closed
GaryBloom wants to merge 2 commits intonotepad-plus-plus:masterfrom
GaryBloom:GaryBloom-patch1-Issue715
Closed

Function List Tracks Editing Pane Cursor (Issue715)#4113
GaryBloom wants to merge 2 commits intonotepad-plus-plus:masterfrom
GaryBloom:GaryBloom-patch1-Issue715

Conversation

@GaryBloom
Copy link
Copy Markdown
Contributor

This Pull Request addresses Issue #715 and allows the Function List pane's selected function to track the user's traversal within the editing pane.
I have tested and seen it working with both Python and C++ test cases.
The changes were coded up by KlausiD, and I integrated them into the latest version of the NPP sources.

Not sure why there are some white space changes below attributed to this PR, but these white space changes in Notepad_plus.h and functionListPanel.cpp must be attributable to the environment.

Copy link
Copy Markdown
Contributor Author

@GaryBloom GaryBloom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had to modify some references due to differences in x86 and x64 builds. I believe the problematic lines have been fixed.

{
if (sci_line < _findEndLine)
_findEndLine = sci_line;
_findEndLine = static_cast<LONG>(sci_line);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not change
auto sci_line = (*_ppEditView)->execute(SCI_LINEFROMPOSITION, pos);
into
LONG sci_line = static_cast<LONG>((*_ppEditView)->execute(SCI_LINEFROMPOSITION, pos));
so you only have to cast once?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Implemented. Thanks!

@GaryBloom GaryBloom changed the title Gary bloom patch1 issue715 Issue715 - Allow Function List to Track Cursor in Editing Pane Jan 23, 2018
Copy link
Copy Markdown
Contributor Author

@GaryBloom GaryBloom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented MAPJe71's proposed mod's. Built and tested on x86 and x64.

{
if (sci_line < _findEndLine)
_findEndLine = sci_line;
_findEndLine = static_cast<LONG>(sci_line);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Implemented. Thanks!

@GaryBloom GaryBloom changed the title Issue715 - Allow Function List to Track Cursor in Editing Pane Allow Function List to Track Cursor in Editing Pane (Issue715) Jan 23, 2018
@GaryBloom GaryBloom changed the title Allow Function List to Track Cursor in Editing Pane (Issue715) Function List Tracks Cursor in Editing Pane (Issue715) Jan 23, 2018
@GaryBloom GaryBloom changed the title Function List Tracks Cursor in Editing Pane (Issue715) Function List Tracks Editing Pane Cursor (Issue715) Jan 23, 2018

_treeViewSearchResult.init(_hInst, _hSelf, IDC_LIST_FUNCLIST_AUX);
_treeView.init(_hInst, _hSelf, IDC_LIST_FUNCLIST);
_treeView.makeLabelEditable(false);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops... Picked up this change when I pasted my whole file into the editor instead of trying to manually edit within GitHub. I must have overlooked it before when manually editing. Clearly, pasting is the way to go.

@dail8859
Copy link
Copy Markdown
Contributor

@GaryBloom This really should be a single commit to make the history cleaner and easier to review the PR. If you are unable to squash these commits, I can do it for you if you'd like.

@GaryBloom
Copy link
Copy Markdown
Contributor Author

@dail8859 - I totally agree. It's my first PR and hasn't been the smoothest process. I don't see how to squash the multiple commits into a single one. According to the GH docs, it looks like I should be able to change the settings of my fork to allow squashing, but I can't find how to do that. If you don't mind giving me some direction, I'm happy to do the squash myself. I would have liked to make the PR a single commit, but clearly I didn't do it the best way.

@dail8859
Copy link
Copy Markdown
Contributor

It's my first PR and hasn't been the smoothest process.

No problem at all.

I'm happy to do the squash myself.

To squash them you have to actually have the repository cloned to your computer and use git to squash and then force push the branch. To do this I believe you'd have to do something like:

git rebase -i HEAD~7
git push origin GaryBloom-patch1-Issue715 --force

A quick Google search regarding squashing and force pushing should be enough to get it fixed up.

If you are just doing everything via the Github website then I don't think it is possible for you to squash the commits. If that is the case then I am able to do it since I have write access to the Notepad++ repository then it gives me write access to this PR.

@GaryBloom
Copy link
Copy Markdown
Contributor Author

I've been working outside of Git, so it might be more expedient for you to do it, at least this time.
I just installed Git and GitDesktop, configured my user.name and user.email, downloaded my fork (which didn't have any changes in it), overlaid the changes, built them (x86 and x64), and then Git committed the changes locally with:
src> git commit -a
I ran:
src>git rebase -i HEAD~7
received a list of 7 "picks", selected mine, and deleted the others, and it seemed to take.
When I tried:
src>git push origin GaryBloom-patch1-Issue715 --force
I got the following error messages:
error: src refspec GaryBloom-patch1-Issue715 does not match any.
error: failed to push some refs to 'https://github.com/GaryBloom/notepad-plus-plus.git'
I'm guessing there's some disconnect between my local env and what's on the GH site. Probably because I never did a "pull" before the "push".
So, I just went to my GitHub\notepad-plus-plus dir and did a
plus> git pull
which brought
8 files changed, 53 insertions(+), 37 deletions(-)
but still won't let me execute the push.
I think at this point it makes more sense for you to do the squash, if you don't mind. I'm not sure when I'll have more time to work on this, and it would be great to see this get into the next release.
Thanks,
Gary

@dail8859 dail8859 force-pushed the GaryBloom-patch1-Issue715 branch from 10d7626 to 5ade347 Compare January 28, 2018 12:49
Copy link
Copy Markdown
Member

@donho donho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove updateFunctionList() definition

_pFuncList->markEntry();
}
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updateFunctionList() is not necessary

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And check only if (_pFuncList) is not enough.


updateStatusBar();
updateFunctionList();
AutoCompletion * autoC = isFromPrimary?&_autoCompleteMain:&_autoCompleteSub;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use the following code instead of using updateFunctionList();

if (_pFuncList && (!_pFuncList->isClosed()) && _pFuncList->isVisible())
    _pFuncList->markEntry();

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

HTREEITEM root = _treeView.getRoot();
if (_findLine != -1)
{
if (lineNr >= _findLine && lineNr < _findEndLine)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_findEndLine != -1 not checked

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reduce 2 imbricated conditions into 1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

TreeView _treeViewSearchResult;

LONG _findLine = -1;
LONG _findEndLine = -1;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use long instead of LONG

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Copy Markdown
Member

@donho donho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. check _findEndLine != -1 before comparing
  2. reduce 2 imbricated conditions into 1
  3. Use long instead of LONG

@chcg
Copy link
Copy Markdown
Contributor

chcg commented Feb 1, 2018

@dail8859 There is a merge option from github to "squash and merge", see https://help.github.com/articles/about-pull-request-merges/

@dail8859
Copy link
Copy Markdown
Contributor

dail8859 commented Feb 1, 2018

@chcg Yes I'm aware but the guidelines (not written by me) state a single commit per PR.

@donho
Copy link
Copy Markdown
Member

donho commented Feb 25, 2018

@GaryBloom Nice PR.
However, there are some change requests - could you take care of it please?

@GaryBloom
Copy link
Copy Markdown
Contributor Author

My apologies for disappearing. I will try to make time to get this resolved. Not knowing Git is my main obstacle, but I am watching some videos and hope to be able to finish this up in the next week or so.

@donho
Copy link
Copy Markdown
Member

donho commented Mar 3, 2018

@GaryBloom Just modify your current local branch, commit it and push it.
I'm gonna take care of the rest.

@GaryBloom
Copy link
Copy Markdown
Contributor Author

@donho - Don, thanks for your patience. I learned enough of Git to "git" this done. Git shouldn't be as much of an obstacle moving forward.
Please note that, as per your requests, two of the five committed files (Notepad_plus.{h,cpp}) are back in pre-PR form. I looked at undoing the last squashed commit to only commit the three changed files, but I thought it best to not risk breaking anything, since I'm still pretty new to Git. So I recommitted the two original files in lieu of repairing the squashed commit. Just wanted to point that out.
Thanks, again.
Gary

@donho donho added accepted and removed suspended labels Mar 11, 2018
@donho donho added this to the 7.x (master) milestone Mar 11, 2018
@donho donho assigned donho and unassigned GaryBloom Mar 11, 2018
@donho
Copy link
Copy Markdown
Member

donho commented Mar 11, 2018

Awesome @GaryBloom
Thank you for your useful PR

@donho donho closed this in a724cc4 Mar 11, 2018
SinghRajenM added a commit to SinghRajenM/notepad-plus-plus that referenced this pull request Jul 5, 2018
* Fix multi-line tab button stay pushed issue while swiching off.

Make sure previous tab does not keep focus when switching tabs.
TO REPRODUCE:
Step 1: Move a tab using drag and drop.
Step 2: Use a tab switching hotkey/feature which doesn't set TCM_SETCURFOCUS AND TCM_SETCURSEL

Fixes notepad-plus-plus#3545, closes notepad-plus-plus#3552

* Rename variables & clean up

* Fix a regression regarding b859303

* Fix the long time bug that non-exist folder to pass via command line is not opened without warning

* Fix command line argument parsing regression

Work with the arguments in a temporary array of pointers to the command
line before assigning them to paramVector as generic_string.

Follow up to afb3889. Since then the arguments were copied to
paramVector as generic_string too early, before the command line parsing
finished.

Closes notepad-plus-plus#3575

* Add function list export feature

"notepad++.exe -export=functionList -lcpp c:\funcListTests\whatever.cpp"
will open whatever.cpp as cpp file, then parse this file to write the
funcLst result on disk, then exit Notepad++.
The result will write into c:\funcListTests\whatever.cpp.result.

* Add "-quickPrint" command line argument

"-quickPrint" allows user to launch Notepad++ via command to print a
given document then quit Notepad++ immediately.
Usage:
notepad++.exe -quickPrint c:\funcListTests\EncodingMapper.cpp

* Fix export fuctionlist bug

* Fix a typo

* Corrected typo

happend -> happened

Closes notepad-plus-plus#3568

* Add "Fortran (fixed form)" in compact Language menu

In addition to "Fortran (free form)"

Fixes notepad-plus-plus#3566, closes notepad-plus-plus#3567

* Update czech.xml translation to 7.4.2

Closes notepad-plus-plus#3555

* Roll back from 2 find buttons to 1 find button

Due to 2 find buttons logic limit (lost replacing up capacity), the
direction option is added back, and 1 find button is restored (instead
of 2 find buttons).

* Update translation files

* New feature: Opens file in its default viewer

This feature has the same effect as double-clicking this file in Windows Explorer.

Closes notepad-plus-plus#3577, fixes notepad-plus-plus#3576

* Code improvement

Closes notepad-plus-plus#3582

* Corrected/updated Hindi localization

Colse notepad-plus-plus#3605

* Update Bulgarian translation

* Update Korean translation

* Update Russian translation

* Update german.xml to v7.5

Closes notepad-plus-plus#3618

* Notepad++ 7.5 release

* Fix some excluded language cannot be remembered bug

* Update Corsican translation for Notepad++ 7.5

Closes notepad-plus-plus#3630

* update japanese.xml to v7.5

Changed to follow: "Open in Default Viewer", changes in Find dialog
Closes notepad-plus-plus#3625

* Update croatian.xml

* Update localization files for v7.5 modification

* Shortcut Mapper improvements - add cathegory

Shorcut mapper - main panel : new colums that show the category of the shortcut
Shorcut mapper - plugin panel : new colums that show the plugin name that the shortcut belongs to
Shorcut mapper - scintilla panel : it shows every shortcuts configured for one command

Fixes notepad-plus-plus#3583, Closes notepad-plus-plus#3635

* Improve file extension movement between ListBox in Preferences dialog

Now mouse double click can be used to move File extension between ListBoxes.

Closes notepad-plus-plus#3595

* Make double click work for language menu disabling/enabling in preference dialog

Fixed issue and organized code

Fixes notepad-plus-plus#3589, closes notepad-plus-plus#3594

* Fix a localization regression

Closes notepad-plus-plus#3639

* Replace '\r' by real carriage return

Closes notepad-plus-plus#3280

* Fix restore back language menu item on the wrong position

* Add Visual Prolog language support

Closes notepad-plus-plus#1439

* Add a philosophy quote in easter eggs

* Update Bulgarian translation

Closes notepad-plus-plus#3649

* Update Ukrainian translation

Closes notepad-plus-plus#3647

* Update danish translation to 7.5

Closes notepad-plus-plus#3641

* Add batch auto-completion

A new resource for auto-completion in batch scripting environment

Closes notepad-plus-plus#3157

* Fix the bug that Notepad++ create %appdata%\local\notepad++\ folder even in doLocalConf mode

* Update chineseSimplified.xml

Closes notepad-plus-plus#3660

* Enhance Function List for PHP and JavaScript

Support interface and trait in PHP.
Support space between function name and opening parenthesis in PHP and JavaScript. Fixes at least notepad-plus-plus#1919 and notepad-plus-plus#2604.

About the JavaScript regex:

Current:
function(\s+[A-Za-z_]?\w*\([^\)\(]*\)|\([^\)\(]*\))

There are 2 parts, for named and anonymous functions. Note there is some duplication, let's simplify it:
function(\s+[A-Za-z_]?\w*)?\([^\)\(]*\)

The first character of function name is not optional (of course when the function is named), let's fix it:
function(\s+[A-Za-z_]\w*)?\([^\)\(]*\)

Finally let's support the possible spaces before opening parenthesis, for both named and anonymous functions:
function(\s+[A-Za-z_]\w*)?\s*\([^\)\(]*\)

Fixes notepad-plus-plus#1919, fixes notepad-plus-plus#2604, fixes notepad-plus-plus#1667, fixes notepad-plus-plus#2962
closes notepad-plus-plus#2523, closes notepad-plus-plus#2621

* Notepad++ 7.5.1 release

* Fix un installer issue

While install a x64 version, it should remove x86 version if it exists (and vice versa).
The removal feature doesn't work though user answer Yes for the deletion.
This commit fixes this issue.

* Add 1 quote and delete some.

* Update spiritual quotes

* Export function list in json format

* Use VS2015 for appveyor instead of VS2013

* Switch to VS 2015

* Read plugin list as json format (in progress)

* Better disply of installer components page description

Colses notepad-plus-plus#3745

* Nitpicking - quotations

Britain should be capitalized, one of the quotations is duplicated.

Closes notepad-plus-plus#3743

* Fix certificate checking error message issue

1. Fixed issue (caption and message are interchanged)
2. Disabled lexerdll signature checking in debug mode

Closes notepad-plus-plus#3691, Fix notepad-plus-plus#3688

* Fixed typo in help text

EsterEggName should be EasterEggName

Closes notepad-plus-plus#3681

* Fix the issue that batch.xml is missing from installer

Closes notepad-plus-plus#3677, fixes notepad-plus-plus#3680

* new easter eggs quotes

* fix feedScintKeys when more than two shortcuts are configured

Closes notepad-plus-plus#3732, fixes notepad-plus-plus#3720

* Add version badge

Closes notepad-plus-plus#3725

* Adapt json format for Plugin admin

* switch from VS2013 to VS2015 & VS2017

* Update Arabic language file

* Enhance Plugin Admin UI

* correct appveyor.yml VS vcxproj after rename

add logger to see warnings/errors in the message tab

Closes notepad-plus-plus#3825

* Make mouse hook functions right

* Fix static analyzer message "Expression is always true"

V547 Expression '_isFloating == true' is always true. dockingcont.cpp 1080
V547 Expression 'itemSelected == 2' is always true. treeview.cpp 504
V560 A part of conditional expression is always true: 0xff. babygrid.cpp 711

* Fix static analyzer issue "An exception should be caught by reference"

V746 Object slicing. An exception should be caught by reference rather than by value. filedialog.cpp 183
V746 Object slicing. An exception should be caught by reference rather than by value. nppbigswitch.cpp 110
V746 Object slicing. An exception should be caught by reference rather than by value. pluginsmanager.cpp 259

* Fix static analyzer issue "The enumeration constant 'inactiveText' is used as a variable of a Boolean-type."

V768 The enumeration constant 'inactiveText' is used as a variable of a Boolean-type. wordstyledlg.cpp 438

* Fix static analyzer issue "A virtual function was overridden incorrectly"

V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'UserDefineDialog' and base class 'StaticDialog'. userdefinedialog.h 332
V762 It is possible a virtual function was overridden incorrectly. See first argument of function 'redraw' in derived class 'SplitterContainer' and base class 'Window'. splittercontainer.h 61
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'FindReplaceDlg' and base class 'StaticDialog'. findreplacedlg.h 245
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'GoToLineDlg' and base class 'StaticDialog'. gotolinedlg.h 45
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'FindCharsInRangeDlg' and base class 'StaticDialog'. findcharsinrange.h 52
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'ColumnEditorDlg' and base class 'StaticDialog'. columneditor.h 45
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'WordStyleDlg' and base class 'StaticDialog'. wordstyledlg.h 77
V762 It is possible a virtual function was overridden incorrectly. See first argument of function 'redraw' in derived class 'WordStyleDlg' and base class 'Window'. wordstyledlg.h 99
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'create' in derived class 'PluginsAdminDlg' and base class 'StaticDialog'. pluginsadmin.h 100

* Fix static analyzer message "The ternary operator always returns constant"

V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: 22. nppcommands.cpp 1696

* Fix compiling warning problem

* Add DSpellCheck plugin into distribution

* Added more C# keywords for auto-completion

Closes notepad-plus-plus#3899

* Update turkish.xml

Updated localization to latest changes.

Closes notepad-plus-plus#3890

* Update romanian.xml

Updated and corrected romanian to version 7.5

Closes notepad-plus-plus#3872

* Update Italian translation to version 7.5.1

Closes notepad-plus-plus#3778

* Update german.xml

Closes notepad-plus-plus#3715

* Update catalan.xml

Closes notepad-plus-plus#3762

* Update czech.xml translation to v7.5.1

Closes notepad-plus-plus#3701

* Update spanish.xml

Closes notepad-plus-plus#3814

* Fixed hang issue while opening JavaScript file

Fixes notepad-plus-plus#3770, closes notepad-plus-plus#3785

* Prevent from crash in TAB settings

* Remove unused/empty encoding from shortcut mapper

Closes notepad-plus-plus#3763

* Add version and other info into installer

Closes notepad-plus-plus#3751

* Add BaanC Sections in functionlist.xml

Based on
https://notepad-plus-plus.org/community/topic/14494/functionlist-classrange-question

Closes notepad-plus-plus#3842

* Upgrade wingup to fix the problem of connetion for updating

* Notepad++ 7.5.2 release

* Fix a crash issue in Plugin Admin

* Fix installer issues

1. Fix shell extension registration error (due to notepad++.exe has not
yet been copied)
2. Fix themes' absence after installation (one variable depends on
its initialization in mainSection)

* Fix DSpellCheck incomplete installation

* Notepad++ release 7.5.3

* Fix a crash bug due to eventual disordered notifications sent to plugins

The Access Violation while closing Notepad++:
notepad-plus-plus#3961
could be due to SCN_UPDATEUI sending after NPPN_SHUTDOWN, that makes
plugins treat SCN_UPDATEUI on the released handle.

To avoid such situation, once NPPN_SHUTDOWN has been sent, no more
message will be sent to plugin.

Fixes notepad-plus-plus#3961, fixes notepad-plus-plus#4021

* Fix 9f0ba44 typo

* Remove duplicate keywords for autocompletion

* Improve installer

* Fix broken indicies in EncodingMapper

Fixes notepad-plus-plus#3983
Fixes notepad-plus-plus#3991
Closes notepad-plus-plus#3992

* Hungarian translation update for 7.5.3

Closes notepad-plus-plus#3978

* Added keywords auto-completion for CoffeeScript

Closes notepad-plus-plus#3977

* Add Auto Completion for BaanC

Closes notepad-plus-plus#3927

* Fix spanish translation for "tail"

Command `tail` shouldn't be translated (there isn't a `cola` command)

Closes notepad-plus-plus#3920

* Fix typo in French translation

Closes notepad-plus-plus#3921

* Autompletion enhancement: remove unwanted symbols

Fixes notepad-plus-plus#3861
Closes notepad-plus-plus#3917

* Improve smart highlighting performance

Abort highlight search if the selection crosses a line boundry.

Closes notepad-plus-plus#3908

* Notepad++ release 7.5.4

* Fix highlighting of <script> tags in XML files

* Plugins Admin (in progress)

* Fix a typo

* Added .coffee extension to CoffeeScript

* Fix line ending changes are not detected in reloaded changed files issue

Fixes notepad-plus-plus#4033, closes notepad-plus-plus#4043

* Make UI Right To Left when Farsi & Uyghur are loaded

Closes notepad-plus-plus#4108

* Use reversed header image for RTL installer

Closes notepad-plus-plus#4107

* Code improvement

Closes notepad-plus-plus#4085

* Add commandline support for few more languages

Closes notepad-plus-plus#4084

* Update localization files (English & Hindi)

Fixes notepad-plus-plus#4040, closes notepad-plus-plus#4046

* Update japanese.xml to v7.5.4

* Replace '\r' by real carriage return
* Fix some translations for clear japanese

closes notepad-plus-plus#4043

* Fix menu items' state is not maintained due to save macro command

Fixes notepad-plus-plus#4112, fixes notepad-plus-plus#4114, closes notepad-plus-plus#4115

* Fix encoding not sync (on status bar) after reloading

Extracted parts of FileManager::reloadBuffer and FileManager::loadFile
to a separate function, so that both exhibit the same feature level of
EOL/encoding detection. reloadBuffer() used to have less logic than loadFile() and incorrectly handled UTF-8 detection when the file was ANSI

Fixes notepad-plus-plus#2637, fixes notepad-plus-plus#2843, closes notepad-plus-plus#4124

* Restore "Find Previous" & "Find Next" button in Find dialog

The pair of button "Find Previous" and "Find Next" have been removed in
the previous version due to some regressions. It's restored with being optional.

* Fix a crash by improving cutString() function

Remove an arbitrary MAX_PATH character limit

Fixes notepad-plus-plus#2727, closes notepad-plus-plus#4037

* Fix 2 different files whose canonic names are the same can't be opened
in the same time issue

Fix Unicode file name comparision to match Windows behaviour (as opposed to doing a linguistic filename comparision)

Fixes notepad-plus-plus#3820, closes notepad-plus-plus#4141

* Add forgotten translation entries

* Make more dialog strings translatable

* More translatable dialogs

* More translatable entries for Folder as Workspace

* Enhance Shortcut Mapper and make it translatable

* Shortcut Mapper is resizable and maximizable

* Add filter capacity in the shortcut mapper

Closes notepad-plus-plus#4096, closes notepad-plus-plus#2562

* Add more translations

Find dialog status bar messages are translatable.
Add more shortcut mapper translation entries.

* Add new language and update translations

* Simplify and fix memory leak in getSpecialFolderLocation

Fixes notepad-plus-plus#399, closes notepad-plus-plus#4138

* Warning/error fixes as per VS2017 code analysis

Closes notepad-plus-plus#4154

* Fix tab sticks to mouse pointer problem after external update of a file open in
Notepad++

Fixes notepad-plus-plus#4122, fixes notepad-plus-plus#3851, closes notepad-plus-plus#4182

* Update ukrainian.xml

Closes notepad-plus-plus#4198

* Update occitan.xml localisation to v.7.5.5

Closes notepad-plus-plus#4196

* Keep Doc Switcher's ordering in sync with Tab bar

Close notepad-plus-plus#946, close notepad-plus-plus#1684, close notepad-plus-plus#2342, close notepad-plus-plus#4015

* Enhance ShortcutMapper resizing

- keep centered buttons while resizing
- set minimum width and height

Close notepad-plus-plus#4178

* Update catalan.xml

Close notepad-plus-plus#4200

* Update czech.xml translation to v7.5.5

Close notepad-plus-plus#4199

* Update Turkish localization

Close notepad-plus-plus#4197

* Update german.xml to 7.5.5

Close notepad-plus-plus#4137

* Fix the wrong integer replacement (instead of string)

Fix also some minor grammatical errors

Close notepad-plus-plus#4203

* Update danish.xml to 7.5.5

Close notepad-plus-plus#4135

* Fixed the czech.xml v7.5.5

Fixed the wrong integer replacements (instead of string) according to the english.xml latest change.

Close notepad-plus-plus#4207

* Minor enhancements for Kurdish language

Make Kurdish be RTL
Command line support for Kurdish

Close notepad-plus-plus#4206

* Updated Hindi localization

1. Updated "Hindi.xml"
2. Corrected typos in English.xml (changed "NppIO.cpp" and "shortcut.rc" accordingly)
3. Synced "english_customizable.xml" with "English.xml"

Close notepad-plus-plus#4152

* Update Bulgarian translation

Close notepad-plus-plus#4143

* Make Unix style path (slashes) work in open file dialog (optional)

Close notepad-plus-plus#3948, fix notepad-plus-plus#2438, fix notepad-plus-plus#3840

* Change the label of one option to match Unix style path on open dialog

* Disable DSpellCheck by default due to some performance issues

* Make column names translatable in Window->Window...

Close notepad-plus-plus#4219

* Update translations

* Fix for "Monitoring" doesn't detect changes

Fix notepad-plus-plus#3142, close notepad-plus-plus#3882

* Add new keywords of javascript for auto-completion

Close notepad-plus-plus#4156

* update japanese.xml to v7.5.5

Close notepad-plus-plus#4139

* Update chineseSimplified.xml

Close notepad-plus-plus#4175

* Update german.xml to v7.5.5

Close notepad-plus-plus#4209

* Update romanian.xml for version 7.5.5

Close notepad-plus-plus#4210

* Update belarusian translation

Close notepad-plus-plus#4212

* Update Bulgarian translation

Close notepad-plus-plus#4218

* Fix for "Toggle Single Line Comment" malfunctioning with HTML/XML

Add space for a null character so last line character does not get cut off, and thus allow closing tag to be matched properly.

Fix notepad-plus-plus#3869, close notepad-plus-plus#3870

* Update chineseSimplified.xml

Close notepad-plus-plus#4223

* Change the EOL

* Fix a label display glitch in Preference

* Notepad++ release 7.5.5

* Fix EOLs

* Make new entries translatable

* Fix macro playing back crash issue

Fix crash issue while playing back macro if "find previous" and/or "find next"
button actions are/is recorded.

Also prevent from future crash if new commands in Find dialog are forgotten to be
treated.

* Remove the TODO to prevent from the useless modification

* Add ghost typing Unicode capacity

* Ghost typing enhancement

1. Make ghost typing Unicode supported so any language can be displayed.
2. Ghost typing's speed (slow, rapid and spped of light) can be set.
3. Any supported programming language (syntax highligting) can be applied.
4. All above supports are accessible via command line arguments.

* Add a message from outer space

* Update chineseSimplified.xml

* Update english.xml & chineseSimplified.xml

* Fix GDI objects leak problem

Fix notepad-plus-plus#1017, close notepad-plus-plus#3896

* Function List enhancement: Highlight the current function based on cursor position

Closes notepad-plus-plus#715, close notepad-plus-plus#4113

* Fix crash on styler dialog of User Defined Language dialog

Fixes notepad-plus-plus#2646, fixes notepad-plus-plus#4215, close notepad-plus-plus#4279

* Update german.xml to v7.5.5

Closes notepad-plus-plus#4256

* Update czech.xml for v7.5.5

Close notepad-plus-plus#4235

* Quotes clean up

* Change english.xml to match to GUI texts

Some texts of `english.xml` is not equivalent to GUI texts. This commit change `english.xml` to match GUI.

Close notepad-plus-plus#4297

* Add more funny quotes

* Update german localization

Close notepad-plus-plus#4310

* Hungarian translation update for 7.5.5

Close notepad-plus-plus#4308

* Update Ukrainian translation

Close notepad-plus-plus#4304

* Update Swedish localization

Close notepad-plus-plus#4296

* Update Dutch translation for 7.5.5

Close notepad-plus-plus#4292

* Update Corsican translation for Notepad++ 7.5.5

Close notepad-plus-plus#4290

* Update Turkish localization

Close notepad-plus-plus#4289

* Update Bulgarian localization

Close notepad-plus-plus#4260

* Update Hindi Localization

Close notepad-plus-plus#4244

* Fit access keys of the main manu to English behavior

Close notepad-plus-plus#4230

* Update french.xml

Close notepad-plus-plus#4263

* Update French localization

* Fix typos in translation entry string

* Fix file status detection issue under Windows XP (32-bit only)

Close notepad-plus-plus#4226

* Major improvements to C# intellisense

Close notepad-plus-plus#4142

* Notepad++ 7.5.6 release

* Rename label in functionlist output json

* Fix Javascript not working regression in Function list since 2016

due to 2 commits:
5d438aa
fb189fa

* Add unit tests for function list feature

go to notepad-plus-plus\PowerEditor\Test\FunctionList directory then
launch the following commands:
powershell ./unitTestLauncher.ps1

* Update Russian translation

* Update stylers.xml model

* Fix a typo in French translation

* Fixed UDL export extension issue

Fix notepad-plus-plus#4372, close notepad-plus-plus#4377

* Various fixes in french.xml

Close notepad-plus-plus#4319

* Updated Slovak language file for the latest Notepad++ version.

Close notepad-plus-plus#4341

* Fix typo to make translation work.

correct typo STRT_REPLACE -> STR_REPLACE

Fix notepad-plus-plus#4354, close notepad-plus-plus#4391

* Updated Hindi Translation

Close notepad-plus-plus#4376

* Update dutch.xml

Fix a few spelling mistakes, change mail address

Close notepad-plus-plus#4344

* Fixed a code in ReadDirectoryChangesPrivate.cpp

Close notepad-plus-plus#4257

* Update italian.xml to version 7.5.6

Various update on translation for italian
Close notepad-plus-plus#4355

* Make new file system of plugin works on installation directory

* Adapt new plugin file system structure for the future release.

* Update Indonesian.xml

Close notepad-plus-plus#4446

* Update Russian translation for 7.5.6

Close notepad-plus-plus#4441

* Small fix in german.xml

Close notepad-plus-plus#4316

* More improvements in C# intellisense

Close notepad-plus-plus#4419

* 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 notepad-plus-plus#4413, fix notepad-plus-plus#2025

* Remove unused method

* Remove Updater binaries

* Enhance Notepad++ installation packaging

Use GUP to retrieve GUP release from its website while doing Notepad++ release.

* Update turkish.xml

Close notepad-plus-plus#4478

* Fix toolbar display bug in big icon mode issue

Close notepad-plus-plus#4509

* Cleanup in context menu and Run entries

Close notepad-plus-plus#4519

* Installer enhancement: Place program shortcut in top-level Start folder

Fix notepad-plus-plus#2143, close notepad-plus-plus#4342

* Refactoring Plugin Admin codes

* Enhance installed list in Plugin Admin

* Restore the needed functions

* 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.

* Fix a bug where the document map highlights incorrectly when the view is scrolled past the end of the file.

Fix notepad-plus-plus#4579, close notepad-plus-plus#4580

* Fixed pointer truncations reported after removing /Wv:18

Close notepad-plus-plus#4544

* 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 notepad-plus-plus#4526, close notepad-plus-plus#4532

* Fix Open File Dialog error for a long path

Fix notepad-plus-plus#4345

* Clean up

* Update catalan.xml

Close notepad-plus-plus#4537

* Make carret line always visible on click from Finder panel

Close notepad-plus-plus#4518, fix notepad-plus-plus#4510

* Remove "from" which is not a reserved JavaScript keyword

Close notepad-plus-plus#4410

* 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 notepad-plus-plus#4146, close notepad-plus-plus#4150

* Migrate timestamps from time_t to FILETIME and store them in UTC universally

Fixes notepad-plus-plus#4491, notepad-plus-plus#3969, notepad-plus-plus#2535 and notepad-plus-plus#215.

* Deprecate wstat/stat in favour of WinAPI GetFileAttributesEx - unifies code and behaviour between Windows versions

Fixes notepad-plus-plus#4491, fixes notepad-plus-plus#3969, fixes notepad-plus-plus#2535, fixes notepad-plus-plus#215, close notepad-plus-plus#4541

* Use automatic variable with static size instead of dynamical allocation

* Use corret name for length variable

* Fix the compiling failure on x64 build

* 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 notepad-plus-plus#4604

* Fix hanging problem while shutingdown and backup file is absent

Fix notepad-plus-plus#4295, fix notepad-plus-plus#4276, close notepad-plus-plus#4611

* Notepad++ 7.5.7 release
iczelia pushed a commit to iczelia/notepad-plus-plus that referenced this pull request Jan 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants