Skip to content

Commit e6c17d9

Browse files
author
cahamo
committed
Merge branch 'release/4.18.0'
2 parents c2575d1 + 94d307a commit e6c17d9

21 files changed

+121
-84
lines changed

Diff for: CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,16 @@ This change log begins with the first ever pre-release version of _CodeSnip_. Re
1212
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).
1313

1414

15+
## Release v4.18.0 of 13 September 2021
16+
17+
* Added support for test compilation with, and detection of, Delphi 11 Alexandria.
18+
* Updated various dialogue boxes to widen lists of compilers to accommodate length of new compiler name.
19+
* Operating system detection code was updated to correctly detect Windows 10 version 20H2.
20+
* Updated documentation re changes.
21+
* Updated help file re changes.
22+
* Minor documentation corrections.
23+
24+
1525
## Release v4.17.2 of 12 September 2020
1626

1727
Hotfix release.

Diff for: Docs/Design/FileFormats/config.html

+10-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
66
* obtain one at http://mozilla.org/MPL/2.0/
77
*
8-
* Copyright (C) 2012-2020, Peter Johnson (gravatar.com/delphidabbler).
8+
* Copyright (C) 2012-2021, Peter Johnson (gravatar.com/delphidabbler).
99
*
1010
* CodeSnip File Format Documentation: Configuration Files
1111
-->
@@ -256,6 +256,9 @@ <h4>
256256
<li>
257257
<em>D104S</em> &ndash; Delphi 10.4 Sydney
258258
</li>
259+
<li>
260+
<em>D11A</em> &ndash; Delphi 11 Alexandria
261+
</li>
259262
<li>
260263
<em>FPC</em> &ndash; Free Pascal
261264
</li>
@@ -563,6 +566,12 @@ <h4>
563566
<dd>
564567
Indicates whether Delphi 10.4 Sydney was included in the search.
565568
</dd>
569+
<dt>
570+
<code class="key">D11A</code> (Boolean)
571+
</dt>
572+
<dd>
573+
Indicates whether Delphi 11 Alexandria was included in the search.
574+
</dd>
566575
<dt>
567576
<code class="key">FPC</code> (Boolean)
568577
</dt>

Diff for: Docs/Design/FileFormats/export.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
66
* obtain one at http://mozilla.org/MPL/2.0/
77
*
8-
* Copyright (C) 2012-2020, Peter Johnson (gravatar.com/delphidabbler).
8+
* Copyright (C) 2012-2021, Peter Johnson (gravatar.com/delphidabbler).
99
*
1010
* CodeSnip File Format Documentation: Export
1111
-->
@@ -560,6 +560,9 @@ <h2>
560560
<li>
561561
<em>d104s</em> &ndash; Delphi 10.4 Sydney compiler
562562
</li>
563+
<li>
564+
<em>d11a</em> &ndash; Delphi 11 Alexandria compiler
565+
</li>
563566
<li>
564567
<em>fpc</em> &ndash; Free Pascal compiler
565568
</li>

Diff for: Docs/Design/FileFormats/main-db.html

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
22
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
33
<!--
44
* This Source Code Form is subject to the terms of the Mozilla Public License,
55
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
66
* obtain one at http://mozilla.org/MPL/2.0/
77
*
8-
* Copyright (C) 2012-2020, Peter Johnson (gravatar.com/delphidabbler).
8+
* Copyright (C) 2012-2021, Peter Johnson (gravatar.com/delphidabbler).
99
*
1010
* CodeSnip File Format Documentation: Main Database
1111
-->
@@ -199,6 +199,7 @@ <h4>
199199
Delphi102T=&lt;Y|N|Q|W&gt;
200200
Delphi103R=&lt;Y|N|Q|W&gt;
201201
Delphi104S=&lt;Y|N|Q|W&gt;
202+
Delphi11A=&lt;Y|N|Q|W&gt;
202203
FPC=&lt;Y|N|Q|W&gt;
203204
Extra=&lt;extra-info-REML&gt;
204205
StandardFormat=&lt;0|1&gt;
@@ -415,6 +416,9 @@ <h4>
415416
<li>
416417
<code class="key">Delphi104S</code> – Delphi 10.4 Sydney compiler *
417418
</li>
419+
<li>
420+
<code class="key">Delphi11A</code> – Delphi 11 Alexandria compiler *
421+
</li>
418422
<li>
419423
<code class="key">FPC</code> – Free Pascal compiler
420424
</li>

