Commit Graph

5338 Commits

Author SHA1 Message Date
80rokwoc4j 6330a688b1 Fix Korean IME append extension issue
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
2023-07-07 20:01:18 +02:00
ozone10 a647991cd7 Fix some GCC and MSC warnings
-  optimize dark mode
-  add initializers

Fix #13867, close #13868
2023-07-07 19:51:39 +02:00
Christian Grasser d6bdc5d3f8 Fix cmake build
- update CMakeLists.txt to contain latest changes sha1 and sha512.cpp
- fixed uppercase issue on cross platform build with mingw on linux

Close #13865
2023-07-06 13:43:11 +02:00
BuzzTheGamer23 0786dc0adc Fix compiling on Scoop mingw-winlibs g++ 13
Fix #13821, close #13822
2023-07-05 13:53:32 +02:00
Don Ho 83d203561d Fix Change History wrong display after "Reload from Disk" command
The code for fixing is from Change Lines plugin:
https://github.com/vinsworldcom/nppChangedLines/blob/main/PluginDefinition.cpp

Fix #12319, fix #12261, fix #13735, close #13858
2023-07-04 03:12:01 +02:00
Don Ho 9e24ec55db Improve lines sorting memory consumption
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
2023-07-02 03:32:55 +02:00
Don Ho 02dd1d36fc Add blank document only when the sessin is remembered
Fix #13796
2023-07-01 03:26:55 +02:00
Don Ho d6b5f53a0e Fix Clipboard History panel shows corrupted data issue
Fix #13817, fix #13844, close #13833
2023-06-30 16:42:43 +02:00
Don Ho 1943ce87b5 [xml] Update slovenian.xml 2023-06-23 01:40:34 +02:00
Don Ho 6131195da7 Fix "Generate from selection into clipboard" crash regression
Fix #13818
2023-06-21 19:35:23 +02:00
Don Ho b14810d087 Update localization files 2023-06-21 18:23:49 +02:00
yasmise d7aee6828d [xml] Add missing entries in english.xml for SHA-1/SHA-512
Fix #13815, close #13816
2023-06-21 18:20:33 +02:00
Don Ho 4ffd897ccf Add SHA-512 hash features
Fix also SHA-1 hash result wrong length bug while "Treat each line as a separate string" enabled.

Fix #13805, fix #13812, fix #13811, close #13806
2023-06-20 23:19:19 +02:00
Don Ho 32ce6b5b4c Code Enhancement: make notepadPlus.vcxproj less messed
Fix #13798
2023-06-19 19:29:13 +02:00
Don Ho 5b5238610e Fix menu Tools contains 2 SHA-256 item while using localization
Fix #13797
2023-06-19 18:29:13 +02:00
Don Ho 85ba11bf7e Notepad++ 8.5.4 release 2023-06-18 14:21:27 +02:00
Don HO 19c6895f83 Fix gcc compiling failure
Close #13793
2023-06-17 20:15:45 +02:00
Don Ho b883759c83 Add SHA-1 hash feature
Fix #13791, close #13792
2023-06-17 13:25:07 +02:00
Don Ho 51bddf57ad Use multiple-files Save dialog in Document list
Fix #13768, fix #13178, close #13776
2023-06-17 13:24:13 +02:00
xomx bdd13c0839 [xml] Update czech.xml to v8.5.4
Close #13772
2023-06-17 13:24:13 +02:00
Karlo-F fcb9f56df8 [xml] Update croatian.xml to v8.5.4
Close #13773
2023-06-17 13:24:13 +02:00
ozone10 af1ab5d294 Support up down control generic dark mode for plugins
Fix #13766, close #13767
2023-06-17 13:24:13 +02:00
Don Ho d2fdfd7b73 Fix defective detection for file read-only attribute removal via Explorer
The regression has been made by 5e2f5d79aa

