Update translation texts for these commits:
* Add "Close to system tray" in MISC preference (035ef19)
* Improve GUI for commands for the system tray in Preferences (cd45afc)
Close#15693
Release 5.5.3 (https://www.scintilla.org/scintilla553.zip)
Released 19 October 2024.
On Win32 change direction of horizontal mouse wheel and touchpad scrolling to match other applications. Bug #2449.
Release 5.4.1 (https://www.scintilla.org/lexilla541.zip)
Released 19 October 2024.
Lexer added for Dart "dart". Pull request #265, Pull request #275.
Lexer added for troff / nroff "troff". Pull request #264.
Lexer added for Zig "zig". Pull request #267.
C++: Fix crash for empty documentation comment keyword where '<' occurs at line end.
F#: Include EOLs in the style range of SCE_FSHARP_COMMENTLINE. Stabilizes EOL detection when folding line comment groups. Issue #276.
F#: Fix per-line folding in F# documents. Issue #277.
HTML: Improve SGML/DTD lexing. Don't terminate SGML when > inside quoted string. Lex both [ and ] as SCE_H_SGML_DEFAULT. Nested sections handled instead of switching to SCE_H_SGML_ERROR. Issue #272.
JavaScript: New SCE_HJ_TEMPLATELITERAL and SCE_HJA_TEMPLATELITERAL styles for template literals when lexer is hypertext, or xml. Issue #280.
PHP: Fix failure to recognize PHP start "<?php' at end of document. Caused by not capping retrieval range at document end causing no text to be retrieved. Issue #269.
Smalltalk: Fix scaled decimal numbers without decimal separator. Pull request #274.
Fix#15228, fix#15368, fix#15650, close#15717
STR:
1. Open a network file.
2. Close Notepad++ to have it in the session.
3. Disconnect the network, and launch Notepad++ immediately.
4. Around more than 1 minute's delay, then the "Error" dialog displayed.
The reason for the hanging is that the network file was incorrectly detected by doesFileExist (GetFileAttributesEx) as present, leading Notepad++ to attempt opening a non-existent file with _wfopen. This issue seems to stem from a caching mechanism within the IO function (GetFileAttributesEx). When the network disconnects, the cache is not immediately cleared, causing GetFileAttributesEx to falsely report that the file exists. Consequently, when Notepad++ is launched after a network disconnection, GetFileAttributesEx retains its cache, indicating the file exists, while _wfopen fails to locate the network resource, resulting in a hang.
Unfortunately, there's no efficient solution for this problem. The commit's remedy is to check if the file is on the network and whether its directory still exists. If the directory doesn't exist, we avoid calling _wfopen. We verify the directory's existence instead of the file itself because the cache issue with GetFileAttributesEx occurs before _wfopen is executed. Checking the directory avoids the cache problem due to the identical argument being used.
I've tested this remedy in debug mode, and it works fine. However, the problem persists in release mode. Despite this, I believe it's worth keeping this solution, as it provides some protection in a variable network environment, potentially mitigating the issue when it arises.
Ref: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/15658#issuecomment-2386662974
Improve #4306, #6178, #8055, #11388, #12553, #15540, close#15701
This PR prevent hanging when user: Open a network file, modify it. Disconnect the network, then save the file.
It also prevents the zombie process due to blocked CreateFile left behind.
Remove the timeout thread for CreateFile to prevent the zombie process. Use another way for the detection:
If the result of network file existent detection is false, and the network problem found (timeout reached), we just stop and don't call CreateFile routine.
Ref: 1445487
Improve #4306, #6178, #8055, #11388, #12553, #15540