Diff for: Docs/Design/FileFormats/user-db.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
66
* obtain one at http://mozilla.org/MPL/2.0/
77
*
8-
* Copyright (C) 2012-2020, Peter Johnson (gravatar.com/delphidabbler).
8+
* Copyright (C) 2012-2021, Peter Johnson (gravatar.com/delphidabbler).
99
*
1010
* CodeSnip File Format Documentation: User Database
1111
-->
@@ -578,6 +578,9 @@ <h3>
578578
<li>
579579
<em>d104s</em> &ndash; Delphi 10.4 Sydney compiler
580580
</li>
581+
<li>
582+
<em>d11a</em> &ndash; Delphi 11 Alexandria compiler
583+
</li>
581584
<li>
582585
<em>fpc</em> &ndash; Free Pascal compiler
583586
</li>

Diff for: Docs/License.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
66
* obtain one at http://mozilla.org/MPL/2.0/
77
*
8-
* Copyright (C) 2012-2020, Peter Johnson (gravatar.com/delphidabbler).
8+
* Copyright (C) 2012-2021, Peter Johnson (gravatar.com/delphidabbler).
99
*
1010
* CodeSnip license.
1111
-->
@@ -225,7 +225,7 @@ <h2>
225225
Executable Program
226226
</h2>
227227
<p>
228-
DelphiDabbler <em>CodeSnip</em> is copyright &copy; 2005-2020 by <a
228+
DelphiDabbler <em>CodeSnip</em> is copyright &copy; 2005-2021 by <a
229229
href="https://gravatar.com/delphidabbler"
230230
>Peter D Johnson</a>.
231231
</p>
@@ -335,7 +335,7 @@ <h2>
335335
<div>
336336
This condition applies to all files in the
337337
<kbd>Src/Res/Img/Branding</kbd> directory, all of which are original
338-
work copyright &copy; 2012-2020 by <a
338+
work copyright &copy; 2012-2021 by <a
339339
href="https://gravatar.com/delphidabbler"
340340
>Peter D Johnson</a>.
341341
</div>

Diff for: Docs/ReadMe.txt

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ online DelphiDabbler Code Snippets database as well as maintain a database of
1414
user-defined snippets.
1515

1616
It displays details of each snippet in the database and can test-compile them
17-
with each installed Win32 version of Delphi from Delphi 2 to Delphi 10.4 Sydney
18-
and Free Pascal.
17+
with each installed Win32 version of Delphi from Delphi 2 to Delphi 11
18+
Alexandria and Free Pascal.
1919

2020
Compilable Pascal units can be created that contain selected snippets.
2121

@@ -201,7 +201,7 @@ Configuring CodeSnip to Work With Your Compilers
201201
================================================================================
202202

203203
A feature of CodeSnip is its ability to test compile snippets with any installed
204-
Windows 32 version of Delphi (from Delphi 2 to Delphi 10.4 Sydney) and
204+
Windows 32 version of Delphi (from Delphi 2 to Delphi 11 Alexandria) and
205205
FreePascal, providing some simple rules are followed.
206206

207207
When CodeSnip is first installed it knows nothing about the available compilers
@@ -218,9 +218,9 @@ dialogue" in the help file index).
218218

219219
Each user can configure compilers differently.
220220

221-
Delphi XE2 to XE8 and Delphi 10.4 Sydney may need to be configured to search for
222-
required units in the correct namespaces. This is explained in the Add/Edit
223-
Snippet Dialogue Box help topic and in the FAQ at
221+
Delphi XE2 and later may need to be configured to search for required units in
222+
the correct namespaces. This is explained in the Add/Edit Snippet Dialogue Box
223+
help topic and in the FAQ at
224224
https://github.com/delphidabbler/codesnip-faq/blob/master/UsingCodeSnip.md#faq-1
225225

226226
Any type of snippet other than "freeform" can be test compiled.

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ A code bank designed with Pascal in mind.
1212

1313
## Overview
1414

15-
CodeSnip is an open source code bank for storing and viewing your code snippets. While it can manage snippets in any source language, it is focussed mainly on Pascal and Delphi code for which additional features are available.
15+
CodeSnip is an open source code bank for storing and viewing your code snippets. While it can manage snippets in any source language, it is focused mainly on Pascal and Delphi code for which additional features are available.
1616

