Skip to content

File status detection under Windows XP (32-bit only)#4226

Closed
d0vgan wants to merge 1 commit intonotepad-plus-plus:masterfrom
d0vgan:feature/file-status-winxp
Closed

File status detection under Windows XP (32-bit only)#4226
d0vgan wants to merge 1 commit intonotepad-plus-plus:masterfrom
d0vgan:feature/file-status-winxp

Conversation

@d0vgan
Copy link
Copy Markdown
Contributor

@d0vgan d0vgan commented Feb 26, 2018

File status detection under Windows XP: using winapi_wstat for 32-bit only.
P.S. I don't have any idea why git shows changes in the functions isCertificateValidated and isAssoCommandExisting - I did not touch them at all!

@dail8859
Copy link
Copy Markdown
Contributor

P.S. I don't have any idea why git shows changes in the functions isCertificateValidated and isAssoCommandExisting - I did not touch them at all!

It appears this is due to the file originally having mixed line endings. As you can see from the screenshot below, opening the original file (on the left) and the new file from this PR (on the right) Notepad++ shows different line endings.

mle

// So here is a WinAPI-based implementation of _wstat.
int nResult = -1;
DWORD dwAttr = ::GetFileAttributes(_FileName);
if (dwAttr != INVALID_FILE_ATTRIBUTES)
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.

Since you're checking for CreateFile return value, this check is redundant.

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.

The intention was: if GetFileAttributes returns INVALID_FILE_ATTRIBUTES, we don't even call CreateFile. These are two different functions, so checking results of both sounds logical, no?

Copy link
Copy Markdown
Contributor

@CookiePLMonster CookiePLMonster Feb 27, 2018

Choose a reason for hiding this comment

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

Sure, but you're not winning anything with this check. If the file/directory does not exist, CreateFile will fail anyway. Right now you are checking for file existence twice, and if GetFileAttributes returns valid data you still can't be sure that the file will still exist when CreateFile gets called (may very well be deleted between those two calls).

The logical approach would be to move GetFileAttributes inside the inner scope so it only gets executed if CreateFile succeeds.

_Stat->st_ctime = static_cast<decltype(_Stat->st_ctime)>(filetime_to_time_ull(&creationTime));
_Stat->st_mtime = static_cast<decltype(_Stat->st_mtime)>(filetime_to_time_ull(&writeTime));
_Stat->st_size = static_cast<decltype(_Stat->st_size)>(fileSize.QuadPart);
_Stat->st_mode = _S_IREAD | _S_IEXEC;
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.

Are directories executable?

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.

As https://www.gnu.org/software/libc/manual/html_node/Permission-Bits.html says:
S_IEXEC : Execute (for ordinary files) or search (for directories) permission bit for the owner of the file

@donho
Copy link
Copy Markdown
Member

donho commented Feb 28, 2018

@d0vgan Please rebase from master for solving the conflict.

@bahusoid
Copy link
Copy Markdown
Contributor

bahusoid commented Feb 28, 2018

Is it about this issue? It seems it's fixed in latest VS 2017 platform toolset. So maybe it's better just to upgrade to VS 2017? Also there is some workaround suggested for existing project:

First, unload the project by right clicking it and selecting "Unload Project". Then right click again and select "Edit myproject.vcxproj". The vcxproj is divided into property groups for each configuration. Everywhere that you have <PlatformToolset>v141_xp</PlatformToolset> (or any other XP toolset), you can add this tag in the same section: <TargetUniversalCRTVersion>10.0.10586.0</TargetUniversalCRTVersion>. You can use any SDK version in this section. This issue was fixed in 10.0.10586.0, but I recommend checking the SDK archive (https://developer.microsoft.com/en-us/windows/downloads/sdk-archive), downloading the latest SDK,

@d0vgan
Copy link
Copy Markdown
Contributor Author

d0vgan commented Feb 28, 2018

The solution with 10.0.10586.0 does not work with Visual Studio 2015 at all because 10.0.10586.0 is not available in it!
I believe it will work when Visual Studio 2017 or additional SDK is installed, but, unfortunately, not with the original Visual Studio 2015.

@d0vgan d0vgan force-pushed the feature/file-status-winxp branch from 98190f1 to d978f2c Compare February 28, 2018 10:20
@d0vgan
Copy link
Copy Markdown
Contributor Author

d0vgan commented Mar 9, 2018

Actually, why not make this behavior optional? I mean, basing on this change, introduce a new option e.g. "WinXP-compatible file status" in the Settings dialog. And this option will alter the behavior of the function generic_stat. What do you think?
(Though it will probably mean the generic_stat function will need an additional argument e.g. isWinXPCompatible.)

@AngryGamer
Copy link
Copy Markdown
Contributor

AngryGamer commented Mar 9, 2018

I don't see a reason to waste space in the Settings dialog. If the objective is to always use _wstat on non-XP 32bit, then might as well do something like:

#include <VersionHelpers.h>

int winapi_wstat(wchar_t const* _FileName, struct _stat* _Stat)
{
	if (IsWindowsVistaOrGreater())
		return _wstat(_FileName, _Stat);
	
	// rest of code
}

@donho
Copy link
Copy Markdown
Member

donho commented Mar 11, 2018

@d0vgan
Hi Vitaliy, Hope you are fine :)
Just wanna make the situation more clear:
_wstat (of VS2015) has bugs only under windows XP 32 bits, but not under others platforms, is it correct?

If it's correct, in your PR, you're using your implementation winapi_wstat instead of Microsoft's implementation _wstat32 or _wstat64i32 for all 32 bits platforms. That is overkilled IMO and might insert the unstable issue into Notepad++ for all the 32 bits platforms.

@d0vgan d0vgan force-pushed the feature/file-status-winxp branch from de8a480 to d5bb270 Compare March 11, 2018 16:47
@d0vgan
Copy link
Copy Markdown
Contributor Author

d0vgan commented Mar 11, 2018

OK, I've rebased the changes, plus now they are only for Windows XP (and 2000/2003 if someone succeds to compile Notepad++ under it.).

@AngryGamer
Copy link
Copy Markdown
Contributor

AngryGamer commented Mar 12, 2018

GetVersionEx is depreciated https://msdn.microsoft.com/en-us/library/windows/desktop/ms724451(v=vs.85).aspx

I don't think the current code poses a problem (since it's not checking for specific versions of W8 or W10), but I wonder if we should be using the newer API functions when available.

There's also an existing more accurate implementation of version checking (which also uses GetVersionEx) in the form of NppParameters::getWindowsVersion, which means a little code duplication, since you can also do this:

#include <Parameters.h>

int winapi_wstat(wchar_t const* _FileName, struct _stat* _Stat)
{
	if ((NppParameters::getInstance())->getWinVersion() != WV_XP)
		return _wstat(_FileName, _Stat);
	
	// rest of code
}

@CookiePLMonster
Copy link
Copy Markdown
Contributor

GetVersionEx being deprecated isn't really an issue - changes of it dissapearing are close to none, and it's a perfectly legimate way of detecting systems as old as Windows XP (could only cause issues if you try to detect 8.1 or 10, but I believe notepad++ is already manifested for Windows 10 so even that is fine).

@d0vgan
Copy link
Copy Markdown
Contributor Author

d0vgan commented Mar 13, 2018

Updated according to the review comments: now using NppParameters::getInstance()->getWinVersion().

@d0vgan d0vgan force-pushed the feature/file-status-winxp branch from a4d38e8 to b4ff904 Compare March 17, 2018 22:09
@d0vgan
Copy link
Copy Markdown
Contributor Author

d0vgan commented Mar 17, 2018

Rebased against the master after handling the comments. Ready to merge, I suppose.

@donho donho self-assigned this Mar 17, 2018
@donho donho added accepted and removed suspended labels Mar 17, 2018
@donho donho added this to the 7.x (master) milestone Mar 17, 2018
@donho donho closed this in 58fa70b Mar 17, 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.

6 participants