Fix #13742
2023-06-17 13:24:13 +02:00
Don Ho 7077e304aa Add CSHA1 2023-06-17 03:46:44 +02:00
Don Ho 3b823f358e Add SHA1 hash generator 2023-06-13 19:35:06 +02:00
xomx b0e849fe65 Fix ignored writeStr return value in TiXmlDocument::SaveFile
Previously the TiXmlDocument::SaveFile could return true even when the underlying writeStr func failed.

Close #13774
2023-06-12 16:06:34 +02:00
ozone10 28594daef3 Progress window: Prefer SystemParametersInfo fonts over DEFAULT_GUI_FONT
Fix #13764
2023-06-11 14:05:34 +02:00
ozone10 da8e48f67a Fix EOL symbol color/appearence being reset while changing encoding issue
Fix #13728, close #13763
2023-06-11 13:41:23 +02:00
Robert Di Pardo fadc083051 Enable code folding in Assembly source files
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
2023-06-11 12:12:14 +02:00
kubalav 2aa6b0cff5 [xml] Update Slovak translation
Close #13671
2023-06-11 01:49:12 +02:00
schnurlos 15d5c1e9c6 [xml] Update german.xml
Close #13672
2023-06-11 01:46:44 +02:00
Marcellomco 9bbcfd1354 [xml] Update brazilian_portuguese.xml
Mirror changes from "GUI Enhancement: Column Editor" to Brazilian Portuguese language.

Close #13679
2023-06-11 01:30:14 +02:00
Patriccollu ec23e4216f [xml] Update Corsican translation for Notepad++ 8.5.4
Close #13680
2023-06-11 01:28:07 +02:00
Blackspirits 8e0b326b77 [xml] Update portuguese.xml
Close #13689
2023-06-11 01:26:15 +02:00
yasmise 063a31a87c [xml] Update japanese.xml
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
2023-06-11 01:22:32 +02:00
rddim 5694b3c407 [xml] Update Bulgarian localization
Close #13707
2023-06-11 01:20:57 +02:00
Matteo Concato 1ae5745118 [xml] Update italian.xml 8.5.4
Close #13710
2023-06-11 01:19:12 +02:00
Tmp341 38d19095be [xml] Update Turkish localization
Close #13727
2023-06-11 01:17:54 +02:00
Sapziller f1ed6e6f4f [xml] update korean translate (8.5.3)
Close #13732
2023-06-11 01:15:21 +02:00
~GOLEM~ 647dd703a5 [xml] Update russian.xml v8.5.4
Close #13751
2023-06-11 01:09:02 +02:00
artpoli b335454733 [xml] Update Ukrainian translation
Close #13759
2023-06-11 01:02:47 +02:00
Don Ho e61b20a7fe Small refactoring 2023-06-11 00:59:15 +02:00
Don Ho b5e2e9d737 Fix macro recording regression on Unicode character
Fix #13757
2023-06-10 17:47:34 +02:00
molsonkiko 96ff66b225 Fix infinite loop in running macro to EOF
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
2023-06-08 22:20:29 +02:00
Don Ho 61503a2dcd Add "open new blank document in addition on startup" ability
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
2023-06-08 19:16:56 +02:00
Don Ho ccf80a0699 Add session.xml.fail2Load for analyzing
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 #13694

Close #13741
2023-06-06 13:40:17 +02:00
Don Ho dba15cfaf3 Fix document language not remembered through sessions issue
Fix document language not remembered through sessions due to languange being hidden from languages menu.

Fix #13743, close #13744
2023-06-06 02:07:19 +02:00
Christian Grasser b39ca37c3a Update: Scintilla 5.3.5 Lexilla 5.2.5
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
2023-06-02 14:15:54 +02:00
Don HO 043bd4f385
Make SUPPORTED_SYSTEM.md briefer 2023-06-01 15:25:09 +02:00
Lautis Sun b93e3f4b21 Add latest support version information for Windows 95/98/ME/NT4
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=17221

https://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.html

https://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
2023-06-01 14:53:47 +02:00