This fixes a regression caused by PR #15236 (Fix for the "lost" panels problem).
As the Virtual Screen in the extended multi-monitor mode can start not a the point 0,0 (as the primary monitor does) but also at some negative coordinates, we have to deal with it.
The MS Virtual Screen concept ref:
https://learn.microsoft.com/en-us/windows/win32/gdi/the-virtual-screenFix#15498 , fix#16077, close#16079
When application is first loaded, it scans through the VK mappings on the active keyboard, and for the keyboard-specific keys (focused on the VK_OEM_# and similar keys), it will read what Windows says is the actual character associated with that virtual key code, and will populate a mapping for display purposes; when Notepad++ is showing the shortcut keys in menus or in the Shortcut Mapper, it will display the keyboard-specific character rather than the default en-US character.
(Debugged locally using Windows' `osk.exe` virtual keyboard app, and users with alternate physical keyboards have verified it for me as well, including the original requester.)
Fix#15966, Fix#14395, close#16072
Release 5.5.4 (https://www.scintilla.org/scintilla554.zip)
Released 18 December 2024.
Update to Unicode 15.1. Issue #285.
Improve performance of SCI_BRACEMATCH. Feature #1533.
Improve performance of DBCS text. Feature #1535.
Fix wrapping removed lines. Bug #2456.
Fix moving line down to empty final line and moving empty final line up. Bug #2457.
On GTK, allow middle click to insert multiple times within a document. Geany Issue #2629.
Release 5.4.2 (https://www.scintilla.org/lexilla542.zip)
Released 18 December 2024.
Update to Unicode 15.1. Issue #285.
Lexer added for Nix "nix". Pull request #282.
JavaScript: Use correct SCE_HJA_TEMPLATELITERAL style for server-side template literals in HTML instead of client-side style. Issue #286.
JavaScript: Use correct SCE_HJ_SYMBOLS style for '.' after regex instead of SCE_HJ_WORD. Prevent empty word assertion when non-word character after regex flag. Issue #289.
PHP: Fix unstable lexing with substyled keyword and unterminated string. Issue #288.
Rust: Add C string and raw C string literal styles SCE_RUST_CSTRING and SCE_RUST_CSTRINGR. Pull request #292, Issue #268.
TOML: Don't treat keys without values as errors. Pull request #283.
Zig: Add SCE_ZIG_IDENTIFIER_STRING for identifiers expressed as strings. Pull request #287.
Fix#15817, fix#10528, fix#15801, close#15982
Updates for v8.7.3:
• Updated header and versioning to be more trackable/understandable
• Added translation of missing (un)pin operations
• More consistent translation of tab operations
Close#15910
- increased DEFAULT_MILLISEC constant from 1000 to 3000 (some slower networks obviously cannot respond within the previous 1sec response timeout).
- the problematic situation was apparently made worse by the fact that the Buffer::checkFileState() did not issue one GetFileAttributesEx call but also an unnecessary second one (this was probably caused by an incorrect transcription of the previous version of this func for the new non-blocking thread method of calling the GetFileAttributesEx).
- other problem was that the checking func did not check at all whether the threaded call to the GetFileAttributesEx succeeded or had to be forcibly terminated from the main app thread and expected successful calling only.
- the nppLogNetworkDriveIssue logging has been enhanced.
- added option to check possible WIN32API error code of the threaded GetFileAttributesEx call from the main N++ thread.
Fix#15819, close#15936
When Notepad++ portable version changes its path (move/rename), the periode backup files (unsaved documents) are lost on the next session, due to the absolute paths in session files. This commit fixes the issue by ensuring the backup path matches with such documents.
Fix#1587, fix#15886, close#15942