Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit 28e5ebb

Browse files
author
Reini Urban
committed
release 5.25.2c
see pod/perlcdelta.pod or http://perl11.org/cperl/perl5252cdelta.html
1 parent 7df57ba commit 28e5ebb

File tree

4 files changed

+57
-33
lines changed

4 files changed

+57
-33
lines changed

Porting/release_cperl.pod

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ There's no C<make release> target yet.
1313

1414
less Porting/release_manager_guide.pod
1515

16-
../do-conf-cperl-release
16+
Porting/do-conf-cperl-release
17+
Porting/do-make-cperl-release
18+
19+
or:
20+
1721
make -s -j4 test && make -s install DESTDIR=`pwd`/../cperl-5.25.2-inst
1822

1923
mkdir ../cperl-5.25.2
@@ -28,7 +32,7 @@ There's no C<make release> target yet.
2832
--version 5.25.2 \
2933
-m rurban@cpanel.net \
3034
--url http://perl11.org/cperl/$t/ \
31-
--deb-config Porting/debian --deb-changelog pod/perl5222cdelta.pod
35+
--deb-config Porting/debian --deb-changelog pod/perl5252cdelta.pod
3236
done
3337

3438
So far we have no upstream accepted C<cperl> packages yet, so we
@@ -65,7 +69,8 @@ ccflags is architecture specific.
6569
-Dcf_email='rurban@cpanel.net' \
6670
-Uusethreads -Doptimize='-O3 -g'
6771

68-
sed -i -e's,-fstack-protector-strong,-fstack-protector,' config.sh Makefile cflags
72+
sed -i -e's,-fstack-protector-strong,-fstack-protector,' config.sh \
73+
Makefile cflags
6974
touch config.h
7075
make -s git_version.h ECHO=true
7176
make -s -j4 ECHO=true
@@ -174,10 +179,24 @@ Copy the created rpms into the rpm dest dirs.
174179

175180
perl11.org/cperl/STATUS.html, perl11.org/cperl/Changes.html and the pods.
176181

