Skip to content

Commit 4acb8c8

Browse files
committed
Merge tag 'version-4.21.0' into develop
CodeSnip release v4.21.0
2 parents b834851 + 02656b8 commit 4acb8c8

10 files changed

+51
-18
lines changed

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,26 @@ This change log begins with the first ever pre-release version of _CodeSnip_. Re
1010
1111
From v4.1.0 the version numbering has attempted to adhere to the principles of [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1212

13+
## Release v4.21.0 of 16 December 2022
14+
15+
* Updated to support [REML version 5](https://htmlpreview.github.io/?https://github.com/delphidabbler/codesnip/blob/version-4.21.0`/Docs/Design/reml.html) in snippet description & extra information [issue #71]:
16+
* Numerous new character entities supported.
17+
* New list tags: `<ol>`, `<ul>` & `<li>`.
18+
* Program now automatically detects new (supported) Delphi installations at startup and offers to register the compiler(s) to be used for test compiling snippets. This feature is on by default but can be turned off completely or for specifically excluded compilers [issue #19].
19+
* Modified Configure Compilers dialogue box:
20+
* Added facility to customise automatic compiler detection on per-compiler or global basis.
21+
* Changed manually triggered compiler detection to ignore excluded compilers.
22+
* Some refactoring [including issues #73 and #75].
23+
* Minor changes to program license
24+
* Changed required image attribution in `Docs/License.html` [issue #63]
25+
* Corrected copyright date & fix typo in licenses displayed by installer and help file [issue #65 & PR #72].
26+
* Bump per-user config file to version 19.
27+
* Documentation updates:
28+
* Updated `README.md` re abandoned and new Git repo branches.
29+
* Updated config file, database, export file & REML documentation re changes in this release [including issue #74].
30+
* Help file updated with details of changes in this release.
31+
* Updated development tool chain requirements in `Build.html`.
32+
1333
## Release v4.20.2 of 04 November 2022
1434

1535
* Fixes bug where an exception was raised when selecting a main menu item with the cursor keys then pressing F1. [issue 54]

Docs/Design/FileFormats/config.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ <h3>
167167
</p>
168168

169169
<p>
170-
There have been several versions of this file. The current one is version 18 &laquo;&laquo;TODO&raquo;&raquo;. The change to version 18 came with CodeSnip v4.20.0&laquo;&laquo;TODO&raquo;&raquo; and the addition of the [Prefs] section.
170+
There have been several versions of this file. The current one is version 19. The change to version 19 came with CodeSnip v4.21.0 and the addition of the [Compilers] section and the <code class="key">CanAutoInstall</code> key in the [Cmp:XXX] sections.
171171
</p>
172172

173173
<p>
@@ -762,7 +762,7 @@ <h4>
762762
The version number of the config file. Incremented whenever the file format changes. If this section or this value is missing then the default value is <code class="value">1</code>.
763763
</div>
764764
<div class="half-spaced">
765-
The current value is <code class="value">16</code>.
765+
The current value is <code class="value">19</code>.
766766
</div>
767767
</dd>
768768
<dt>

Docs/Design/FileFormats/export.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ <h2>
175175
<em>version</em>
176176
</dt>
177177
<dd>
178-
Identifies version of file. Determines which tags are valid and
178+
Identifies major version of file. Determines which tags are valid and
179179
establishes rules concerning content. Valid versions are 1 to 7.
180180
</dd>
181181
</dl>
@@ -979,10 +979,10 @@ <h2>
979979
Updated with CodeSnip v4.18.0 to add support for Delphi 11.x Alexandria.
980980
</dd>
981981
<dt>
982-
<em>Version 7.3 - &laquo;&laquo;TODO&raquo;&raquo;</em>
982+
<em>Version 7.3 - 16 December 2022</em>
983983
</dt>
984984
<dd>
985-
Updated with CodeSnip v&laquo;&laquo;TODO&raquo;&raquo; to add support for REML v5, which is backward compatible with REML v4.
985+
Updated with CodeSnip v4.21.0 to add support for REML v5, which is backward compatible with REML v4.
986986
</dd>
987987
</dl>
988988
</dd>

Docs/Design/FileFormats/user-db.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ <h3 id="xml-file">
199199
<em>version</em>
200200
</dt>
201201
<dd>
202-
Identifies version of file. Determines which tags are valid and rules
202+
Identifies major version of file. Determines which tags are valid and rules
203203
concerning content. Valid versions are 1..6.
204204
</dd>
205205
</dl>
@@ -1015,10 +1015,10 @@ <h2>
10151015
Updated with CodeSnip v4.18.0 to add support for Delphi 11.x Alexandria.
10161016
</dd>
10171017
<dt>
1018-
<em>Version 6.11 - &laquo;&laquo;TODO&raquo;&raquo;</em>
1018+
<em>Version 6.11 - 16 December 2022</em>
10191019
</dt>
10201020
<dd>
1021-
Updated with CodeSnip v&laquo;&laquo;TODO&raquo;&raquo; to add support for REML v5, which is backwards compatible with REML v4.
1021+
Updated with CodeSnip v4.21.0 to add support for REML v5, which is backwards compatible with REML v4.
10221022
</dd>
10231023
</dl>
10241024
</dd>

Docs/Design/reml.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -625,11 +625,11 @@ <h1>Change Log</h1>
625625
</ul>
626626

627627
<p>
628-
<strong>v5 of &laquo;&laquo;TODO&raquo;&raquo;</strong>
628+
<strong>v5 of 2022-12-16</strong>
629629
</p>
630630

631631
<p>
632-
Introduced in CodeSnip &laquo;&laquo;TODO&raquo;&raquo;
632+
Introduced in CodeSnip v4.21.0
633633
</p>
634634

635635
<ul>

Src/FirstRun.UConfigFile.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ TUserConfigFileUpdater = class(TConfigFileUpdater)
8282
strict private
8383
const
8484
/// <summary>Current user config file version.</summary>
85-
FileVersion = 18;
85+
FileVersion = 19;
8686
strict protected
8787
/// <summary>Returns current user config file version.</summary>
8888
class function GetFileVersion: Integer; override;

Src/FmMain.pas

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1219,7 +1219,8 @@ procedure TMainForm.AfterShowForm;
12191219
fMainDisplayMgr.Initialise(fWindowSettings.OverviewTab);
12201220
fMainDisplayMgr.ShowWelcomePage;
12211221
// check for registerable Delphi compiler installations
1222-
fCompileMgr.CheckForNewCompilerInstalls;
1222+
if fCompileMgr.CheckForNewCompilerInstalls then
1223+
fMainDisplayMgr.Refresh;
12231224
end;
12241225

12251226
function TMainForm.appEventsHelp(Command: Word; Data: Integer;

Src/UCompileMgr.pas

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,14 @@ TMainCompileMgr = class(TCompileMgr)
116116
/// <summary>Check for new compiler installations, get user permission to
117117
/// install any that are found and register any compilers that user
118118
/// selects.</summary>
119+
/// <returns>Boolean. True if any compilers were registered, False if not.
120+
/// </returns>
119121
/// <remarks>
120122
/// <para>Does nothing if compiler detection is disabled or if there are
121123
/// no installed but unregistered compilers.</para>
122124
/// <para>Should be called at program startup.</para>
123125
/// </remarks>
124-
procedure CheckForNewCompilerInstalls;
126+
function CheckForNewCompilerInstalls: Boolean;
125127
end;
126128

127129

@@ -264,7 +266,7 @@ function TMainCompileMgr.CanCompile(View: IView): Boolean;
264266
and SnippetView.Snippet.CanCompile;
265267
end;
266268

267-
procedure TMainCompileMgr.CheckForNewCompilerInstalls;
269+
function TMainCompileMgr.CheckForNewCompilerInstalls: Boolean;
268270
var
269271
CandidateCompilers: TCompilerList; // compilers available for registration
270272
SelectedCompilers: TCompilerList; // compilers chosen for registration
@@ -290,7 +292,7 @@ procedure TMainCompileMgr.CheckForNewCompilerInstalls;
290292
if (SelectedCompilers.IndexOf(Compiler) >= 0)
291293
and Compiler.IsAvailable then
292294
begin
293-
CompList := CompList + '• ' + Compiler.GetName + EOL;
295+
CompList := CompList + #$2022' ' + Compiler.GetName + EOL;
294296
Inc(RegCount);
295297
end;
296298
end;
@@ -313,6 +315,7 @@ procedure TMainCompileMgr.CheckForNewCompilerInstalls;
313315
end;
314316

315317
begin
318+
Result := False;
316319
if not TCompilerSettings.PermitStartupDetection then
317320
Exit;
318321
SelectedCompilers := nil;
@@ -345,6 +348,7 @@ procedure TMainCompileMgr.CheckForNewCompilerInstalls;
345348
Persister.Save(Compilers);
346349
// tell user what got registered
347350
NotifyResults;
351+
Result := True;
348352
end
349353
else
350354
// User didn't select a file: tell them
@@ -381,4 +385,3 @@ function TMainCompileMgr.IsLastCompiledView(View: IView): Boolean;
381385
end;
382386

383387
end.
384-

Src/UREMLDataIO.pas

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,7 @@ function TREMLWriter.RenderTag(
598598
begin
599599
Dec(fLevel);
600600
Result := EOL + StrOfSpaces(IndentMult * fLevel) + Result + EOL;
601+
fIsStartOfTextLine := True;
601602
end;
602603
end;
603604
fsOpen:
@@ -620,6 +621,14 @@ function TREMLWriter.RenderTag(
620621
Result := EOL + StrOfSpaces(IndentMult * fLevel) + Result + EOL;
621622
Inc(fLevel);
622623
fIsStartOfTextLine := True;
624+
end
625+
else if TActiveTextElemCaps.DisplayStyleOf(TagElem.Kind) = dsInline then
626+
begin
627+
if fIsStartOfTextLine then
628+
begin
629+
Result := StrOfSpaces(IndentMult * fLevel) + Result;
630+
fIsStartOfTextLine := False;
631+
end;
623632
end;
624633
end;
625634
end;

Src/VersionInfo.vi-inc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# CodeSnip Version Information Macros for Including in .vi files
22

33
# Version & build numbers
4-
version=4.22.2
5-
build=266
4+
version=4.21.0
5+
build=267
66

77
# String file information
88
copyright=Copyright © P.D.Johnson, 2005-<YEAR>.

0 commit comments

Comments
 (0)