1717
CodeSnip can import code from the DelphiDabbler [Code Snippets Database](https://github.com/delphidabbler/code-snippets).
1818

Diff for: Src/3rdParty/PJSysInfo.pas

+14-7
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
*
66
* Copyright (C) 2001-2020, Peter Johnson (@delphidabbler).
77
*
8-
* $Rev: 2023 $
9-
* $Date: 2020-03-17 05:00:45 +0000 (Tue, 17 Mar 2020) $
8+
* $Rev: 2029 $
9+
* $Date: 2020-10-31 15:24:58 +0000 (Sat, 31 Oct 2020) $
1010
*
1111
* This unit contains various static classes, constants, type definitions and
1212
* global variables for use in providing information about the host computer and
@@ -446,7 +446,7 @@ interface
446446
osWin10Svr, // Windows 2016 Server
447447
osWinSvr2019 // Windows 2019 Server
448448
);
449-
449+
450450
type
451451
/// <summary>Enumeration identifying processor architecture.</summary>
452452
TPJProcessorArchitecture = (
@@ -1212,7 +1212,8 @@ implementation
12121212
Win10RS5Build = 17763; // Windows 10 RS5 - version 1809
12131213
Win1019H1Build = 18362; // Windows 10 19H1 - version 1903
12141214
Win1019H2Build = 18363; // Windows 10 19H2 - version 1909
1215-
Win1020H1Build = 19041; // Windows 10 20H2 - version 2004
1215+
Win1020H1Build = 19041; // Windows 10 20H1 - version 2004
1216+
Win1020H2Build = 19042; // Windows 10 20H2 - version 20H2
12161217

12171218
Win2016TP1Build = 9841; // Win 2016 Server Technical Preview 1
12181219
Win2016TP2Build = 10074; // Win 2016 Server Technical Preview 2
@@ -1722,13 +1723,19 @@ procedure InitPlatformIdEx;
17221723
else if IsBuildNumber(Win1019H2Build) then
17231724
begin
17241725
InternalBuildNumber := Win1019H2Build;
1725-
InternalExtraUpdateInfo := 'Version 1909: Novermber 2019 Update';
1726+
InternalExtraUpdateInfo := 'Version 1909: November 2019 Update';
17261727
end
17271728
else if IsBuildNumber(Win1020H1Build) then
17281729
begin
17291730
InternalBuildNumber := Win1020H1Build;
1730-
// TODO: Add marketing name below once known
1731-
InternalExtraUpdateInfo := 'Version 2004';
1731+
InternalExtraUpdateInfo := 'Version 2004: May 2020 Update';
1732+
end
1733+
else if IsBuildNumber(Win1020H2Build) then
1734+
begin
1735+
InternalBuildNumber := Win1020H2Build;
1736+
// Note: Microsoft announced the official version name is '20H2',
1737+
// not '2010' which some had expected it to be
1738+
InternalExtraUpdateInfo := 'Version 20H2: October 2020 Update';
17321739
end
17331740
end
17341741
else

Diff for: Src/Compilers.UBDS.pas

+23-15
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
44
* obtain one at http://mozilla.org/MPL/2.0/
55
*
6-
* Copyright (C) 2006-2020, Peter Johnson (gravatar.com/delphidabbler).
6+
* Copyright (C) 2006-2021, Peter Johnson (gravatar.com/delphidabbler).
77
*
88
* Class that controls and provides information about Borland CodeGear and
99
* Embarcadero "BDS" Win32 compilers.
@@ -150,27 +150,32 @@ function TBDSCompiler.GetIDString: string;
150150
Result := 'D103R';
151151
ciD104S:
152152
Result := 'D104S';
153+
ciD11A:
154+
Result := 'D11A';
153155
else
154156
raise EBug.Create(ClassName + '.GetIDString: Invalid ID');
155157
end;
156158
end;
157159

158160
function TBDSCompiler.GetName: string;
159161
resourcestring
160-
sCompilerName = 'Delphi %d'; // template for name of compiler
161-
sDelphiXE = 'Delphi XE'; // name of Delphi XE compiler
162-
sDelphiXE2 = 'Delphi XE2'; // name of Delphi XE2 compiler
163-
sDelphiXE3 = 'Delphi XE3'; // name of Delphi XE3 compiler
164-
sDelphiXE4 = 'Delphi XE4'; // name of Delphi XE4 compiler
165-
sDelphiXE5 = 'Delphi XE5'; // name of Delphi XE5 compiler
166-
sDelphiXE6 = 'Delphi XE6'; // name of Delphi XE6 compiler
167-
sDelphiXE7 = 'Delphi XE7'; // name of Delphi XE7 compiler
168-
sDelphiXE8 = 'Delphi XE8'; // name of Delphi XE8 compiler
169-
sDelphi10S = 'Delphi 10 Seattle'; // name of Delphi 10 compiler
170-
sDelphi101B = 'Delphi 10.1 Berlin'; // name of Delphi 10.1 compiler
171-
sDelphi102T = 'Delphi 10.2 Tokyo'; // name of Delphi 10.2 compiler
172-
sDelphi103R = 'Delphi 10.3 Rio'; // name of Delphi 10.3 compiler
173-
sDelphi104S = 'Delphi 10.4 Sydney'; // name of Delphi 10.4 compiler
162+
// template for name of compiler with simple integer version number
163+
sCompilerName = 'Delphi %d';
164+
// names of compilers not suitable for use with template
165+
sDelphiXE = 'Delphi XE';
166+
sDelphiXE2 = 'Delphi XE2';
167+
sDelphiXE3 = 'Delphi XE3';
168+
sDelphiXE4 = 'Delphi XE4';
169+
sDelphiXE5 = 'Delphi XE5';
170+
sDelphiXE6 = 'Delphi XE6';
171+
sDelphiXE7 = 'Delphi XE7';
172+
sDelphiXE8 = 'Delphi XE8';
173+
sDelphi10S = 'Delphi 10 Seattle';
174+
sDelphi101B = 'Delphi 10.1 Berlin';
175+
sDelphi102T = 'Delphi 10.2 Tokyo';
176+
sDelphi103R = 'Delphi 10.3 Rio';
177+
sDelphi104S = 'Delphi 10.4 Sydney';
178+
sDelphi11A = 'Delphi 11 Alexandria';
174179
begin
175180
case GetID of
176181
ciDXE:
@@ -199,6 +204,8 @@ function TBDSCompiler.GetName: string;
199204
Result := sDelphi103R;
200205
ciD104S:
201206
Result := sDelphi104S;
207+
ciD11A:
208+
Result := sDelphi11A;
202209
else
203210
Result := Format(sCompilerName, [ProductVersion]);
204211
end;
@@ -232,6 +239,7 @@ function TBDSCompiler.InstallationRegKey: string;
232239
ciD102T : Result := '\Software\Embarcadero\BDS\19.0';
233240
ciD103R : Result := '\Software\Embarcadero\BDS\20.0';
234241
ciD104S : Result := '\Software\Embarcadero\BDS\21.0';
242+
ciD11A : Result := '\Software\Embarcadero\BDS\22.0';
235243
else raise EBug.Create(ClassName + '.InstallationRegKey: Invalid ID');
236244
end;
237245
end;

Diff for: Src/Compilers.UGlobals.pas

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
44
* obtain one at http://mozilla.org/MPL/2.0/
55
*
6-
* Copyright (C) 2005-2020, Peter Johnson (gravatar.com/delphidabbler).
6+
* Copyright (C) 2005-2021, Peter Johnson (gravatar.com/delphidabbler).
77
*
88
* Declares various types that describe the compiler and compilation results and
99
* defines interfaces to compiler objects.
@@ -42,7 +42,8 @@ interface
4242
ciD101B, // Delphi 10.1 Berlin
4343
ciD102T, // Delphi 10.2 Tokyo
4444
ciD103R, // Delphi 10.3 Rio
45-
ciD104S, // Delphi 10.4 Sydney
45+
ciD104S, // Delphi 10.4 Sydney,
46+
ciD11A, // Delphi 11 Alexandria
4647
ciFPC // Free Pascal
4748
);
4849