177-
(from markdown and pod) TODO...
182+
From markdown and pod:
183+
184+
ROOT=../perl11.github.com/cperl
185+
186+
#Markdown.pl Changes > $ROOT/Changes.html
187+
pod2html --podpath=pod pod/perlcperl.pod > $ROOT/index.html
188+
cdelta=`ls pod/perl5*cdelta.pod|sed 's,pod/perl,,; s,.pod$,,' `
189+
for p in "" data cperl sub types obj cdelta delta call util guts hack $cdelta sec hist; do
190+
pod2html --podpath=pod pod/perl$p.pod > $ROOT/perl$p.html
191+
done
192+
Markdown.pl STATUS.md > $ROOT/STATUS.html
193+
194+
sed -i -e's,href="/pod/,href="/cperl/,' $ROOT/*.html
178195

179196
=head2 publish the website
180197

198+
cd ../perl11.github.com/cperl
199+
git ci -am'update cperl release'
181200
git push
182201

183202
Check it and announce it on twitter and your blog.

STATUS.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ Windows is smoked with MSVC 10 and 12 for 32 and 64bit.
3131

3232
The current stable release is
3333
[5.24.1c](https://github.com/perl11/cperl/releases/tag/cperl-5.24.1) - [perl5241cdelta](perl5241cdelta.html),
34-
the latest development release [5.25.0c](https://github.com/perl11/cperl/releases/tag/cperl-5.25.0) - [perl5250cdelta](perl5250cdelta.html).
35-
See the current changelog [cperl-5.25.2 delta](perlcdelta.html).
34+
the latest development release [5.25.2c](https://github.com/perl11/cperl/releases/tag/cperl-5.25.2) - [perl5250cdelta](perl5252cdelta.html).
35+
See the current changelog [cperlcdelta](perlcdelta.html).
3636
We also have [5.22.4c](https://github.com/perl11/cperl/releases/tag/cperl-5.22.4), [perl5224cdelta](perl5224cdelta.html).
3737

3838
All tests pass. CPAN works.
@@ -99,7 +99,7 @@ For all versions see [bench-all/](bench-all/index.html)
9999
versions with a 'c' suffix, and 10x faster JSON and YAML usage. (esp. with cpan).
100100
* many typed and modernized core modules, where signatures and types make
101101
sense and cause not much trouble.
102-
* some security fixes for Unicode confusables, but more are needed (use strict 'names').
102+
* many security fixes for Unicode symbols. no mixed scripts, normalized, no \0.
103103
* handle method calls on protected stashes.
104104
* disallow silent overflows of hash and array indices or string/name lengths.
105105
New "Too many elements" error and many new "overlarge" or "too large" panics.
@@ -313,6 +313,17 @@ are limited. So they are based on master.
313313

314314
compile/dump to native code via emacs unexec, on most platforms.
315315

316+
* [feature/gh141-smallstring](https://github.com/perl11/cperl/issues/141)
317+
318+
[code](http://github.com/perl11/cperl/commits/feature/gh141-smallstring)
319+
320+
optimize space for small strings.
321+
322+
and various [hash tables refactorings]((https://github.com/perl11/cperl/issues/24):
323+
324+
feature/gh24-base-hash feature/gh24-he-array feature/gh24-oldnew-hash-table
325+
featurex/gh24-array_he featurex/gh24-hash-loop featurex/gh24-hash-loop+utf8
326+
featurex/gh24-hash-utf8
316327

317328
## A bit more work is needed for
318329

@@ -350,6 +361,10 @@ They also revert some wrong decisions p5p already made.
350361
class, method and multi keywords but no dispatch, subtyping and type checks yet.
351362
in work.
352363

364+
* various more hash tables:
365+
366+
featurex/gh24-one-word-ahe featurex/gh24-open-hash
367+
353368
## Soon
354369

355370
* user facing classes, multiple dispatch (fast for binary, slow for mega)

t/porting/known_pod_issues.dat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ pod/perlwin32.pod Verbatim line length including indents exceeds 79 by 7
375375
porting/epigraphs.pod Verbatim line length including indents exceeds 79 by 16
376376
porting/release_cperl.pod ? Should you be using F<...> or maybe L<...> instead of 1
377377
porting/release_cperl.pod Verbatim line length including indents exceeds 79 by 4
378+
porting/release_cperl.pod line containing nothing but whitespace in paragraph 2
378379
porting/release_managers_guide.pod Verbatim line length including indents exceeds 79 by 1
379380
porting/todo.pod ? Should you be using F<...> or maybe L<...> instead of 1
380381
lib/benchmark.pm Verbatim line length including indents exceeds 79 by 2

t/uni/normalize.t

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ for my $c (1 .. 0x10FFFF) {
4141
# => 12076 confusables
4242
}
4343

44-
plan (tests => 22 + (scalar(@nfc)/2));
44+
plan (tests => 24 + (scalar(@nfc)/2));
4545
my $i = 1;
4646

4747
# first check if _is_utf8_decomposed() catches all characters for pv_uni_normalize.
@@ -76,35 +76,23 @@ while (@nfc) {
7676
is( $orig, $i, "orig global var \${$qfrom}" );
7777
is( $norm, $i, "norm global var \${$qto}" );
7878
my $b = B::svref_2object(\$gv);
79-
if (ref $b eq 'B::GV') {
80-
is( $b->NAME, $to, "normalize E+COMBINING ACUTE ACCENT => E WITH ACUTE" );
81-
} else {
82-
is( ref $b, "B::GV", " => $qto (".ord($to).")");
83-
}
79+
is( $b->NAME, $to, "normalize E+COMBINING ACUTE ACCENT => E WITH ACUTE" );
8480
$i++;
8581

8682
$É = $i; ($orig, $norm, $gv) = ($É, $É, *É);
8783
is( $orig, $i, "orig global var \$$qfrom" );
8884
is( $norm, $i, "norm global var \$$qto" );
8985
my $b = B::svref_2object(\$gv);
90-
if (ref $b eq 'B::GV') {
91-
is( $b->NAME, $to, "normalize GV E+COMBINING ACUTE ACCENT => E WITH ACUTE" );
92-
} else {
93-
is( ref $b, "B::GV", " => $qto");
94-
}
86+
is( $b->NAME, $to, "normalize GV E+COMBINING ACUTE ACCENT => E WITH ACUTE" );
9587
$i++;
9688

9789
sub É {$i}; $orig = É(); $norm = É(); $cv = \&É;
9890
is( $orig, $i, "orig sub $qfrom" );
9991
is( $norm, $i, "norm sub $qto" );
10092
TODO: {
101-
local $TODO = "B::CV->NAME_HEK";
93+
local $TODO = "B::CV->NAME_HEK of \\&";
10294
$b = B::svref_2object($cv);
103-
if (ref $b eq 'B::CV') {
104-
is( $b->NAME_HEK, $to, "normalize CV NAME to E WITH ACUTE" );
105-
} else {
106-
is( ref $b, "B::CV", " => $qto");
107-
}
95+
is( $b->NAME_HEK, $to, "normalize CV NAME to E WITH ACUTE" );
10896
}
10997
$i++;
11098

@@ -116,15 +104,8 @@ while (@nfc) {
116104
sub bÉ () {$i}; ($orig, $norm, $cv) = (bÉ(), bÉ(), \&bÉ);
117105
is( $orig, $i, "orig const sub $qfrom" );
118106
is( $norm, $i, "norm const sub $qto" );
119-
TODO: {
120-
local $TODO = "B::CV->NAME_HEK";
121-
$b = B::svref_2object(\$cv);
122-
if (ref $b eq 'B::CV') {
123-
is( $b->NAME_HEK, $to, "normalize CV NAME to E WITH ACUTE" );
124-
} else {
125-
is( ref $b, "B::CV", " => $qto");
126-
}
127-
}
107+
$b = B::svref_2object($cv);
108+
is( $b->NAME_HEK, "b".$to, "normalize CV NAME to E WITH ACUTE" );
128109
$i++;
129110

130111
sub PKG_É::É {$i};
@@ -149,3 +130,11 @@ while (@nfc) {
149130
is( $orig, $i, "dynamic string ref \${\"$qfrom\"}");
150131
is( $norm, 0, "not normalized");
151132
}
133+
134+
# almost illegal unicode: double combiners
135+
my $qfrom = join("",map{sprintf"\\x{%x}",$_}unpack"U*","É́");
136+
my $qto = join("",map{sprintf"\\x{%x}",$_}unpack"U*","É́");
137+
# correctly normalized, but shouldn't this warn?
138+
${É́} = $i; ($orig, $norm) = (${É́}, ${É́});
139+
is( $orig, $i, "orig global var \${$qfrom}" );
140+
is( $norm, $i, "norm global var \${$qto}" );

0 commit comments

Comments
 (0)