Currently, there is a bug in notepad++'s add extension feature only for Korean input after it was changed to hooking-based in the commit below.
b5a5baf#diff-eeb5624a35a43795da4eb970149a9ce7d22858b678a242affd2357520ea3e9f2R607
Bug
Attempting to save via Enter appends the last character to the extension.
Candidate mode is similar, with more varied issues depending on IME.
Cause
the hooking function is executed before the Hangul composition is completed and the last character is added after the extension.
Same for Candidate mode.
Workaround
It is almost impossible to fix issue 2 while maintaining the current Enter hooking
Exiting Candidate Mode can be done by pressing Enter, ESC, number key, or clicking on a candidate character, but there is too much code to cover all of these cases.
In addition, the Windows input framework is fragmented into IMM and TSF, and various IMEs have different implementations, so it is almost impossible to determine the state of Candidate or Hangul composition through IME hooking.
I have seen differences in the events fired by different Windows versions and different IME programs for the same IME behavior.
This PR solves problem 1 and partially solves problem 2 by not saving with Enter when in Hangul mode.
Fix#11582, fix#12225, fix#12366, close#13788
Use reference instead of copy for the sorting result.
Also improve lines sorting performance slightly: Sorting a 200 MB text file takes 13.71 seconds instead of 14.63 seconds.
Fix#10435, close#13852
Enables the folding capabilities of Lexilla's Assembly lexer by:
- adding the currently [unused keyword groups], `Directives4Foldstart` and `Directives4Foldend`;
b5e2e9d737/lexilla/lexers/LexAsm.cxx (L101-L109)
- adding some fold-trigger keywords to the new `Directives4Foldstart` and `Directives4Foldend` groups, and *duplicating* them in the existing `Directives` group, following [these instructions].
- activating a *selection* of the lexer's [optional folding properties]. Since `fold.asm.comment.explicit` is not likely to be popular, the default delimiters `;{` and `;}` are permanent, and `fold.asm.explicit.anywhere` is *not* turned on. Users who want different options can always use [Python Script] to set them dynamically.
There are plenty of *more* candidate keywords than what I've added, but I'm not very familiar with [Microsoft's macro assembler].
Fix#13758, fix#9888, close#13762
Update translations for these commits:
* GUI Enhancement: User Define dlgs (052626c)
* Make all the localization files pretty printed (3c15ff5)
* GUI Enhancement: Plugins Admin dialog (4e0f504)
* GUI enhancement: Find in Finder dialog (af8b339)
* GUI Enhancement: General & Editing sections in Preferences dialog (a1d7db8)
* GUI Enhancement: About, Debug, Save dialogs (1806b89)
* Add "open new blank document in addition on startup" ability (61503a2)
Close#13697
To test fix, try making file
```
f
f
```
and recording macro of find/replace form searching for f, then running until EOF.
This does not break any existing behavior, including:
- macros where the cursor moves towards EOF but line num doesn't change (those already stopped after one iteration)
- macros where line(s) are deleted with every iteration (even if line number doesn't change, they run until file empty)
- macros where the line number increases with each iteration
- macros where the cursor advances up or down with each iteration but would eventually stop anyway (those end at the correct time)
Fix#13342, close#13587
To enable/disable this feature, go to New Document section of Preferences dialog, and check/uncheck "Always open a new document in addition at startup" checkbox.
Fix#11134, fix#9535, fix#5527, close#13738
When session.xml is written while Notepad++ exit, it'll be load for checking if it's an valid xml file.
If not, then it will be replaced by the old session file (if any).
This commit renames session.xml to session.xml.fail2Load so in case of the situation user can provide session.xml.fail2Load to devs for analyzing.
Ref #13694Close#13741
update to Scinitlla Release 5.3.5 (https://www.scintilla.org/scintilla535.zip)
Released 31 May 2023.
On Win32, implement IME context sensitivity with IMR_DOCUMENTFEED. Feature #1310.
On Win32 remove dependence on MSIMG32.DLL by replacing AlphaBlend by GdiAlphaBlend. Bug #1923.
On Qt, stop movement of IME candidate box.
On Qt, report correct caret position within paragraph for IME retrieve surrounding text.
On Qt for Cocoa, fix crash in entry of multi-character strings with IME.
and Lexilla Release 5.2.5 (https://www.scintilla.org/lexilla525.zip)
Released 31 May 2023.
Add CharacterSetArray constructor without setBase initial argument for common case where this is setNone and the initialSet argument completely defines the characters. This shortens and clarifies use of CharacterSetArray.
Bash: implement highlighting inside quoted elements and here-docs. Controlled with properties lexer.bash.styling.inside.string, lexer.bash.styling.inside.backticks, lexer.bash.styling.inside.parameter, and lexer.bash.styling.inside.heredoc. Issue #154, Issue #153, Feature #1033.
Bash: add property lexer.bash.command.substitution to choose how to style command substitutions. 0 → SCE_SH_BACKTICKS; 1 → surrounding "$(" and ")" as operators and contents styled as bash code; 2 → use distinct styles (base style + 64) for contents. Choice (2) is a provisional feature and details may change before it is finalized. Issue #153.
Bash: fix nesting of parameters (SCE_SH_PARAM) like ${var/$sub/"${rep}}"}. Issue #154.
Bash: fix single character special parameters like $? by limiting style. Issue #154.
Bash: treat "$$" as special parameter and end scalars before "$". Issue #154.
Bash: treat "<<" in arithmetic contexts as left bitwise shift operator instead of here-doc. Issue #137.
Batch: style SCE_BAT_AFTER_LABEL used for rest of line after label which is not executed. Issue #148.
F#: Lex interpolated verbatim strings as verbatim. Issue #156.
VB: allow multiline strings when lexer.vb.strings.multiline set. Issue #151.
Close#13729
With searching in Google and trying to run several official unmodified verions of Notepad++ in virtual machines. Notepad++ come with several plugins enabled, which may stop working before Notepad++ version. Please attention that, the installed version of Internet Explorer may affect other software, which I did not test. The following is what I get.
For Windows 95, refer to these links:
http://www.win3x.org/win3board/viewtopic.php?t=17221https://notepad-plus-plus.narkive.com/6lktixGR/notepad-plus-help-notepad-v4-0-does-not-work-on-win95
I've confirmed that Notepad++ 3.9 runs on Windows 95 RTM/OSR 2.5, and Notepad++ 4.0.1 doesn't (4.0 not found, but I think there's only minor changes). So Notepad++ 3.9 is the latest version for Windows 95.
For Windows NT 4.0, nothing found when searching.
I've confirmed that Notepad++ 4.6 runs on Windows NT 4.0 SP6, and Notepad++ 4.7.1/4.7.2/4.7.3 runs with error of plugin, and Notepad++ 4.7.5 doesn't work. So Notpad++ 4.7.3 is the latest for Windows NT 4 with plugins disabled.
For Windows 98/ME, refer to these links:
http://web.archive.org/web/20110709191226/http://notepad-plus-plus.org/news/notepad-5.9.1-release-is-available.htmlhttps://msfn.org/board/topic/105936-last-versions-of-software-for-windows-98se/page/68/#comment-1176861
I've confirmed that Notepad++ 5.9.6.2 (ANSI) runs Windows 98 SE/ME, and Notepad++ 5.9.8/6.0 (ANSI) runs with error of plugin, and Notepad++ 6.1 doesn't work because no ANSI version available. So Notepad++ 6.0 (ANSI) is the latest for Windows 98/ME with plugins disabled.
For Windows 2000, I've confirmed that Notepad++ 6.5 runs on Windows 2000 SP4, and Notepad++ 6.6 with default plugins runs with error, and Notepad++ 6.7 doesn't work. So Notepad++ 6.6.9 is the latest for Windows 2000 with plugins disabled.
Close#13725