@@ -56,7 +57,7 @@ interface
5657
cBDSCompilers = [
5758
ciD2005w32, ciD2006w32, ciD2007, ciD2009w32, ciD2010, ciDXE, ciDXE2,
5859
ciDXE3, ciDXE4, ciDXE5, ciDXE6, ciDXE7, ciDXE8, ciD10S, ciD101B, ciD102T,
59-
ciD103R, ciD104S
60+
ciD103R, ciD104S, ciD11A
6061
];
6162

6263
const

Diff for: Src/DBIO.UIniDataReader.pas

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
44
* obtain one at http://mozilla.org/MPL/2.0/
55
*
6-
* Copyright (C) 2005-2020, Peter Johnson (gravatar.com/delphidabbler).
6+
* Copyright (C) 2005-2021, Peter Johnson (gravatar.com/delphidabbler).
77
*
88
* Implements code that reads the main CodeSnip database from .ini and .dat
99
* files.
@@ -235,7 +235,8 @@ implementation
235235
'Delphi2005Win32', 'Delphi2006Win32', 'Delphi2007', 'Delphi2009Win32',
236236
'Delphi2010', 'DelphiXE', 'DelphiXE2', 'DelphiXE3', 'DelphiXE4',
237237
'DelphiXE5', 'DelphiXE6', 'DelphiXE7', 'DelphiXE8', 'Delphi10S',
238-
'Delphi101B', 'Delphi102T', 'Delphi103R', 'Delphi104S', 'FPC'
238+
'Delphi101B', 'Delphi102T', 'Delphi103R', 'Delphi104S', 'Delphi11A',
239+
'FPC'
239240
);
240241

241242
{ TIniDataReader }

0 commit comments

Comments
 (0)