New version of HTML Tag
-
Thank you very much for taking and continuing the “HTML Tag” project.
Congratulations! Great work.
Best regards.
-
Note Since v1.2, all 64-bit versions of HTML Tag require Notepad++ 8.3 or newer.
HTML Tag 1.2.1 is available for download.
This is primarily a maintenance release to address the risk of crashing N++ versions older than 8.3 — overlooked in the rush to get 1.2 out the door. It also clears the ground ahead of a planned transition to Free Pascal (most likely in time for the next minor release). More than 1,200 SLOC were removed; compiled binaries are ~20% smaller.
Users may notice that the JavaScript (de/en)coding functions have new key mappings, and new shortcuts were added for the less common HTML entity (de/en)coding functions. Decoding multi-line Unicode character sequences has also been improved.
-
Thank you for your work. I appreciate it.
-
-
Note Since v1.2, 64-bit versions of HTML Tag require Notepad++ 8.3 or newer.
Version 1.2.2 patches the first issue to appear on the new tracker.
It was noted that encoding entities would make them decompose if the system used a single-byte code page like Windows-1252:
I would’ve never noticed without the bug report since I activated the “beta” feature of system-wide Unicode on my PC. Users without this option can now expect (de/en)coding to be more faithful and non-destructive (*):
(*) With the ongoing exception of 4-byte glyphs like 🍪, of course ;)
-
-
I’ve built NPP 8.4 (not officially released yet), and on startup I get the following message:
Could you please have a look?
Thank you.
-
@yaron said in New version of HTML Tag:
I’ve built NPP 8.4 (not officially released yet), and on startup I get the following message
It means this condition tested false:
(HIWORD(NppVersion) > 8) or ((HIWORD(NppVersion) = 8) and // 8.3 -> 8,3 (*not* 8,30) ((LOWORD(NppVersion) = 3) or ((LOWORD(NppVersion) > 21) and not IsPatchRelease)))
Version 8.4 would be parsed as HIWORD -> 8, LOWORD -> 4, which fails at the
LOWORD(NppVersion) > 21
branch.
The above comment about 8.3 is my own, so I really should have seen this coming . . .Maybe @donho can pad the minor version so it works out to
40
instead? I don’t know how many plugins depend on the current system, but a more rational approach the version numbers would probably benefit everybody.Worst case, I’ll have to push a patched release.
Thanks for testing!
-
Thank you for the explanation.
so I really should have seen this coming
We’re merely humans. :)
My 8.4 version is the main build I’m using now, and I had to remove HTML Tag.
Even if your suggestion is accepted, it would probably take a while.Would you mind pushing a patched release?
I’d appreciate it. -
Obviously I can change the version in my build.
But anyway, the official 8.4 is supposed to be released soon. -
It’s pretty kludgy, but this will tide us over until we’re safely into a v9 series.
program CheckNppVersions; {$IFDEF FPC} {$mode objfpc}{H+} {$ENDiF} uses Windows, Classes, SysUtils; type NppVersion = record Major: Word; Minor: Word; end; const MinorVersions: array[0..20] of Word = (0, 1, 11, 12, 13, 14, 15, 16, 17, 18, 19, 191, 192, 193, 2, 21, 3, 31, 32, 33, 4); PatchReleases: Array[0..2] of Word = ( 191, 192, 193 ); var V : NppVersion; i, j: byte; IsCompat: Boolean; IsPatchRelease: Boolean; begin v.Major := 8; IsCompat := False; try WriteLn('Major'#9'Minor'#9'Compatible?'); WriteLn('-----'#9'-----'#9'------------'); for i := 0 to Length(MinorVersions) - 1 do begin v.Minor := MinorVersions[i]; IsPatchRelease := False; for j := 0 to Length(PatchReleases) - 1 do begin IsPatchRelease := (V.Minor = PatchReleases[j]); if IsPatchRelease then Break; end; IsCompat := (v.Major > 8) or ((v.Major = 8) and (((V.Minor >= 3) and (V.Minor <= 9)) or ((V.Minor > 21) and not IsPatchRelease))); WriteLn(Format('%5d'#9'%5d'#9'%12s', [V.Major, V.Minor, IsCompat.ToString(TUseBoolStrs.true)])); end; finally end; end.
> dcc.bat CheckNppVersions.pas Embarcadero Delphi for Win64 compiler version 33.0 Copyright (c) 1983,2018 Embarcadero Technologies, Inc. CheckNppVersions.pas(34) Hint: H2077 Value assigned to 'IsPatchRelease' never used 56 lines, 1.53 seconds, 1432880 bytes code, 195448 bytes data. > CheckNppVersions.exe Major Minor Compatible? ----- ----- ------------ 8 0 False 8 1 False 8 11 False 8 12 False 8 13 False 8 14 False 8 15 False 8 16 False 8 17 False 8 18 False 8 19 False 8 191 False 8 192 False 8 193 False 8 2 False 8 21 False 8 3 True 8 31 True 8 32 True 8 33 True 8 4 True
-
Great.
Thank you for your time and work. -
But anyway, the official 8.4 is supposed to be released soon.
I’m obviously not up to speed, but the current git still has “8.33”. Where can I open a PR showing how to bump the version without breaking the plugin (i.e., by adding a
0
to the end of theVERSION_VALUE
string) ?diff --git a/PowerEditor/src/resource.h b/PowerEditor/src/resource.h index a6a402c2..ed26d0f0 100644 --- a/PowerEditor/src/resource.h +++ b/PowerEditor/src/resource.h @@ -23,8 +23,8 @@ // should be X.Y : ie. if VERSION_DIGITALVALUE == 4, 7, 1, 0 , then X = 4, Y = 71 // ex : #define VERSION_VALUE TEXT("5.63\0") -#define VERSION_VALUE TEXT("8.33\0") -#define VERSION_DIGITALVALUE 8, 3, 3, 0 +#define VERSION_VALUE TEXT("8.40\0") +#define VERSION_DIGITALVALUE 8, 4, 0, 0 // Notepad++ version: end
-
@rdipardo said in New version of HTML Tag:
Where can I open a PR showing how to bump the version without breaking the plugin?
I’m not sure I understand your question.
Why not in https://github.com/notepad-plus-plus/notepad-plus-plus/pulls?Thanks again.
-
I’m not sure I understand your question.
It was more of a rhetorical outburst in the heat of the moment. I tried to make the case in a bug report instead.
The secret to my productivity? I’m still “Stand[ing] with Hong Kong” . . .
-
@yaron,
New release ready to try: bitbucket.org/rdipardo/htmltag/issues/2.
Let’s hope it makes it into v1.4.9 of Plugins Admin (and N++ 8.4_).חג פסח שמח!
-
Thank you very much. I appreciate it.
Should I reply “חג שמח גם לך”? :)
Anyway, thanks for that too. -
-
-
Please update the 'readme.textfile`. It does not include activating the plugin through the Plugins Admin menu. I figured that out but not everyone is guaranteed to know that step is required.
After copying the .dll to the plugins folder:
-
Open the the Plugins menu and then open ‘Plugins Admin…’
-
Searching for HTML if there’s a long list (as there is for me)
-
Check the checkbox to the left of the plugin name in the list.
-
Click the “Install” button in the upper left.
notepad++ will restart and your plugin will then be activated and ready to be used.
-
-
-
Notes
- Since v1.2, 64-bit versions of HTMLTag require Notepad++ 8.3 or newer.
- Notepad++ 8.4 is not compatible with HTMLTag 1.2.1 or 1.2.2
HTMLTag is now free (as in Free Pascal)
1.3 will be the first version linked against Free Pascal’s open source runtime libraries.
The transition from Delphi’s proprietary runtime took longer than expected; I don’t recommend doing the same with other Object Pascal plugins, especially if they depend on Delphi’s Visual Component Library. That HTMLTag had no GUI was a lucky exception. Potential contributors will find that a command line and GDB are all that’s needed to get started.
To mark the milestone, the About dialog has been refreshed with clickable URLs and dynamic text revealing the path to the HTML entities configuration file. A missing file will be indicated by a red error message; when found, clicking will open it (in notepad.exe, unless you’ve hacked the Registry to make N++ the system’s default text editor):
No more load failures in 64-bit Notepad++
As confirmed here, all 64-bit versions of HTMLTag will load without fail in N++ 8.4.1 and later.
-
I was not notified of your last post. Just happened to see it.
v1.3.0 crashes NPP on going to the opening tag and on error.
Could you please have a look?Thank you for you work.