Branch: refs/heads/xperl/case_match
Home: https://github.com/Perl/perl5
Commit: 0cc8240c8fd35ac6c0d412154fe01b470db6b2e3
https://github.com/Perl/perl5/commit/0cc8240c8fd35ac6c0d412154fe01b470db6b2e3
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M .gitignore
M MANIFEST.SKIP
Log Message:
-----------
Ignore agent related content
Commit: 0adbaf4f11c2d3f2d506518861a9797f8f3403cf
https://github.com/Perl/perl5/commit/0adbaf4f11c2d3f2d506518861a9797f8f3403cf
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M cop.h
M dump.c
M embed.fnc
M embed.h
M embedvar.h
M ext/Opcode/Opcode.pm
M ext/XS-APItest/APItest.pm
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/APItest_runtime_helpers.xs
A ext/XS-APItest/t/generator-runtime.t
M feature.h
M gv.c
M intrpvar.h
M keywords.c
M keywords.h
M lib/B/Deparse-core.t
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M lib/feature.pm
M opcode.h
M opnames.h
M perl.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perl.pod
A pod/perlasync.pod
M pod/perldelta.pod
M pod/perldiag.pod
M pod/perlexperiment.pod
M pod/perlfunc.pod
M pp.c
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/feature.pl
M regen/keywords.pl
M regen/opcodes
M run.c
M sv.c
M t/op/coreamp.t
M t/op/coresubs.t
A t/op/generator.t
M toke.c
M win32/pod.mak
Log Message:
-----------
add a generator syntax
Commit: fd8ab5f970256b67e3c6ed26f89a7775619a814c
https://github.com/Perl/perl5/commit/fd8ab5f970256b67e3c6ed26f89a7775619a814c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A generator_plan.md
Log Message:
-----------
add the plan
Commit: e248f6ffc0c6dc6349ee1d8f0ac8a952ac4cda39
https://github.com/Perl/perl5/commit/e248f6ffc0c6dc6349ee1d8f0ac8a952ac4cda39
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M proto.h
M run.c
Log Message:
-----------
Pass initial arguments into generators
Commit: c554a2b7ec4254c754b2b881fc9c6011a80dba1d
https://github.com/Perl/perl5/commit/c554a2b7ec4254c754b2b881fc9c6011a80dba1d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M generator_plan.md
M lib/B/Op_private.pm
M opcode.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M proto.h
M regen/opcodes
M run.c
Log Message:
-----------
Pass arguments and lists through generators
Commit: 90ce410e3c4a2ed424f729406c107fcc29dcfc30
https://github.com/Perl/perl5/commit/90ce410e3c4a2ed424f729406c107fcc29dcfc30
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M embed.h
M generator_plan.md
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlasync.pod
M pp_ctl.c
M proto.h
M run.c
M t/op/generator.t
Log Message:
-----------
Test and document parameterized generators
Commit: 9b6367c3f32988b79f5d5a0e9081f0e2a1ee9225
https://github.com/Perl/perl5/commit/9b6367c3f32988b79f5d5a0e9081f0e2a1ee9225
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
Log Message:
-----------
Track generator return state
Commit: 675762d1f61d1a96e98a96b8d16324a30dd2eff2
https://github.com/Perl/perl5/commit/675762d1f61d1a96e98a96b8d16324a30dd2eff2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M embed.fnc
Log Message:
-----------
Normalize generator API declarations
Commit: 11e285fc48833be66e099feecc35a2587002c5ca
https://github.com/Perl/perl5/commit/11e285fc48833be66e099feecc35a2587002c5ca
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlasync.pod
M pod/perldiag.pod
Log Message:
-----------
Document generator argument diagnostics
Commit: 465581ba61fd93a8034994c6fd90f3118c89503e
https://github.com/Perl/perl5/commit/465581ba61fd93a8034994c6fd90f3118c89503e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlasync.pod
M run.c
M t/op/generator.t
Log Message:
-----------
Return first generator value in scalar context
Commit: a56dfb3c07606abdbd69a22cff5c7b05f8ef66a4
https://github.com/Perl/perl5/commit/a56dfb3c07606abdbd69a22cff5c7b05f8ef66a4
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
A class.h
M embed.fnc
M embed.h
M hv.c
M hv.h
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M op.c
M opcode.h
M opnames.h
M pad.c
M pad.h
M perly.y
M pp.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M sv.c
A t/role/examples/001-currency.t
A t/role/examples/002-shard-migrator.t
A t/role/examples/003-lambda-terms.t
A t/role/examples/004-native-types.t
A t/role/role.t
A t/role/role_compose.t
A t/role/role_conflict_resolution.t
A t/role/role_does.t
A t/role/role_does_method.t
A t/role/role_does_semantics.t
A t/role/role_field_composition.t
A t/role/role_field_conflicts.t
A t/role/role_fields.t
A t/role/role_requires.t
M toke.c
M universal.c
Log Message:
-----------
class: roles v3 -- algebraic composition with conflict detection and 'does'
This commit adds roles to the 'use feature "class"' system (originally
introduced in Perl 5.38). It supersedes the earlier roles-v1 and
roles-v2 work.
== Overview ==
A role is declared with the 'role' keyword and consumed by a class or
another role with the :does attribute:
role Printable {
method print { say $self->to_string }
}
class Document :does(Printable) {
field $content :param;
method to_string { $content }
}
:does accepts a parenthesised list: :does(RoleA, RoleB).
Roles may contain fields, methods (including required method stubs),
and ADJUST blocks. Fields and methods from composed roles are installed
into the consumer's stash at seal time.
== Proto-Role Algebra ==
The core of this implementation is a proto_role_t (class.h) that every
class and role builds during parsing. It captures:
- method_slot_t: name, origin bitset, CV pointer, and provenance
(from_field pointer, non-NULL for :reader/:writer generated
accessors)
- field_slot_t: PADNAME pointer and origin bitset
- An origin_set_t (U32 bitset) where each composing role gets one bit
Composition is a sorted merge-join (S_merge_method_slots,
S_merge_field_slots) that ORs origin bits. The algebra is:
Required origin_set == 0 (pure obligation)
Defined popcount == 1 (one provider)
Conflicted popcount > 1 (multiple providers)
This makes associativity and commutativity structurally guaranteed.
Resolution (S_proto_role_resolve) runs after composition and checks:
- Conflicted slot: consumer must provide an explicit method. A
generated accessor (:reader/:writer) does not count. An inherited
method does not count. All unresolved conflicts are collected and
reported in one croak.
- Required slot: consumer explicit method OR inherited method
satisfies it. Unresolved required slots at class seal time are
errors; at role seal time they propagate.
Diamond composition is handled correctly: the bitset means same-origin
methods collapse without conflict.
== Nominal and Structural Role Checks ==
Three ways to test role membership:
$obj->does('RoleName') nominal: walks xhv_class_roles transitively
$obj does RoleName infix operator (like 'isa'), guards with
feature 'class'
$obj->DOES('RoleName') structural: walks the role's proto-role
method_slots and verifies each Defined
method still dispatches to the role's
original CvSTASH; generated accessors
(from_field != NULL) are skipped
->does and ->DOES can disagree when a subclass overrides a role method;
this is intentional.
== Bug Fix ==
Also fixes a segfault when a class with a unit-style declaration
(class Foo; ...) inherits from another class. The unit-class path was
not initialising xhv_class_suspended_initfields_compcv before the
superclass ADJUST blocks ran. (GH #20890)
== Memory ==
proto_role_t is retained after sealing so that ->DOES can do structural
checks at runtime. hv_undef_flags() now calls proto_role_free() in the
class/role cleanup block so the struct and its ref-counted contents are
freed when the stash is eventually destroyed.
== Tests ==
New test files under t/role/:
role.t basic role machinery
role_compose.t method and field composition
role_does.t :does attribute validation
role_does_semantics.t ->does / 'does' / isa semantics
role_does_method.t ->does, infix 'does', ->DOES
role_field_composition.t field inheritance through roles
role_field_conflicts.t field conflict detection
role_fields.t role field behaviour
role_requires.t required method stubs
role_conflict_resolution.t conflict detection and resolution rules
examples/ four worked examples
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: 09df6e444c575bef1fa7099485740d1ed18604af
https://github.com/Perl/perl5/commit/09df6e444c575bef1fa7099485740d1ed18604af
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M class.c
M t/op/universal.t
Log Message:
-----------
fix CI failures: MANIFEST, perldiag, Opcode tag, universal.t, compiler warning
MANIFEST: add class.h and all t/role/*.t test files.
pod/perldiag.pod: add entries for all new diagnostics introduced by
the roles implementation:
- Cannot '%s' outside of a 'class' or 'role'
- Cannot create role %s as it already has a non-empty @ISA
- Cannot define role "%s" as it is already a class
- Cannot reopen existing role "%s"
- Field %s conflicts between "%s" and "%s"
- Method %s conflicts between "%s" and "%s"
- Method %s is required by role %s but not provided by "%s"
- role is experimental
- Roles cannot use :isa
- Too many roles in a single composition (max %d)
- Unexpected characters while parsing :does attribute: %s
- :does attribute requires a role but "%s" is not one
- proto_role_compose_and_install: role has no proto-role (S debugging)
ext/Opcode/Opcode.pm: add 'does' to the tagged opname list alongside
'isa'.
t/op/universal.t: update expected UNIVERSAL:: method list to include
'does', which is now installed alongside 'isa', 'can', etc.
class.c: remove unused 'stash' parameter from S_apply_one_role() to
fix the compiler warning. Change the DEBUGGING fallback warn to use
Perl_ck_warner_d(packWARN(WARN_DEBUGGING)) so diag.t can verify its
severity and category.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: 7af47065a935085b71885db74722a78c8a83bc1b
https://github.com/Perl/perl5/commit/7af47065a935085b71885db74722a78c8a83bc1b
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M gv.c
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
fix -Dusethreads CI failures: does/role in CORE:: and version bump
- gv.c: add KEY_does and KEY_role to S_maybe_add_coresub's return-NULL
switch, so CORE::does and CORE::role are not registered as callable
CORE:: subs (same treatment as KEY_isa, KEY_class, etc.)
- t/op/coresubs.t: add 'does' and 'role' to %unsupported
- t/op/coreamp.t: add 'does' and 'role' to %nottest_words
- lib/B/Deparse.pm: bump version 1.89 -> 1.90 for porting/cmp_version.t
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: b2241fc35c240cd48057e35862922f4120dd5928
https://github.com/Perl/perl5/commit/b2241fc35c240cd48057e35862922f4120dd5928
Author: Stevan Little <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
M t/role/role.t
M t/role/role_compose.t
M t/role/role_does.t
M t/role/role_requires.t
Log Message:
-----------
class: fix transitive required-method propagation through role chains
After composing role B :does(A), B's stored proto-role was only the pre-
composition snapshot (B's own methods), so required methods from A were
lost when a class later composed B. This caused no error when a class
failed to satisfy a transitively-required method.
Fix: after role composition, append any Required slots from the composed
proto that are not already in the stored proto-role. Defined slots are
intentionally NOT propagated - only the role's own method implementations
are stored, since the structural DOES check verifies CvSTASH == rolestash.
Also fix the eval "use VERSION" issue in role tests: replace inner "use v5.36"
with "use strict" since "use VERSION" is forbidden in nested evals once a
v5.39+ version is in scope. Update test regexes to match the actual error
message format our implementation produces.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Commit: c5295f6f47b242e2bf06c0e4b30fe3149ca8f200
https://github.com/Perl/perl5/commit/c5295f6f47b242e2bf06c0e4b30fe3149ca8f200
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M class.c
M class.h
M embed.fnc
M embed.h
M hv.h
M keywords.c
M keywords.h
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M lib/UNIVERSAL.pm
M op.c
M opcode.h
M opnames.h
M pad.c
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlclass.pod
M pod/perldiag.pod
M pp.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M t/TEST
M t/harness
M t/role/examples/001-currency.t
M t/role/examples/002-shard-migrator.t
M t/role/examples/003-lambda-terms.t
M t/role/examples/004-native-types.t
M t/role/role_compose.t
M t/role/role_conflict_resolution.t
R t/role/role_does.t
R t/role/role_does_method.t
R t/role/role_does_semantics.t
M t/role/role_field_composition.t
M t/role/role_field_conflicts.t
M t/role/role_fields.t
A t/role/role_implements.t
A t/role/role_implements_method.t
A t/role/role_implements_semantics.t
M t/role/role_requires.t
M toke.c
M universal.c
Log Message:
-----------
role: delegate DOES through implements
Commit: b84434576141fa87eeddcc0af63500d11666ded8
https://github.com/Perl/perl5/commit/b84434576141fa87eeddcc0af63500d11666ded8
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M builtin.c
M class.c
M embed.fnc
M embed.h
M lib/builtin.pm
M proto.h
Log Message:
-----------
class: add package_implements builtin
Commit: ad6d126ca55906c43e0d7f616ada706127ca304b
https://github.com/Perl/perl5/commit/ad6d126ca55906c43e0d7f616ada706127ca304b
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M builtin.c
M class.c
M dist/Data-Dumper/Dumper.pm
M dist/Data-Dumper/Dumper.xs
M embed.fnc
M embed.h
M lib/builtin.pm
M proto.h
A t/class/object_hash.t
Log Message:
-----------
class: expose shallow object hash conversion
Commit: 38f0e3a25eec25fc9c390ab7053c4e080bf84e9e
https://github.com/Perl/perl5/commit/38f0e3a25eec25fc9c390ab7053c4e080bf84e9e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/Data-Dumper/Changes
M dist/Data-Dumper/Dumper.pm
M dist/Data-Dumper/Dumper.xs
Log Message:
-----------
Data-Dumper: document class object support
Commit: ec1577be1421a53bfd34cf31e6ef5253f6cac2f2
https://github.com/Perl/perl5/commit/ec1577be1421a53bfd34cf31e6ef5253f6cac2f2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/Data-Dumper/Dumper.xs
Log Message:
-----------
Data-Dumper: guard class API by generated macro
Commit: ade6cd739258aaa0912507ebe7dfe46036bef38e
https://github.com/Perl/perl5/commit/ade6cd739258aaa0912507ebe7dfe46036bef38e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perldelta.pod
Log Message:
-----------
Data-Dumper: document class object support in perldelta
Commit: f11f25e68f843ebe0c6c91e3f1aaa88857568d86
https://github.com/Perl/perl5/commit/f11f25e68f843ebe0c6c91e3f1aaa88857568d86
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M builtin.c
M class.c
Log Message:
-----------
class: document object conversion APIs
Commit: 93ecc6800ff044d0c8bd6e83728b68619638694c
https://github.com/Perl/perl5/commit/93ecc6800ff044d0c8bd6e83728b68619638694c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
Log Message:
-----------
class: add object hash conversion test to manifest
Commit: cb672e5d98d8524fa9c1475b8f2001239524d8ff
https://github.com/Perl/perl5/commit/cb672e5d98d8524fa9c1475b8f2001239524d8ff
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
R t/role/examples/001-currency.t
R t/role/examples/002-shard-migrator.t
R t/role/examples/003-lambda-terms.t
R t/role/examples/004-native-types.t
M t/role/role.t
M t/role/role_compose.t
M t/role/role_conflict_resolution.t
M t/role/role_field_composition.t
M t/role/role_field_conflicts.t
M t/role/role_fields.t
M t/role/role_implements.t
M t/role/role_implements_method.t
M t/role/role_implements_semantics.t
M t/role/role_requires.t
M universal.c
Log Message:
-----------
role: align tests with core harness and DOES fallback
Commit: db9071f16070a8e3bb666f38200656b2f9b97dd6
https://github.com/Perl/perl5/commit/db9071f16070a8e3bb666f38200656b2f9b97dd6
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M builtin.c
M class.c
M class.h
M ext/Opcode/Opcode.pm
M lib/B/Deparse-core.t
M lib/UNIVERSAL.pm
M lib/builtin.pm
M opcode.h
M pod/perldiag.pod
M regen/opcodes
M run.c
M sv.c
M t/op/universal.t
Log Message:
-----------
class: clone role metadata with threaded stashes
Commit: 97c863f2263ffe134b300bdbaa01a995daf806fc
https://github.com/Perl/perl5/commit/97c863f2263ffe134b300bdbaa01a995daf806fc
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
Log Message:
-----------
class: preserve field index sentinel type
Commit: 9aa938e5b7aabf312f2910235088b44a8052293b
https://github.com/Perl/perl5/commit/9aa938e5b7aabf312f2910235088b44a8052293b
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
Log Message:
-----------
class: keep field map bounds signed
Commit: 76f11db08601bb38281a8af61c1abd27abd9d883
https://github.com/Perl/perl5/commit/76f11db08601bb38281a8af61c1abd27abd9d883
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/op/coreamp.t
Log Message:
-----------
tests: silence experimental comparison warnings in coreamp
Commit: de58cab71d666301f4778c2b9cbbd5d9fac02aaf
https://github.com/Perl/perl5/commit/de58cab71d666301f4778c2b9cbbd5d9fac02aaf
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M class.c
M embed.h
M ext/Opcode/Opcode.pm
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perldiag.pod
Log Message:
-----------
class: restore safe method parse cleanup
Commit: 8c64fa6819a29f278cda332aa4a7761636b7afb9
https://github.com/Perl/perl5/commit/8c64fa6819a29f278cda332aa4a7761636b7afb9
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
A dist/p5-matrix-utils/Changes
A dist/p5-matrix-utils/XS_DESIGN.md
A dist/p5-matrix-utils/lib/MNIST.pm
A dist/p5-matrix-utils/lib/Matrix.pm
A dist/p5-matrix-utils/lib/Scalar.pm
A dist/p5-matrix-utils/lib/Tensor.pm
A dist/p5-matrix-utils/lib/Vector.pm
A dist/p5-matrix-utils/t/matrix-utils.t
Log Message:
-----------
dist: add p5-matrix-utils prototype
Commit: 47bcfcbca270291a86822c3a0cd93274c73bb0d4
https://github.com/Perl/perl5/commit/47bcfcbca270291a86822c3a0cd93274c73bb0d4
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
A dist/p5-matrix-utils/NEURAL_NETWORK_FEATURES.md
A dist/p5-matrix-utils/NOTES.md
A dist/p5-matrix-utils/OPTIMIZATION_OPPORTUNITIES.md
A dist/p5-matrix-utils/OPTIMIZATION_SUCCESS.md
A dist/p5-matrix-utils/OPTIMIZATION_V2_RESULTS.md
A dist/p5-matrix-utils/TRAINING_SUCCESS.md
A dist/p5-matrix-utils/examples/README.md
A dist/p5-matrix-utils/examples/benchmark.pl
A dist/p5-matrix-utils/examples/idx_format_info.md
A dist/p5-matrix-utils/examples/matrix_bench.pl
A dist/p5-matrix-utils/examples/mnist_network.pl
A dist/p5-matrix-utils/examples/mnist_training.pl
A dist/p5-matrix-utils/examples/xor_training.pl
A dist/p5-matrix-utils/t/000-tensor/010-access.t
A dist/p5-matrix-utils/t/000-tensor/020-constructors.t
A dist/p5-matrix-utils/t/000-tensor/030-math.t
A dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
A dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
A dist/p5-matrix-utils/t/000-tensor/060-numerical.t
A dist/p5-matrix-utils/t/000-tensor/070-reductions.t
A dist/p5-matrix-utils/t/010-core/001-scalar.t
A dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
A dist/p5-matrix-utils/t/010-core/020-ops.t
A dist/p5-matrix-utils/t/010-core/120-ops.t
A dist/p5-matrix-utils/t/100-vector/110-access.t
A dist/p5-matrix-utils/t/100-vector/120-scalar.t
A dist/p5-matrix-utils/t/100-vector/130-matrix.t
A dist/p5-matrix-utils/t/100-vector/150-math.t
A dist/p5-matrix-utils/t/100-vector/160-concat.t
A dist/p5-matrix-utils/t/100-vector/170-reductions.t
A dist/p5-matrix-utils/t/100-vector/180-comparisons.t
A dist/p5-matrix-utils/t/100-vector/190-logical-math.t
A dist/p5-matrix-utils/t/200-matrix/210-access.t
A dist/p5-matrix-utils/t/200-matrix/220-constructors.t
A dist/p5-matrix-utils/t/200-matrix/230-operations.t
A dist/p5-matrix-utils/t/200-matrix/250-math.t
A dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
A dist/p5-matrix-utils/t/200-matrix/270-accessors.t
A dist/p5-matrix-utils/t/200-matrix/280-reductions.t
A dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
A dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
Log Message:
-----------
dist: import complete p5-matrix-utils tree
Commit: 32630fa2dd64ac9416cfdd99a07a5868d5e5f155
https://github.com/Perl/perl5/commit/32630fa2dd64ac9416cfdd99a07a5868d5e5f155
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
A dist/p5-matrix-utils/XS.xs
A dist/p5-matrix-utils/lib/Tensor/XS.pm
A dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: add native Tensor XS storage prototype
Commit: 765eafb0899385d5e765226577b8e074298dd88a
https://github.com/Perl/perl5/commit/765eafb0899385d5e765226577b8e074298dd88a
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A dist/p5-matrix-utils/Makefile.PL
Log Message:
-----------
dist: retain Tensor::XS build metadata
Commit: 8c1a40b6ab0780f12aae5f8a0735105969f76db2
https://github.com/Perl/perl5/commit/8c1a40b6ab0780f12aae5f8a0735105969f76db2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: record Tensor XS migration status
Commit: ff5e7284a406ebd440238150641e082d69f761ef
https://github.com/Perl/perl5/commit/ff5e7284a406ebd440238150641e082d69f761ef
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: make native tensor access coordinate based
Commit: 7df2e1ea02ba4c8c15e33b7db14e900c64b0bbf2
https://github.com/Perl/perl5/commit/7df2e1ea02ba4c8c15e33b7db14e900c64b0bbf2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: update Tensor XS design status
Commit: 2638bc8e1f472422bb62eef2c43a098109baf950
https://github.com/Perl/perl5/commit/2638bc8e1f472422bb62eef2c43a098109baf950
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: accept nested native tensor data
Commit: d02ad700b38aa0a0d432017ab237868d58836130
https://github.com/Perl/perl5/commit/d02ad700b38aa0a0d432017ab237868d58836130
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: use conventional tensor strides
Commit: 7a9917b1a04e8a2708d644c988ade805e59c8c91
https://github.com/Perl/perl5/commit/7a9917b1a04e8a2708d644c988ade805e59c8c91
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: make native tensor bulk loads atomic
Commit: d90df8953ad4b5921fa7b55498db6f01f964e6a0
https://github.com/Perl/perl5/commit/d90df8953ad4b5921fa7b55498db6f01f964e6a0
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: add native tensor flat indexing
Commit: c4f7ec99278b7150458ce9751e5aa9fbe78f522c
https://github.com/Perl/perl5/commit/c4f7ec99278b7150458ce9751e5aa9fbe78f522c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: document native tensor indexing
Commit: b9ae762e49b6d60cd688d31660fb2b50abee6e25
https://github.com/Perl/perl5/commit/b9ae762e49b6d60cd688d31660fb2b50abee6e25
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: harden native tensor blob layout
Commit: 21a281b6609943f062586464b3540f435b8b46ad
https://github.com/Perl/perl5/commit/21a281b6609943f062586464b3540f435b8b46ad
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
Log Message:
-----------
dist: validate native tensor blob boundaries
Commit: 2f6d9c92971e39d0a0f1dbc9eb700424cd6b8804
https://github.com/Perl/perl5/commit/2f6d9c92971e39d0a0f1dbc9eb700424cd6b8804
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
Log Message:
-----------
dist: define extensible tensor dtype model
Commit: 7a90e433a2a698b7fe80d12df13ec7173a34a8f2
https://github.com/Perl/perl5/commit/7a90e433a2a698b7fe80d12df13ec7173a34a8f2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/lib/Tensor/XS.pm
M dist/p5-matrix-utils/t/xs-native.t
Log Message:
-----------
dist: add descriptor-driven tensor dtypes
Commit: 41ab7d39481dda397dbda57484ef3a02f7a20984
https://github.com/Perl/perl5/commit/41ab7d39481dda397dbda57484ef3a02f7a20984
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/lib/Tensor.pm
Log Message:
-----------
dist: back Tensor with native XS storage
Commit: 9889c10b7c29549a473e49d9524741ede2db6ce4
https://github.com/Perl/perl5/commit/9889c10b7c29549a473e49d9524741ede2db6ce4
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS.xs
M dist/p5-matrix-utils/lib/Tensor.pm
Log Message:
-----------
dist: finish native Tensor storage bridge
Commit: e45a1b7a0ff063502bc79680e6f4e2a0846cafb1
https://github.com/Perl/perl5/commit/e45a1b7a0ff063502bc79680e6f4e2a0846cafb1
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/XS_DESIGN.md
M dist/p5-matrix-utils/t/000-tensor/010-access.t
M dist/p5-matrix-utils/t/000-tensor/020-constructors.t
M dist/p5-matrix-utils/t/000-tensor/030-math.t
M dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
M dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
M dist/p5-matrix-utils/t/000-tensor/060-numerical.t
M dist/p5-matrix-utils/t/000-tensor/070-reductions.t
M dist/p5-matrix-utils/t/010-core/001-scalar.t
M dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
M dist/p5-matrix-utils/t/010-core/120-ops.t
M dist/p5-matrix-utils/t/100-vector/110-access.t
M dist/p5-matrix-utils/t/100-vector/170-reductions.t
M dist/p5-matrix-utils/t/100-vector/180-comparisons.t
M dist/p5-matrix-utils/t/100-vector/190-logical-math.t
M dist/p5-matrix-utils/t/200-matrix/210-access.t
M dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
M dist/p5-matrix-utils/t/200-matrix/270-accessors.t
M dist/p5-matrix-utils/t/200-matrix/280-reductions.t
M dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
M dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
Log Message:
-----------
dist: remove Test::Exception from tensor tests
Commit: 1934cb174b5880b03eec87f06a043a1c933aa531
https://github.com/Perl/perl5/commit/1934cb174b5880b03eec87f06a043a1c933aa531
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M dist/p5-matrix-utils/Changes
M dist/p5-matrix-utils/Makefile.PL
Log Message:
-----------
dist: package native tensor classes and tests
Commit: 5fd9f341259da10b1c792c507df118daf0b6389d
https://github.com/Perl/perl5/commit/5fd9f341259da10b1c792c507df118daf0b6389d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M generator_plan.md
Log Message:
-----------
generator: plan swappable execution context
Commit: 0522811f70341eef7c575c3ce1da6b1567f48f3b
https://github.com/Perl/perl5/commit/0522811f70341eef7c575c3ce1da6b1567f48f3b
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M generator_plan.md
Log Message:
-----------
generator: document context ownership lifecycle
Commit: bd9206c41d1ba3cc9426ea6f3b7718fd21ce06a5
https://github.com/Perl/perl5/commit/bd9206c41d1ba3cc9426ea6f3b7718fd21ce06a5
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M Configure
M MANIFEST
M Makefile.SH
M cop.h
A dist/Tensor-XS/Changes
A dist/Tensor-XS/Makefile.PL
A dist/Tensor-XS/NEURAL_NETWORK_FEATURES.md
A dist/Tensor-XS/NOTES.md
A dist/Tensor-XS/OPTIMIZATION_OPPORTUNITIES.md
A dist/Tensor-XS/OPTIMIZATION_SUCCESS.md
A dist/Tensor-XS/OPTIMIZATION_V2_RESULTS.md
A dist/Tensor-XS/TRAINING_SUCCESS.md
A dist/Tensor-XS/XS.xs
A dist/Tensor-XS/XS_DESIGN.md
A dist/Tensor-XS/examples/README.md
A dist/Tensor-XS/examples/benchmark.pl
A dist/Tensor-XS/examples/idx_format_info.md
A dist/Tensor-XS/examples/matrix_bench.pl
A dist/Tensor-XS/examples/mnist_network.pl
A dist/Tensor-XS/examples/mnist_training.pl
A dist/Tensor-XS/examples/xor_training.pl
A dist/Tensor-XS/lib/MNIST.pm
A dist/Tensor-XS/lib/Matrix.pm
A dist/Tensor-XS/lib/Scalar.pm
A dist/Tensor-XS/lib/Tensor.pm
A dist/Tensor-XS/lib/Tensor/XS.pm
A dist/Tensor-XS/lib/Vector.pm
A dist/Tensor-XS/t/000-tensor/010-access.t
A dist/Tensor-XS/t/000-tensor/020-constructors.t
A dist/Tensor-XS/t/000-tensor/030-math.t
A dist/Tensor-XS/t/000-tensor/040-comparisons.t
A dist/Tensor-XS/t/000-tensor/050-logical-math.t
A dist/Tensor-XS/t/000-tensor/060-numerical.t
A dist/Tensor-XS/t/000-tensor/070-reductions.t
A dist/Tensor-XS/t/010-core/001-scalar.t
A dist/Tensor-XS/t/010-core/010-reduce_data_array.t
A dist/Tensor-XS/t/010-core/020-ops.t
A dist/Tensor-XS/t/010-core/120-ops.t
A dist/Tensor-XS/t/100-vector/110-access.t
A dist/Tensor-XS/t/100-vector/120-scalar.t
A dist/Tensor-XS/t/100-vector/130-matrix.t
A dist/Tensor-XS/t/100-vector/150-math.t
A dist/Tensor-XS/t/100-vector/160-concat.t
A dist/Tensor-XS/t/100-vector/170-reductions.t
A dist/Tensor-XS/t/100-vector/180-comparisons.t
A dist/Tensor-XS/t/100-vector/190-logical-math.t
A dist/Tensor-XS/t/200-matrix/210-access.t
A dist/Tensor-XS/t/200-matrix/220-constructors.t
A dist/Tensor-XS/t/200-matrix/230-operations.t
A dist/Tensor-XS/t/200-matrix/250-math.t
A dist/Tensor-XS/t/200-matrix/260-concat-stack.t
A dist/Tensor-XS/t/200-matrix/270-accessors.t
A dist/Tensor-XS/t/200-matrix/280-reductions.t
A dist/Tensor-XS/t/200-matrix/290-comparisons.t
A dist/Tensor-XS/t/200-matrix/300-logical-math.t
A dist/Tensor-XS/t/matrix-utils.t
A dist/Tensor-XS/t/xs-native.t
R dist/p5-matrix-utils/Changes
R dist/p5-matrix-utils/Makefile.PL
R dist/p5-matrix-utils/NEURAL_NETWORK_FEATURES.md
R dist/p5-matrix-utils/NOTES.md
R dist/p5-matrix-utils/OPTIMIZATION_OPPORTUNITIES.md
R dist/p5-matrix-utils/OPTIMIZATION_SUCCESS.md
R dist/p5-matrix-utils/OPTIMIZATION_V2_RESULTS.md
R dist/p5-matrix-utils/TRAINING_SUCCESS.md
R dist/p5-matrix-utils/XS.xs
R dist/p5-matrix-utils/XS_DESIGN.md
R dist/p5-matrix-utils/examples/README.md
R dist/p5-matrix-utils/examples/benchmark.pl
R dist/p5-matrix-utils/examples/idx_format_info.md
R dist/p5-matrix-utils/examples/matrix_bench.pl
R dist/p5-matrix-utils/examples/mnist_network.pl
R dist/p5-matrix-utils/examples/mnist_training.pl
R dist/p5-matrix-utils/examples/xor_training.pl
R dist/p5-matrix-utils/lib/MNIST.pm
R dist/p5-matrix-utils/lib/Matrix.pm
R dist/p5-matrix-utils/lib/Scalar.pm
R dist/p5-matrix-utils/lib/Tensor.pm
R dist/p5-matrix-utils/lib/Tensor/XS.pm
R dist/p5-matrix-utils/lib/Vector.pm
R dist/p5-matrix-utils/t/000-tensor/010-access.t
R dist/p5-matrix-utils/t/000-tensor/020-constructors.t
R dist/p5-matrix-utils/t/000-tensor/030-math.t
R dist/p5-matrix-utils/t/000-tensor/040-comparisons.t
R dist/p5-matrix-utils/t/000-tensor/050-logical-math.t
R dist/p5-matrix-utils/t/000-tensor/060-numerical.t
R dist/p5-matrix-utils/t/000-tensor/070-reductions.t
R dist/p5-matrix-utils/t/010-core/001-scalar.t
R dist/p5-matrix-utils/t/010-core/010-reduce_data_array.t
R dist/p5-matrix-utils/t/010-core/020-ops.t
R dist/p5-matrix-utils/t/010-core/120-ops.t
R dist/p5-matrix-utils/t/100-vector/110-access.t
R dist/p5-matrix-utils/t/100-vector/120-scalar.t
R dist/p5-matrix-utils/t/100-vector/130-matrix.t
R dist/p5-matrix-utils/t/100-vector/150-math.t
R dist/p5-matrix-utils/t/100-vector/160-concat.t
R dist/p5-matrix-utils/t/100-vector/170-reductions.t
R dist/p5-matrix-utils/t/100-vector/180-comparisons.t
R dist/p5-matrix-utils/t/100-vector/190-logical-math.t
R dist/p5-matrix-utils/t/200-matrix/210-access.t
R dist/p5-matrix-utils/t/200-matrix/220-constructors.t
R dist/p5-matrix-utils/t/200-matrix/230-operations.t
R dist/p5-matrix-utils/t/200-matrix/250-math.t
R dist/p5-matrix-utils/t/200-matrix/260-concat-stack.t
R dist/p5-matrix-utils/t/200-matrix/270-accessors.t
R dist/p5-matrix-utils/t/200-matrix/280-reductions.t
R dist/p5-matrix-utils/t/200-matrix/290-comparisons.t
R dist/p5-matrix-utils/t/200-matrix/300-logical-math.t
R dist/p5-matrix-utils/t/matrix-utils.t
R dist/p5-matrix-utils/t/xs-native.t
M dist/threads/lib/threads.pm
M dist/threads/threads.xs
M embedvar.h
M ext/B/B.pm
M ext/B/B.xs
M ext/XS-APItest/APItest_runtime_helpers.xs
M intrpvar.h
M lib/.gitignore
M makedef.pl
M pad.h
M perl.c
M perl.h
M regen/embed.pl
M sv.c
M win32/FindExt.pm
M win32/GNUmakefile
M win32/Makefile
Log Message:
-----------
core: make execution context swappable and configure Tensor::XS
Commit: 2c8a791368d792cfad64912e6a20e8da8a083ed5
https://github.com/Perl/perl5/commit/2c8a791368d792cfad64912e6a20e8da8a083ed5
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M ext/XS-APItest/APItest_runtime_helpers.xs
M proto.h
M run.c
Log Message:
-----------
generator: switch process state by context pointer
Commit: fd692af8baea491a676300f46ac443a20bf02d68
https://github.com/Perl/perl5/commit/fd692af8baea491a676300f46ac443a20bf02d68
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M perl.c
Log Message:
-----------
interpreter: initialize unthreaded execution context
Commit: 006ed71f6ca067e40c2ac9f9a8105e5f45d40fa8
https://github.com/Perl/perl5/commit/006ed71f6ca067e40c2ac9f9a8105e5f45d40fa8
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M generator_plan.md
Log Message:
-----------
generator: record execution-context validation
Commit: 84515ea56c935b1586bdad43f73d0f31aeb22e25
https://github.com/Perl/perl5/commit/84515ea56c935b1586bdad43f73d0f31aeb22e25
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/overload.pm
Log Message:
-----------
overload: suppress intentional redefinition warnings
Commit: c9eaf8a5bda9dd1d43d01d57e809124221163faa
https://github.com/Perl/perl5/commit/c9eaf8a5bda9dd1d43d01d57e809124221163faa
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M makedef.pl
Log Message:
-----------
makedef: omit execution-context members from exports
Commit: 7324d2cb9add4f617665bc092c07ee1cb456656f
https://github.com/Perl/perl5/commit/7324d2cb9add4f617665bc092c07ee1cb456656f
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M Porting/Maintainers.pl
Log Message:
-----------
maintainers: register Cpanel::JSON::XS
Commit: ae3a36a5148225df63bc0cbfce6cbf6efb4f3871
https://github.com/Perl/perl5/commit/ae3a36a5148225df63bc0cbfce6cbf6efb4f3871
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/class/gh22169.t
Log Message:
-----------
class: silence intentional replacement warning in gh22169 test
Commit: 4b15557ef57c3f849ed8bed884b97934db04b391
https://github.com/Perl/perl5/commit/4b15557ef57c3f849ed8bed884b97934db04b391
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M Makefile.SH
M Porting/Maintainers.pl
M Porting/sync-with-cpan
A cpan/Cpanel-JSON-XS/.appveyor.yml
A cpan/Cpanel-JSON-XS/.github/FUNDING.yml
A cpan/Cpanel-JSON-XS/.github/workflows/testsuite.yml
A cpan/Cpanel-JSON-XS/.whitesource
A cpan/Cpanel-JSON-XS/XS.pm
A cpan/Cpanel-JSON-XS/XS.xs
A cpan/Cpanel-JSON-XS/XS/Boolean.pm
A cpan/Cpanel-JSON-XS/XS/Type.pm
A cpan/Cpanel-JSON-XS/bin/cpanel_json_xs
A cpan/Cpanel-JSON-XS/eg/bench
A cpan/Cpanel-JSON-XS/t/00_load.t
A cpan/Cpanel-JSON-XS/t/01_utf8.t
A cpan/Cpanel-JSON-XS/t/02_error.t
A cpan/Cpanel-JSON-XS/t/03_types.t
A cpan/Cpanel-JSON-XS/t/04_dwiw_encode.t
A cpan/Cpanel-JSON-XS/t/05_dwiw_decode.t
A cpan/Cpanel-JSON-XS/t/06_pc_pretty.t
A cpan/Cpanel-JSON-XS/t/07_pc_esc.t
A cpan/Cpanel-JSON-XS/t/08_pc_base.t
A cpan/Cpanel-JSON-XS/t/08_pc_base_nv.t
A cpan/Cpanel-JSON-XS/t/09_pc_extra_number.t
A cpan/Cpanel-JSON-XS/t/104_sortby.t
A cpan/Cpanel-JSON-XS/t/105_esc_slash.t
A cpan/Cpanel-JSON-XS/t/106_allow_barekey.t
A cpan/Cpanel-JSON-XS/t/107_allow_singlequote.t
A cpan/Cpanel-JSON-XS/t/108_decode.t
A cpan/Cpanel-JSON-XS/t/109_encode.t
A cpan/Cpanel-JSON-XS/t/10_pc_keysort.t
A cpan/Cpanel-JSON-XS/t/110_bignum.t
A cpan/Cpanel-JSON-XS/t/112_upgrade.t
A cpan/Cpanel-JSON-XS/t/113_overloaded_eq.t
A cpan/Cpanel-JSON-XS/t/114_decode_prefix.t
A cpan/Cpanel-JSON-XS/t/115_tie_ixhash.t
A cpan/Cpanel-JSON-XS/t/116_incr_parse_fixed.t
A cpan/Cpanel-JSON-XS/t/117_numbers.t
A cpan/Cpanel-JSON-XS/t/118_type.t
A cpan/Cpanel-JSON-XS/t/119_type_decode.t
A cpan/Cpanel-JSON-XS/t/11_pc_expo.t
A cpan/Cpanel-JSON-XS/t/120_type_all_string.t
A cpan/Cpanel-JSON-XS/t/121_memleak.t
A cpan/Cpanel-JSON-XS/t/122_type_encode.t
A cpan/Cpanel-JSON-XS/t/125_shared_boolean.t
A cpan/Cpanel-JSON-XS/t/12_blessed.t
A cpan/Cpanel-JSON-XS/t/13_limit.t
A cpan/Cpanel-JSON-XS/t/14_latin1.t
A cpan/Cpanel-JSON-XS/t/15_prefix.t
A cpan/Cpanel-JSON-XS/t/16_tied.t
A cpan/Cpanel-JSON-XS/t/17_relaxed.t
A cpan/Cpanel-JSON-XS/t/18_json_checker.t
A cpan/Cpanel-JSON-XS/t/19_incr.t
A cpan/Cpanel-JSON-XS/t/20_faihu.t
A cpan/Cpanel-JSON-XS/t/20_unknown.t
A cpan/Cpanel-JSON-XS/t/21_evans.t
A cpan/Cpanel-JSON-XS/t/22_comment_at_eof.t
A cpan/Cpanel-JSON-XS/t/23_array_ctx.t
A cpan/Cpanel-JSON-XS/t/24_freeze_recursion.t
A cpan/Cpanel-JSON-XS/t/25_boolean.t
A cpan/Cpanel-JSON-XS/t/26_duplicate.t
A cpan/Cpanel-JSON-XS/t/30_jsonspec.t
A cpan/Cpanel-JSON-XS/t/31_bom.t
A cpan/Cpanel-JSON-XS/t/52_object.t
A cpan/Cpanel-JSON-XS/t/53_readonly.t
A cpan/Cpanel-JSON-XS/t/54_stringify.t
A cpan/Cpanel-JSON-XS/t/55_modifiable.t
A cpan/Cpanel-JSON-XS/t/96_interop.t
A cpan/Cpanel-JSON-XS/t/96_interop_pp.t
A cpan/Cpanel-JSON-XS/t/96_mojo.t
A cpan/Cpanel-JSON-XS/t/97_unshare_hek.t
A cpan/Cpanel-JSON-XS/t/98_56only.t
A cpan/Cpanel-JSON-XS/t/99_binary.t
A cpan/Cpanel-JSON-XS/t/_unicode_handling.pm
A cpan/Cpanel-JSON-XS/t/appveyor-test.bat
A cpan/Cpanel-JSON-XS/t/test_parsing/i_number_neg_int_huge_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_number_pos_double_huge_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_object_key_lone_2nd_surrogate.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_1st_surrogate_but_2nd_missing.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-16_invalid_lonely_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-16_invalid_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_UTF-8_invalid_sequence.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogate_pair.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_incomplete_surrogates_escape_valid.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/i_string_inverted_surrogates_U+1D11E.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_lone_second_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_not_in_unicode_range.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_truncated-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+10FFFE_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+1FFFE_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+FDD0_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_string_unicode_U+FFFE_nonchar.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_structure_500_nested_arrays.json
A cpan/Cpanel-JSON-XS/t/test_parsing/i_structure_UTF-8_BOM_empty_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_1_true_without_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_a_invalid_utf8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_colon_instead_of_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_comma_after_close.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_comma_and_number.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_double_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_double_extra_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_extra_close.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_extra_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_incomplete.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_incomplete_invalid_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_inner_array_no_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_invalid_utf8.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_items_separated_by_semicolon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_just_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_just_minus.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_missing_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_newlines_unclosed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_number_and_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_number_and_several_commas.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_spaces_vertical_tab_formfeed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_star_inside.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_trailing_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_with_new_lines.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_array_unclosed_with_object_inside.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_false.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_incomplete_true.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_++.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_+1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_+Inf.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-01.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-1.0..json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-2..json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_-NaN.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_.-1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_.2e-3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.1.2.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.3e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.3e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0.e1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0_capital_E+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0_capital_E.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_0e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e-.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1.0e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1_000.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_1eE2.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e+3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e-3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_2.e3.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_9.e+.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_Inf.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_NaN.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_U+FF11_fullwidth_digit_one.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_expression.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_hex_1_digit.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_hex_2_digits.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_infinity.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid+-.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-negative-real.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-bigger-int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_invalid-utf-8-in-int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_infinity.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_sign_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_minus_space_1.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_int_starting_with_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_real_without_int_part.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_neg_with_garbage_at_end.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_garbage_after_e.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_with_invalid_utf8_after_e.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_number_real_without_fractional_part.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_starting_with_dot.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_then_00.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_alpha.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_alpha_char.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_number_with_leading_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_bad_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_bracket_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_comma_instead_of_colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_double_colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_emoji.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_garbage_at_end.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_key_with_single_quotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_semicolon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_missing_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_no-colon.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_non_string_key.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_non_string_key_but_huge_number_instead.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_pi_in_key_and_trailing_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_repeated_null_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_several_trailing_commas.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_single_quote.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_open.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_slash_open.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_object_trailing_comment_slash_open_incomplete.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_two_commas_in_a_row.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_unquoted_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_unterminated-value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_with_single_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_object_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_single_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u1.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_1_surrogate_then_escape_u1x.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_UTF-16_incomplete_surrogate.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_UTF8_surrogate_U+D800.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_accentuated_char_no_quotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_backslash_00.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escape_x.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_backslash_bad.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_ctrl_char_tab.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_escaped_emoji.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_escape.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_escaped_character.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_incomplete_surrogate_escape_invalid.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid-utf-8-in-escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_backslash_esc.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_unicode_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_invalid_utf8_after_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_iso_latin_1.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_leading_uescaped_thinspace.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_lone_utf8_continuation_byte.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_no_quotes_with_bad_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_2_bytes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_6_bytes.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_overlong_sequence_6_bytes_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_doublequote.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_quote.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_string_single_string_no_double_quotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_start_escape_unclosed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_crtl_char.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unescaped_tab.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_unicode_CapitalU.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_string_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_100000_opening_arrays.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_U+2060_word_joined.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_UTF8_BOM_no_data.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_trailing_garbage.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_with_extra_array_close.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_array_with_unclosed_string.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_ascii-unicode-identifier.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_capitalized_True.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_close_unopened_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_comma_instead_of_closing_brace.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_double_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_end_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_incomplete_UTF8_BOM.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lone-invalid-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lone-open-bracket.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_lt.gt.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_ltnullgt.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_no_data.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_null-byte-outside-string.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_number_with_trailing_garbage.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_followed_by_closing_object.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_unclosed_no_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_with_comment.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_object_with_trailing_garbage.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_apostrophe.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_open_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_open_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_array_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_close_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_comma.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_open_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_open_string.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_object_string_with_apostrophes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_open_open.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_single_point.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_single_star.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_trailing_#.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_uescaped_LF_before_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_partial_null.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_unfinished_false.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_array_unfinished_true.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unclosed_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_unicode-identifier.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_whitespace_U+2060_word_joiner.json
A cpan/Cpanel-JSON-XS/t/test_parsing/n_structure_whitespace_formfeed.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_arraysWithSpaces.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_empty-string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_empty.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_ending_with_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_false.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_heterogeneous.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_1_and_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_leading_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_several_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_array_with_trailing_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_0e+1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_0e1.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_after_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_double_close_to_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_double_huge_neg_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_huge_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_int_with_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_minus_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_one.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_negative_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e_neg_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_capital_e_pos_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_fraction_exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_neg_exp.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_neg_overflow.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_pos_exponent.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_pos_overflow.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_real_underflow.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_simple_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_simple_real.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_too_big_neg_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_too_big_pos_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_number_very_big_negative_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_basic.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_duplicated_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_duplicated_key_and_value.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_empty.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_empty_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_escaped_null_in_key.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_extreme_numbers.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_long_strings.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_simple.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_string_unicode.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_object_with_newlines.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_UTF-16_Surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_accepted_surrogate_pair.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_accepted_surrogate_pairs.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_allowed_escapes.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_backslash_and_u_escaped_zero.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_backslash_doublequotes.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_comments.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_double_escape_a.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_double_escape_n.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_escaped_control_character.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_escaped_noncharacter.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_in_array.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_in_array_with_leading_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_last_surrogates_1_and_2.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_newline_uescaped.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+1FFFF.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_null_escape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_one-byte-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_pi.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_simple_ascii.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_space.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_three-byte-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_two-byte-utf-8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_u+2028_line_sep.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_u+2029_par_sep.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_uEscape.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unescaped_char_delete.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicodeEscapedBackslash.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_2.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_U+2064_invisible_plus.json
A
cpan/Cpanel-JSON-XS/t/test_parsing/y_string_unicode_escaped_double_quote.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf16.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf16be.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf32.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf32be.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_utf8.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_string_with_del_character.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_false.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_int.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_negative_real.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_null.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_string.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_lonely_true.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_string_empty.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_trailing_newline.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_true_in_array.json
A cpan/Cpanel-JSON-XS/t/test_parsing/y_structure_whitespace_array.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1.0.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1.000000000000000005.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1000000000000000.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_10000000000000000999.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1e-999.json
A cpan/Cpanel-JSON-XS/t/test_transform/number_1e6.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_key_nfc_nfd.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_key_nfd_nfc.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_different_values.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_same_value.json
A cpan/Cpanel-JSON-XS/t/test_transform/object_same_key_unclear_values.json
A
cpan/Cpanel-JSON-XS/t/test_transform/string_1_escaped_invalid_codepoint.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_1_invalid_codepoint.json
A
cpan/Cpanel-JSON-XS/t/test_transform/string_2_escaped_invalid_codepoints.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_2_invalid_codepoints.json
A
cpan/Cpanel-JSON-XS/t/test_transform/string_3_escaped_invalid_codepoints.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_3_invalid_codepoints.json
A cpan/Cpanel-JSON-XS/t/test_transform/string_with_escaped_NULL.json
A cpan/Cpanel-JSON-XS/t/zero-mojibake.t
A cpan/Cpanel-JSON-XS/typemap
A cpan/Cpanel-JSON-XS/xt/changes.t
A cpan/Cpanel-JSON-XS/xt/checkchanges.t
A cpan/Cpanel-JSON-XS/xt/gh70-asan.t
A cpan/Cpanel-JSON-XS/xt/kwalitee.t
A cpan/Cpanel-JSON-XS/xt/leaktrace.t
A cpan/Cpanel-JSON-XS/xt/manifest.t
A cpan/Cpanel-JSON-XS/xt/meta.t
A cpan/Cpanel-JSON-XS/xt/perl_minimum_version.t
A cpan/Cpanel-JSON-XS/xt/pod-coverage.t
A cpan/Cpanel-JSON-XS/xt/pod-spell-mistakes.t
A cpan/Cpanel-JSON-XS/xt/pod-spelling.t
A cpan/Cpanel-JSON-XS/xt/pod.t
M lib/.gitignore
M win32/GNUmakefile
M win32/Makefile
Log Message:
-----------
core: add Cpanel::JSON::XS
Commit: 4e1ac8a350c892ffd815aa371627cd000f70962d
https://github.com/Perl/perl5/commit/4e1ac8a350c892ffd815aa371627cd000f70962d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/harness
Log Message:
-----------
harness: prioritize tests without saved timings
Commit: cab3529fb498a19cb08bd2b4ee69ac4a1b374c52
https://github.com/Perl/perl5/commit/cab3529fb498a19cb08bd2b4ee69ac4a1b374c52
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
R cpan/Cpanel-JSON-XS/.appveyor.yml
R cpan/Cpanel-JSON-XS/.github/FUNDING.yml
R cpan/Cpanel-JSON-XS/.github/workflows/testsuite.yml
R cpan/Cpanel-JSON-XS/.whitesource
M cpan/Cpanel-JSON-XS/XS.xs
M cpan/Cpanel-JSON-XS/bin/cpanel_json_xs
M cpan/Cpanel-JSON-XS/eg/bench
M cpan/Cpanel-JSON-XS/t/20_unknown.t
M t/porting/filenames.t
A utils/cpanel_json_xs.PL
Log Message:
-----------
core: finish Cpanel JSON XS integration cleanup
Commit: eba7bf4751feb463d6df84f4ce515a2499742e3a
https://github.com/Perl/perl5/commit/eba7bf4751feb463d6df84f4ce515a2499742e3a
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A .agent/skills/perl-configure-build-system/SKILL.md
A
.agent/skills/perl-configure-build-system/references/configure-build-system.md
A .agent/skills/perl-core-archaeology/SKILL.md
A .agent/skills/perl-core-archaeology/references/core-archaeology.md
A .agent/skills/perl-core-build-test-debug/SKILL.md
A .agent/skills/perl-core-build-test-debug/references/testing-debugging.md
A .agent/skills/perl-core-docs-release/SKILL.md
A .agent/skills/perl-core-docs-release/references/docs-release.md
A .agent/skills/perl-core-hacking/SKILL.md
A .agent/skills/perl-core-hacking/references/core-change-workflow.md
A .agent/skills/perl-core-orientation/SKILL.md
A .agent/skills/perl-core-orientation/references/source-map.md
A .agent/skills/perl-core-portability/SKILL.md
A .agent/skills/perl-core-portability/references/core-portability.md
A .agent/skills/perl-embed-fnc/SKILL.md
A .agent/skills/perl-embed-fnc/references/embed-fnc-guide.md
A .agent/skills/perl-generated-files/SKILL.md
A .agent/skills/perl-generated-files/references/generated-files.md
A .agent/skills/perl-language-library/SKILL.md
A .agent/skills/perl-language-library/references/language-library.md
A .agent/skills/perl-parser-optree-ops/SKILL.md
A .agent/skills/perl-parser-optree-ops/references/parser-optree-ops.md
A .agent/skills/perl-regex-engine/SKILL.md
A .agent/skills/perl-regex-engine/references/regex-engine-map.md
A .agent/skills/perl-sv-magic-memory/SKILL.md
A .agent/skills/perl-sv-magic-memory/references/sv-magic-memory.md
A .agent/skills/perl-xs-embedding/SKILL.md
A .agent/skills/perl-xs-embedding/references/xs-embedding.md
M .gitignore
A AGENTS.md
R AI_POLICY.md
A CLAUDE.md
Log Message:
-----------
add skills
Commit: a40233ee48da1de4044773f4123074c376f2111e
https://github.com/Perl/perl5/commit/a40233ee48da1de4044773f4123074c376f2111e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M MANIFEST.SKIP
Log Message:
-----------
porting: exclude agent files from the distribution manifest
Commit: e70c578f0565ec9a4e9579b459dd79c785564bb6
https://github.com/Perl/perl5/commit/e70c578f0565ec9a4e9579b459dd79c785564bb6
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M embed.fnc
M embed.h
M feature.h
M keywords.c
M keywords.h
M lib/feature.pm
M op.c
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perl.pod
M pod/perldelta.pod
A pod/perlnamespace.pod
M pod/perlsyn.pod
M proto.h
M regen/feature.pl
M regen/keywords.pl
A t/comp/namespaces.t
M toke.c
Log Message:
-----------
core: add lexical namespace foundation
Commit: 82121baef955ffa6f266556970daafc1fa40a2b1
https://github.com/Perl/perl5/commit/82121baef955ffa6f266556970daafc1fa40a2b1
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/feature.pm
M lib/warnings.pm
M pod/perlfunc.pod
M regen/feature.pl
M regen/warnings.pl
M t/comp/namespaces.t
M toke.c
M warnings.h
Log Message:
-----------
core: mark namespaces as experimental
Commit: e1541b259dbbcd16525d0652cdf1d96cb5253372
https://github.com/Perl/perl5/commit/e1541b259dbbcd16525d0652cdf1d96cb5253372
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M toke.c
Log Message:
-----------
core: resolve namespace-qualified symbols
Commit: aeb62f0367994bd8fc39c60f0169dee7e02eddb2
https://github.com/Perl/perl5/commit/aeb62f0367994bd8fc39c60f0169dee7e02eddb2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M op.c
M pod/perldiag.pod
M pod/perlfunc.pod
M win32/pod.mak
Log Message:
-----------
core: document namespace APIs and diagnostics
Commit: 67eac546cdd2c7301a6ed24c29087b1cf649d681
https://github.com/Perl/perl5/commit/67eac546cdd2c7301a6ed24c29087b1cf649d681
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/comp/namespaces.t
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
tests: cover namespace test setup and keyword warnings
Commit: 2d52c2c61ec53c88419d465ec27363b388de7e1d
https://github.com/Perl/perl5/commit/2d52c2c61ec53c88419d465ec27363b388de7e1d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M gv.c
Log Message:
-----------
core: exclude namespace keywords from CORE subs
Commit: cfe512aee707c0dd1566fe17e226d98a6167ace8
https://github.com/Perl/perl5/commit/cfe512aee707c0dd1566fe17e226d98a6167ace8
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M t/comp/namespaces.t
M toke.c
Log Message:
-----------
namespaces: support explicit CORE boundaries
Commit: 88055a1a0149d6da29e45197575f7c44815a1d3e
https://github.com/Perl/perl5/commit/88055a1a0149d6da29e45197575f7c44815a1d3e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M ext/Pod-Functions/t/Functions.t
M t/comp/namespaces.t
M t/porting/test_bootstrap.t
M toke.c
Log Message:
-----------
tests: restore feature-off namespace compatibility
Commit: 7f561a55327c9ade79e6e6463908a08a8ad31e24
https://github.com/Perl/perl5/commit/7f561a55327c9ade79e6e6463908a08a8ad31e24
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
tests: account for namespace keywords in deparse sanity check
Commit: a29e1924c4fb11fa675f0126cecc9c9185de751d
https://github.com/Perl/perl5/commit/a29e1924c4fb11fa675f0126cecc9c9185de751d
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/B/Deparse-core.t
Log Message:
-----------
tests: silence experimental comparison warnings
Commit: 67f7e27a0444f37b49e54543a3a159ed4eac7372
https://github.com/Perl/perl5/commit/67f7e27a0444f37b49e54543a3a159ed4eac7372
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M MANIFEST.SKIP
R generator_plan.md
A planning/fork-substrate.md
A planning/generator_plan.md
Log Message:
-----------
docs: keep development plans under planning
Commit: 5c39f3962ee940b13a9232c084f271284ce36da1
https://github.com/Perl/perl5/commit/5c39f3962ee940b13a9232c084f271284ce36da1
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A AI-PERL-MISSION.md
A BLEAD-DELTA.md
M MANIFEST
Log Message:
-----------
docs: add AI Perl mission statement
Commit: af9cdc92a671dd3a31f0bebb6a5859db7e335eba
https://github.com/Perl/perl5/commit/af9cdc92a671dd3a31f0bebb6a5859db7e335eba
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A planning/mainline-policy-inventory.md
Log Message:
-----------
docs: preserve mainline policy inventory
Commit: ff8ddb41c05b0b222c4a684717148dc495ffa6b3
https://github.com/Perl/perl5/commit/ff8ddb41c05b0b222c4a684717148dc495ffa6b3
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M AI-PERL-MISSION.md
M BLEAD-DELTA.md
M pod/perlasync.pod
Log Message:
-----------
docs: clarify prerelease status and generator concurrency
Commit: 6ffd61bb64c664608ca779d54b73903d3bea72c3
https://github.com/Perl/perl5/commit/6ffd61bb64c664608ca779d54b73903d3bea72c3
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M README
Log Message:
-----------
update README to mention this is AI-PERl.
Commit: f7bbe343ffac00d0095c76e742bb0e0e12f54ab9
https://github.com/Perl/perl5/commit/f7bbe343ffac00d0095c76e742bb0e0e12f54ab9
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
A .github/AI-PERL-MISSION.md
A .github/BLEAD-DELTA.md
Log Message:
-----------
docs: add GitHub README link targets
Commit: fb8507cf9c583e5080a8388976f26b7c10651113
https://github.com/Perl/perl5/commit/fb8507cf9c583e5080a8388976f26b7c10651113
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
R .github/AI-PERL-MISSION.md
R .github/BLEAD-DELTA.md
M README
Log Message:
-----------
docs: use stable links in shared README
Commit: f4d5e1ff0fd51a6a30b356e3c13b71ecc58ccfa9
https://github.com/Perl/perl5/commit/f4d5e1ff0fd51a6a30b356e3c13b71ecc58ccfa9
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M BLEAD-DELTA.md
Log Message:
-----------
docs: link delta file references
Commit: 011be0b8cd3a82b382be8154e83c97ae7e96ec79
https://github.com/Perl/perl5/commit/011be0b8cd3a82b382be8154e83c97ae7e96ec79
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M README
Log Message:
-----------
docs: keep README copyright paragraph first
Commit: c9880ed9d2a07919838fa68f068f8611dbf93b67
https://github.com/Perl/perl5/commit/c9880ed9d2a07919838fa68f068f8611dbf93b67
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlasync.pod
M pod/perldelta.pod
M pod/perlfunc.pod
Log Message:
-----------
docs: explain interleaved generators
Commit: c0adb4f1db81329d429dbcf662df75ffafa29038
https://github.com/Perl/perl5/commit/c0adb4f1db81329d429dbcf662df75ffafa29038
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M pod/perl.pod
R pod/perlasync.pod
M pod/perldelta.pod
M pod/perlexperiment.pod
A pod/perlgenerator.pod
M win32/pod.mak
Log Message:
-----------
docs: rename perlasync to perlgenerator
Commit: fdb3a1f487e2d3681edf4d70725dbb335d2f6bdd
https://github.com/Perl/perl5/commit/fdb3a1f487e2d3681edf4d70725dbb335d2f6bdd
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlfunc.pod
Log Message:
-----------
docs: document generator_yield
Commit: cff9a3982dc498866080367d918a5ea588491c5c
https://github.com/Perl/perl5/commit/cff9a3982dc498866080367d918a5ea588491c5c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlgenerator.pod
Log Message:
-----------
docs: organize generator keyword reference
Commit: 5874a861f9969b6736cfc8216647c751081aafbb
https://github.com/Perl/perl5/commit/5874a861f9969b6736cfc8216647c751081aafbb
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlgenerator.pod
Log Message:
-----------
docs: rewrite generator guide for beginners
Commit: a5fb8313980918bec7029031b3c620a680d188b4
https://github.com/Perl/perl5/commit/a5fb8313980918bec7029031b3c620a680d188b4
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlfunc.pod
M pod/perlgenerator.pod
M t/op/generator.t
Log Message:
-----------
test: document generator wantarray behavior
Commit: 448a7e602764915544554de959577d33b34777d2
https://github.com/Perl/perl5/commit/448a7e602764915544554de959577d33b34777d2
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M builtin.c
M embed.fnc
M embed.h
M ext/Opcode/Opcode.pm
M gv.c
M keywords.c
M keywords.h
M lib/B/Deparse-core.t
M lib/B/Deparse.pm
M lib/B/Op_private.pm
M lib/builtin.pm
A lib/generator.pm
M opcode.h
M opnames.h
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/generator_plan.md
M pod/perldelta.pod
M pod/perlexperiment.pod
M pod/perlfunc.pod
M pod/perlgenerator.pod
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M run.c
M t/op/coreamp.t
M t/op/coresubs.t
M t/op/generator.t
M toke.c
Log Message:
-----------
Make generator predicates ordinary builtins
Commit: cc7dc4a84f7f968d1fb9cd229071d580920c7c4c
https://github.com/Perl/perl5/commit/cc7dc4a84f7f968d1fb9cd229071d580920c7c4c
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M pod/perlfunc.pod
M pod/perlgenerator.pod
M run.c
M t/op/generator.t
Log Message:
-----------
Return empty lists after generator completion
Commit: c701df65e829dbf484f0dea5659dfd5c2f58ea6e
https://github.com/Perl/perl5/commit/c701df65e829dbf484f0dea5659dfd5c2f58ea6e
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M embed.h
Log Message:
-----------
update embed.h
Commit: 6c151a1e8039fda57d573360307b7c8d1d1fe6cf
https://github.com/Perl/perl5/commit/6c151a1e8039fda57d573360307b7c8d1d1fe6cf
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
Log Message:
-----------
Remove generator grammar conflicts
Commit: ff14d6da8631678e3468db388ed2fcf871bb1c11
https://github.com/Perl/perl5/commit/ff14d6da8631678e3468db388ed2fcf871bb1c11
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M MANIFEST
M Porting/Maintainers.pl
M pod/perldiag.pod
M pod/perlfunc.pod
M utils/Makefile.PL
M win32/pod.mak
Log Message:
-----------
Fix generator porting metadata
Commit: 535631b7a0b47c8aa7804c625a8ed7cb94c8cbf6
https://github.com/Perl/perl5/commit/535631b7a0b47c8aa7804c625a8ed7cb94c8cbf6
Author: Yves Orton <[email protected]>
Date: 2026-08-30 (Sun, 30 Aug 2026)
Changed paths:
M lib/builtin.pm
Log Message:
-----------
Fix builtin POD line length
Commit: 247c59e5117440cc2fb3ab542e5d26600b005221
https://github.com/Perl/perl5/commit/247c59e5117440cc2fb3ab542e5d26600b005221
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M t/op/generator.t
Log Message:
-----------
Fix unparenthesized generator yields
Commit: f42ed7a676ace8ddf1bab7fdba3aabb27c0fc8b6
https://github.com/Perl/perl5/commit/f42ed7a676ace8ddf1bab7fdba3aabb27c0fc8b6
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M cop.h
M run.c
M t/op/generator.t
Log Message:
-----------
Isolate generator default scalar and arguments
Commit: 2c7af742fd80adc8657c15e325a6bff30b1ef3dd
https://github.com/Perl/perl5/commit/2c7af742fd80adc8657c15e325a6bff30b1ef3dd
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
A planning/generator-coro-context-audit.md
Log Message:
-----------
Add generator and Coro context audit
Commit: 2cab154dd8119c9b1a8092ec2e7a4304adefcdc3
https://github.com/Perl/perl5/commit/2cab154dd8119c9b1a8092ec2e7a4304adefcdc3
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
A planning/perl-pattern-matching.md
Log Message:
-----------
planning/ - add an analysis of how to add pattern matching to perl
Commit: f7c453ba4c0a323c85a591ee5cf1edb96d7eb2dc
https://github.com/Perl/perl5/commit/f7c453ba4c0a323c85a591ee5cf1edb96d7eb2dc
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Document regex pattern matching
Commit: d8f7aa489f4e045c93a1f789cc800fb3cac84931
https://github.com/Perl/perl5/commit/d8f7aa489f4e045c93a1f789cc800fb3cac84931
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Clarify wildcard and tuple patterns
Commit: 00a0e63d16f45fd88744b44a425e99643994bcae
https://github.com/Perl/perl5/commit/00a0e63d16f45fd88744b44a425e99643994bcae
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
Document open array and hash patterns
Commit: 869cd9b7d78670047b5b163da3e7185878a307d2
https://github.com/Perl/perl5/commit/869cd9b7d78670047b5b163da3e7185878a307d2
Author: Yves Orton <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M run.c
M t/op/generator.t
Log Message:
-----------
Keep nested runops inside generators
Commit: dde2b283c03b4881d650f60ccd00fdf3aea425f2
https://github.com/Perl/perl5/commit/dde2b283c03b4881d650f60ccd00fdf3aea425f2
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M planning/generator_plan.md
Log Message:
-----------
Plan generator object and naming API
Commit: a0f58fab58586e93ee9e7f433e06f4637d1dbaee
https://github.com/Perl/perl5/commit/a0f58fab58586e93ee9e7f433e06f4637d1dbaee
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M builtin.c
M embed.fnc
M embed.h
M ext/Opcode/Opcode.pm
M gv.c
M keywords.c
M keywords.h
M lib/B/Deparse-core.t
M lib/B/Deparse.pm
M lib/builtin.pm
M lib/generator.pm
M opcode.h
M opnames.h
M perl.c
M perly.act
M perly.h
M perly.tab
M perly.y
M pp.c
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/keywords.pl
M regen/opcodes
M run.c
M t/op/coreamp.t
M t/op/coresubs.t
M t/op/generator.t
M toke.c
Log Message:
-----------
Redesign generators as blessed callable objects
Commit: c38ffbeb6769474378c64c797e396b3ab7ae3c76
https://github.com/Perl/perl5/commit/c38ffbeb6769474378c64c797e396b3ab7ae3c76
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M pod/perldelta.pod
M pod/perldiag.pod
M pod/perlexperiment.pod
M pod/perlfunc.pod
M pod/perlgenerator.pod
Log Message:
-----------
Document the redesigned generator interface
Commit: 8ca2f804f92cd8d04015237fdb51c77fbb7b81a8
https://github.com/Perl/perl5/commit/8ca2f804f92cd8d04015237fdb51c77fbb7b81a8
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M planning/generator_plan.md
Log Message:
-----------
Mark generator API redesign complete
Commit: fc5a94961f4216925c0063d312179b1d52fab0fb
https://github.com/Perl/perl5/commit/fc5a94961f4216925c0063d312179b1d52fab0fb
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pod/perlexperiment.pod
M pod/perlfunc.pod
M pod/perlgenerator.pod
Log Message:
-----------
Document generator arguments and signatures
Commit: eed8ee2f38c816fed164122529efdd0e31095e5d
https://github.com/Perl/perl5/commit/eed8ee2f38c816fed164122529efdd0e31095e5d
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pod/perlfunc.pod
M pod/perlgenerator.pod
Log Message:
-----------
Expand generator argument examples
Commit: ab93121e29db66153d15306680be7c34af8d56de
https://github.com/Perl/perl5/commit/ab93121e29db66153d15306680be7c34af8d56de
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M pod/perldiag.pod
M pod/perlfunc.pod
Log Message:
-----------
Fix generator porting metadata
Commit: c7e81cea9682812da919107132ad266fc54b95e2
https://github.com/Perl/perl5/commit/c7e81cea9682812da919107132ad266fc54b95e2
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
Log Message:
-----------
Update generator delta for argument forms
Commit: 70294388a1d0dcdaa9dfab32d8d9506373d4570e
https://github.com/Perl/perl5/commit/70294388a1d0dcdaa9dfab32d8d9506373d4570e
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perldelta.pod
M pod/perlnamespace.pod
M t/comp/namespaces.t
Log Message:
-----------
Add block form for namespace declarations
Commit: c24078656e762d73d90a239cdea2302784e78b2d
https://github.com/Perl/perl5/commit/c24078656e762d73d90a239cdea2302784e78b2d
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M dist/Tensor-XS/Changes
M dist/Tensor-XS/OPTIMIZATION_SUCCESS.md
M dist/Tensor-XS/XS.xs
M dist/Tensor-XS/lib/Matrix.pm
M dist/Tensor-XS/lib/Tensor.pm
M dist/Tensor-XS/lib/Vector.pm
Log Message:
-----------
Tensor-XS: move numerical kernels into XS
Commit: ac06c7982451b10bef64f3beaa87e6c8baff48c0
https://github.com/Perl/perl5/commit/ac06c7982451b10bef64f3beaa87e6c8baff48c0
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M dist/Tensor-XS/XS.xs
M dist/Tensor-XS/t/100-vector/130-matrix.t
Log Message:
-----------
Tensor-XS: reject incompatible multiplication sizes
Commit: 509023db53582d1fafa5bd4ab3e0758275766e44
https://github.com/Perl/perl5/commit/509023db53582d1fafa5bd4ab3e0758275766e44
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
R AI-PERL-MISSION.md
M BLEAD-DELTA.md
M README
A XPERL-MISSION.md
Log Message:
-----------
project: rename AI Perl branding to XPerl
Commit: 4add01127cd381468bd5773b805c60d141d011e5
https://github.com/Perl/perl5/commit/4add01127cd381468bd5773b805c60d141d011e5
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M MANIFEST
M Porting/Maintainers.pl
M planning/generator_plan.md
M planning/mainline-policy-inventory.md
A planning/xperl-rename.md
Log Message:
-----------
project: update XPerl metadata and rename plan
Commit: cf6ab626c620dc24b258a15c25b6ed46d44ba580
https://github.com/Perl/perl5/commit/cf6ab626c620dc24b258a15c25b6ed46d44ba580
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M MANIFEST
Log Message:
-----------
porting: keep XPerl mission manifest sorted
Commit: 232474354535eabc9026d12f671814c8803cccf8
https://github.com/Perl/perl5/commit/232474354535eabc9026d12f671814c8803cccf8
Author: Yves Orton <[email protected]>
Date: 2026-09-01 (Tue, 01 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M README
M planning/generator_plan.md
M planning/xperl-rename.md
Log Message:
-----------
docs: use xperl main branch name
Commit: 8825416bccccd32ccc0a2ef0d189c74393e1281f
https://github.com/Perl/perl5/commit/8825416bccccd32ccc0a2ef0d189c74393e1281f
Author: Yves Orton <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M MANIFEST
M cop.h
M lib/generator.pm
A lib/iterator.pm
M run.c
A t/op/iterator.t
Log Message:
-----------
core: add callable iterator lifecycle state
Commit: c1c163d65d60325f75540a588b4dcb688c1930ed
https://github.com/Perl/perl5/commit/c1c163d65d60325f75540a588b4dcb688c1930ed
Author: Yves Orton <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M embed.fnc
M embed.h
M pp_ctl.c
M proto.h
M run.c
M t/op/iterator.t
Log Message:
-----------
core: mark failed iterators during unwinding
Commit: 3d6e7df567d59495f89a842d860963cdaef5ebc4
https://github.com/Perl/perl5/commit/3d6e7df567d59495f89a842d860963cdaef5ebc4
Author: Yves Orton <[email protected]>
Date: 2026-09-02 (Wed, 02 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M pod/perldelta.pod
M pod/perlgenerator.pod
Log Message:
-----------
docs: document callable iterator protocol
Commit: 436b857466a59f9535fa379452dbadc68cbfb3d3
https://github.com/Perl/perl5/commit/436b857466a59f9535fa379452dbadc68cbfb3d3
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M MANIFEST
M Porting/Maintainers.pl
M embed.fnc
M pod/perldiag.pod
Log Message:
-----------
porting: register callable iterator files and diagnostics
Commit: 4de528dfabfd7984ebe0a8c8e55d127475902fc7
https://github.com/Perl/perl5/commit/4de528dfabfd7984ebe0a8c8e55d127475902fc7
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M pod/perl.pod
A pod/perliterator.pod
M win32/pod.mak
Log Message:
-----------
docs: add callable iterator manual
Commit: d0828e6444c5a64b13193ce5390df009da4d0e62
https://github.com/Perl/perl5/commit/d0828e6444c5a64b13193ce5390df009da4d0e62
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/iterator.pm
M pod/perlgenerator.pod
M pod/perliterator.pod
Log Message:
-----------
docs: use feature-provided __SUB__ spelling
Commit: 9da7435315fae17aca1acd127a24be64e4d61b6d
https://github.com/Perl/perl5/commit/9da7435315fae17aca1acd127a24be64e4d61b6d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/iterator.pm
M pod/perliterator.pod
Log Message:
-----------
docs: explain CORE __SUB__ compatibility
Commit: cd7837f5438049373feded4aead2f3ad74b91c8d
https://github.com/Perl/perl5/commit/cd7837f5438049373feded4aead2f3ad74b91c8d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/iterator.pm
M pod/perlgenerator.pod
M pod/perliterator.pod
M t/op/iterator.t
Log Message:
-----------
iterator: add next_val convenience method
Commit: 962d87fee112c93cb79d84cd43653d5a228e4af5
https://github.com/Perl/perl5/commit/962d87fee112c93cb79d84cd43653d5a228e4af5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M lib/iterator.pm
M pod/perlgenerator.pod
M pod/perliterator.pod
Log Message:
-----------
docs: clarify iterator completion contract
Commit: ffa62bd8d960fc64211cd7528ead2b0c7dcb6f0e
https://github.com/Perl/perl5/commit/ffa62bd8d960fc64211cd7528ead2b0c7dcb6f0e
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M lib/iterator.pm
M pod/perliterator.pod
M t/op/iterator.t
Log Message:
-----------
iterator: define restart protocol
Commit: 512aced070705369bc3047fa261de2ff001c572d
https://github.com/Perl/perl5/commit/512aced070705369bc3047fa261de2ff001c572d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M embed.fnc
M embed.h
M lib/iterator.pm
M pod/perlgenerator.pod
M pod/perliterator.pod
M pp_ctl.c
M proto.h
M run.c
M t/op/iterator.t
Log Message:
-----------
iterator: make failure state explicit
Commit: 321ffdf0c95be2e9d67fa2250384c9b39332f377
https://github.com/Perl/perl5/commit/321ffdf0c95be2e9d67fa2250384c9b39332f377
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M pod/perldelta.pod
M pod/perliterator.pod
Log Message:
-----------
docs: correct iterator failure semantics
Commit: 101722b580e24c95793e8f3607458552a02fdbae
https://github.com/Perl/perl5/commit/101722b580e24c95793e8f3607458552a02fdbae
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/iterator.pm
M pod/perliterator.pod
Log Message:
-----------
docs: keep generator details in generator manual
Commit: cf1acfdb1d9f5dac6051e810985ee7439568247e
https://github.com/Perl/perl5/commit/cf1acfdb1d9f5dac6051e810985ee7439568247e
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/overload.t
Log Message:
-----------
Avoid iterator namespace collision in overload test
Commit: 22c2c23d369de8656ad3b937f1ac45f015355abb
https://github.com/Perl/perl5/commit/22c2c23d369de8656ad3b937f1ac45f015355abb
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
R .agent/skills/perl-configure-build-system/SKILL.md
R
.agent/skills/perl-configure-build-system/references/configure-build-system.md
R .agent/skills/perl-core-archaeology/SKILL.md
R .agent/skills/perl-core-archaeology/references/core-archaeology.md
R .agent/skills/perl-core-build-test-debug/SKILL.md
R .agent/skills/perl-core-build-test-debug/references/testing-debugging.md
R .agent/skills/perl-core-docs-release/SKILL.md
R .agent/skills/perl-core-docs-release/references/docs-release.md
R .agent/skills/perl-core-hacking/SKILL.md
R .agent/skills/perl-core-hacking/references/core-change-workflow.md
R .agent/skills/perl-core-orientation/SKILL.md
R .agent/skills/perl-core-orientation/references/source-map.md
R .agent/skills/perl-core-portability/SKILL.md
R .agent/skills/perl-core-portability/references/core-portability.md
R .agent/skills/perl-embed-fnc/SKILL.md
R .agent/skills/perl-embed-fnc/references/embed-fnc-guide.md
R .agent/skills/perl-generated-files/SKILL.md
R .agent/skills/perl-generated-files/references/generated-files.md
R .agent/skills/perl-language-library/SKILL.md
R .agent/skills/perl-language-library/references/language-library.md
R .agent/skills/perl-parser-optree-ops/SKILL.md
R .agent/skills/perl-parser-optree-ops/references/parser-optree-ops.md
R .agent/skills/perl-regex-engine/SKILL.md
R .agent/skills/perl-regex-engine/references/regex-engine-map.md
R .agent/skills/perl-sv-magic-memory/SKILL.md
R .agent/skills/perl-sv-magic-memory/references/sv-magic-memory.md
R .agent/skills/perl-xs-embedding/SKILL.md
R .agent/skills/perl-xs-embedding/references/xs-embedding.md
A .agents/skills/perl-configure-build-system/SKILL.md
A
.agents/skills/perl-configure-build-system/references/configure-build-system.md
A .agents/skills/perl-core-archaeology/SKILL.md
A .agents/skills/perl-core-archaeology/references/core-archaeology.md
A .agents/skills/perl-core-build-test-debug/SKILL.md
A .agents/skills/perl-core-build-test-debug/references/testing-debugging.md
A .agents/skills/perl-core-docs-release/SKILL.md
A .agents/skills/perl-core-docs-release/references/docs-release.md
A .agents/skills/perl-core-hacking/SKILL.md
A .agents/skills/perl-core-hacking/references/core-change-workflow.md
A .agents/skills/perl-core-orientation/SKILL.md
A .agents/skills/perl-core-orientation/references/source-map.md
A .agents/skills/perl-core-portability/SKILL.md
A .agents/skills/perl-core-portability/references/core-portability.md
A .agents/skills/perl-embed-fnc/SKILL.md
A .agents/skills/perl-embed-fnc/references/embed-fnc-guide.md
A .agents/skills/perl-generated-files/SKILL.md
A .agents/skills/perl-generated-files/references/generated-files.md
A .agents/skills/perl-language-library/SKILL.md
A .agents/skills/perl-language-library/references/language-library.md
A .agents/skills/perl-parser-optree-ops/SKILL.md
A .agents/skills/perl-parser-optree-ops/references/parser-optree-ops.md
A .agents/skills/perl-regex-engine/SKILL.md
A .agents/skills/perl-regex-engine/references/regex-engine-map.md
A .agents/skills/perl-sv-magic-memory/SKILL.md
A .agents/skills/perl-sv-magic-memory/references/sv-magic-memory.md
A .agents/skills/perl-xs-embedding/SKILL.md
A .agents/skills/perl-xs-embedding/references/xs-embedding.md
M AGENTS.md
M BLEAD-DELTA.md
M CLAUDE.md
M MANIFEST
M cop.h
M embed.fnc
M embed.h
M ext/Opcode/Opcode.pm
M feature.h
M gv.c
M inline.h
M keywords.c
M keywords.h
M lib/B/Deparse-core.t
M lib/B/Op_private.pm
M lib/feature.pm
M op.c
M op.h
M opcode.h
M opnames.h
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
A planning/IDEAS.md
M planning/perl-pattern-matching.md
M pod/perl.pod
A pod/perlcasewhen.pod
M pod/perldelta.pod
M pod/perldiag.pod
M pod/perlnamespace.pod
M pod/perlsyn.pod
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/feature.pl
M regen/keywords.pl
M regen/opcodes
M sv.c
A t/comp/case_match.t
M t/op/coreamp.t
M t/op/coresubs.t
M t/porting/test_bootstrap.t
M toke.c
Log Message:
-----------
mega-patch, unsquash me
Commit: 8c4765a3379433c5a81e21fc89bff81659802212
https://github.com/Perl/perl5/commit/8c4765a3379433c5a81e21fc89bff81659802212
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M MANIFEST
M pod/perlnamespace.pod
M pp_ctl.c
M win32/pod.mak
Log Message:
-----------
porting: fix pattern matching metadata checks
Commit: c97093002b3958071c1ba2f9840245460eb81142
https://github.com/Perl/perl5/commit/c97093002b3958071c1ba2f9840245460eb81142
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M pod/perlcasewhen.pod
M pp_ctl.c
Log Message:
-----------
case: fast-path simple scalar patterns
Commit: ccd247a4b67743bcdffd2f6d1de964a8fd6093df
https://github.com/Perl/perl5/commit/ccd247a4b67743bcdffd2f6d1de964a8fd6093df
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
docs: record pattern matching implementation checkpoint
Commit: 68d6739d09f90562659577a68ccd14e08338f0e5
https://github.com/Perl/perl5/commit/68d6739d09f90562659577a68ccd14e08338f0e5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M embed.h
Log Message:
-----------
regen: refresh embed header defines
Commit: 06f45a505c39db5c8eba878b2d8b5788dbd53da2
https://github.com/Perl/perl5/commit/06f45a505c39db5c8eba878b2d8b5788dbd53da2
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M embed.h
M op.h
M pp_ctl.c
Log Message:
-----------
case: distinguish complex pattern classification
Commit: 3944cded8418709b91b5d63be1e26380da1be6bd
https://github.com/Perl/perl5/commit/3944cded8418709b91b5d63be1e26380da1be6bd
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M pp_ctl.c
Log Message:
-----------
case: name pattern classifications directly
Commit: 4302d57a7c418d5cd4f5d4dce020fdd8292c9d27
https://github.com/Perl/perl5/commit/4302d57a7c418d5cd4f5d4dce020fdd8292c9d27
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
M pod/perlcasewhen.pod
Log Message:
-----------
docs: describe boolean case constants
Commit: f6649e7f95eec2be4cf4ec8f71f92868a64bfeed
https://github.com/Perl/perl5/commit/f6649e7f95eec2be4cf4ec8f71f92868a64bfeed
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
case: apply truth-value semantics to boolean patterns
Commit: 53d4fa8b2a982d7edfb3e996a26becf4907d485d
https://github.com/Perl/perl5/commit/53d4fa8b2a982d7edfb3e996a26becf4907d485d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
M pod/perlcasewhen.pod
Log Message:
-----------
docs: describe boolean case pattern semantics
Commit: c145cc74b3bc96b89f96d92e15db2e9f29bcbe50
https://github.com/Perl/perl5/commit/c145cc74b3bc96b89f96d92e15db2e9f29bcbe50
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M t/porting/test_bootstrap.t
Log Message:
-----------
tests: allow builtin imports in case matching test
Commit: af2f9b789439f5b8a70fb750f41fc067d50f71df
https://github.com/Perl/perl5/commit/af2f9b789439f5b8a70fb750f41fc067d50f71df
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
planning: specify constant case dispatch representations
Commit: 608b8f35e7c7c74c555515c8374eb07e8634978f
https://github.com/Perl/perl5/commit/608b8f35e7c7c74c555515c8374eb07e8634978f
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
planning: add constant dispatch benchmark matrix
Commit: 9a8d1dda5445c1a741b21b6b0a16becbf67086c7
https://github.com/Perl/perl5/commit/9a8d1dda5445c1a741b21b6b0a16becbf67086c7
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/B/Op_private.pm
M opcode.h
M opnames.h
M planning/perl-pattern-matching.md
M pp_ctl.c
M pp_proto.h
M regen/opcodes
Log Message:
-----------
case: add constant dispatch opcode seam
Commit: e1a54c65519b50f82acea304685b756fb588de60
https://github.com/Perl/perl5/commit/e1a54c65519b50f82acea304685b756fb588de60
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M inline.h
M op.c
M op.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M proto.h
M t/comp/case_match.t
Log Message:
-----------
case: add pure constant dispatch plan
Commit: d249203c50a31ad68e2c594f8358fcab4b5a8f86
https://github.com/Perl/perl5/commit/d249203c50a31ad68e2c594f8358fcab4b5a8f86
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
planning: record constant dispatch implementation slice
Commit: 4eacd91132a36866d875b2d11e7b6a2bfd42830e
https://github.com/Perl/perl5/commit/4eacd91132a36866d875b2d11e7b6a2bfd42830e
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
case: add shared string bounds to dispatch
Commit: e800cc56a64576e97d025cb407dad07b3c560b44
https://github.com/Perl/perl5/commit/e800cc56a64576e97d025cb407dad07b3c560b44
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
Log Message:
-----------
case: store PV dispatch bounds
Commit: 8cd85efcc4c08810c58ec15250aae229b285028e
https://github.com/Perl/perl5/commit/8cd85efcc4c08810c58ec15250aae229b285028e
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
case: use stored PV lengths for dispatch bounds
Commit: 11af551e3c23052de6042a7930a0eb0738d2d3a9
https://github.com/Perl/perl5/commit/11af551e3c23052de6042a7930a0eb0738d2d3a9
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M pp_ctl.c
Log Message:
-----------
case: add forced HV constant dispatch
Commit: a8c21985c3bf78f1b242b56d3138765133299216
https://github.com/Perl/perl5/commit/a8c21985c3bf78f1b242b56d3138765133299216
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
Log Message:
-----------
planning: record HV dispatch checkpoint
Commit: c6c1208af9285250449e8b44e6e96106cdb0183b
https://github.com/Perl/perl5/commit/c6c1208af9285250449e8b44e6e96106cdb0183b
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
case: reduce constant dispatch setup overhead
Commit: 8e793b7e24c1695ae4415c9533d707d827a2c33d
https://github.com/Perl/perl5/commit/8e793b7e24c1695ae4415c9533d707d827a2c33d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M planning/perl-pattern-matching.md
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
case: optimize dispatch around wildcard defaults
Commit: f70b86e08e816f03770f4a673dfb649d53593e12
https://github.com/Perl/perl5/commit/f70b86e08e816f03770f4a673dfb649d53593e12
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
Log Message:
-----------
case: jump directly to constant dispatch arms
Commit: 896af7b32d9b1331b3131ac910de9d8d03526977
https://github.com/Perl/perl5/commit/896af7b32d9b1331b3131ac910de9d8d03526977
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M pp_ctl.c
Log Message:
-----------
case: elide empty wildcard defaults
Commit: 16b2373213650ca16316bafa526ff17abec0c575
https://github.com/Perl/perl5/commit/16b2373213650ca16316bafa526ff17abec0c575
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/IDEAS.md
Log Message:
-----------
planning: add AI benchmark tooling idea
Commit: c5fe5d6fa8e1dccf992e12cb334d3661b9a470f9
https://github.com/Perl/perl5/commit/c5fe5d6fa8e1dccf992e12cb334d3661b9a470f9
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
case: optimize empty default misses
Commit: d03619f839bca536a546c55b58eb846f10f3224f
https://github.com/Perl/perl5/commit/d03619f839bca536a546c55b58eb846f10f3224f
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
M pp_ctl.c
Log Message:
-----------
case: add binary constant dispatch
Commit: 9bfbf9cb374d4e0b04779a333b4c57f585537977
https://github.com/Perl/perl5/commit/9bfbf9cb374d4e0b04779a333b4c57f585537977
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.h
M planning/perl-pattern-matching.md
M pp_ctl.c
Log Message:
-----------
case: add exact constant dispatch bounds
Commit: 6fddb065a731d7b1208d1db8bef9089cd0ba0db9
https://github.com/Perl/perl5/commit/6fddb065a731d7b1208d1db8bef9089cd0ba0db9
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
case: reduce constant dispatch overhead
Commit: 3964be41eba4e67757ea05b3b7f10670051528bc
https://github.com/Perl/perl5/commit/3964be41eba4e67757ea05b3b7f10670051528bc
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cop.h
M perl.h
M pp_ctl.c
Log Message:
-----------
case: add dedicated context representation
Commit: fffa0e0515eff1d408cc2e51761734bf323843fb
https://github.com/Perl/perl5/commit/fffa0e0515eff1d408cc2e51761734bf323843fb
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M inline.h
M lib/B/Op_private.pm
M op.c
M opcode.h
M opnames.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/embed.pl
M regen/opcodes
Log Message:
-----------
case: use a dedicated outer execution context
Commit: 4cea0674f315556de2a59ef6e2c3c81d2a4391c5
https://github.com/Perl/perl5/commit/4cea0674f315556de2a59ef6e2c3c81d2a4391c5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cop.h
M embed.fnc
M embed.h
M inline.h
M op.c
M pp_ctl.c
M proto.h
Log Message:
-----------
case: separate case state from given state
Commit: dc5fcab864282e8a5283fc4e4c5d82629216831c
https://github.com/Perl/perl5/commit/dc5fcab864282e8a5283fc4e4c5d82629216831c
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M inline.h
M op.c
M op.h
M pp_ctl.c
M t/comp/case_match.t
Log Message:
-----------
case: fix labelled redo subject state
Commit: ef30bf30abc054ac250918bc18bec3300561c55d
https://github.com/Perl/perl5/commit/ef30bf30abc054ac250918bc18bec3300561c55d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M op.c
Log Message:
-----------
op: document newCASEOP for autodoc
Commit: 66f3c0fc2365b95355e312448f17ecac38960b9b
https://github.com/Perl/perl5/commit/66f3c0fc2365b95355e312448f17ecac38960b9b
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M ext/Opcode/Opcode.pm
M regen/embed.pl
Log Message:
-----------
case: fix opcode and visibility metadata
Commit: 9608527cf3a0c026669b13c54067b39095f63a44
https://github.com/Perl/perl5/commit/9608527cf3a0c026669b13c54067b39095f63a44
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
A planning/scripts/case_dispatch_compare.pl
A planning/scripts/case_dispatch_weight.pl
Log Message:
-----------
planning: keep case dispatch benchmarks
Commit: 954ca81c67e72d1feb75964a990f979f82ddabc7
https://github.com/Perl/perl5/commit/954ca81c67e72d1feb75964a990f979f82ddabc7
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M regen/embed.pl
Log Message:
-----------
visibility: keep CXt_CASE available to extensions
Commit: 533f4046fe682973c8e51bf82a2d3275ef04978b
https://github.com/Perl/perl5/commit/533f4046fe682973c8e51bf82a2d3275ef04978b
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/scripts/case_dispatch_compare.pl
M planning/scripts/case_dispatch_weight.pl
A planning/scripts/case_given_compare.pl
M pod/perlcasewhen.pod
Log Message:
-----------
planning: expand case dispatch benchmarks
Commit: 3aed0eb594ca4665cbfab29e4ac085acb4b5e897
https://github.com/Perl/perl5/commit/3aed0eb594ca4665cbfab29e4ac085acb4b5e897
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
Log Message:
-----------
docs: update XPerl delta for case dispatch
Commit: d396d07bde51670eacb0c7dc5028b6c997485b72
https://github.com/Perl/perl5/commit/d396d07bde51670eacb0c7dc5028b6c997485b72
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M opcode.h
M pp_ctl.c
M regen/opcodes
Log Message:
-----------
case: reuse target for HV dispatch keys
Commit: 4597dbbea38f5ce4e830d446831e82dbdad4662d
https://github.com/Perl/perl5/commit/4597dbbea38f5ce4e830d446831e82dbdad4662d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
case: reset reusable dispatch keys in place
Commit: 43dfe2bd39ff09ea9056579258db979a27dff4f5
https://github.com/Perl/perl5/commit/43dfe2bd39ff09ea9056579258db979a27dff4f5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/scripts/case_given_compare.pl
Log Message:
-----------
bench: extend case dispatch sweep to 2048 arms
Commit: 61a02a285dea9b2ab67ec01626b6e07cbcea6431
https://github.com/Perl/perl5/commit/61a02a285dea9b2ab67ec01626b6e07cbcea6431
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
Log Message:
-----------
case: prefer binary dispatch automatically
Commit: d586ceff70f459c4ad65f8f3b0dcd7c5f44a7f89
https://github.com/Perl/perl5/commit/d586ceff70f459c4ad65f8f3b0dcd7c5f44a7f89
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M planning/perl-pattern-matching.md
M pp_ctl.c
Log Message:
-----------
case: tune automatic array dispatch threshold
Commit: 136fdf6f86a466dd14b82c09b8d36cd8c46f5b4c
https://github.com/Perl/perl5/commit/136fdf6f86a466dd14b82c09b8d36cd8c46f5b4c
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M builtin.c
M lib/builtin.pm
M pod/perldelta.pod
M pod/perlrun.pod
M t/run/switches.t
M toke.c
Log Message:
-----------
perl: make -E enable all experimental APIs
Commit: 4f58fe0dd9aebd2fe7c6e2d4b90a7dc66449b2bb
https://github.com/Perl/perl5/commit/4f58fe0dd9aebd2fe7c6e2d4b90a7dc66449b2bb
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
Log Message:
-----------
docs: update XPerl delta for -E bundles
Commit: d9cc11650f7ded77ff30e20dbdd5b7b57ec8a987
https://github.com/Perl/perl5/commit/d9cc11650f7ded77ff30e20dbdd5b7b57ec8a987
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M embed.fnc
M embed.h
M lib/B/Op_private.pm
M opcode.h
M peep.c
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/perl-pattern-matching.md
M pp_ctl.c
M proto.h
M regen/op_private
M t/comp/case_match.t
Log Message:
-----------
case: support simple concatenation patterns
Commit: ac31116db38da17e5432de4d98810d1d105f6b55
https://github.com/Perl/perl5/commit/ac31116db38da17e5432de4d98810d1d105f6b55
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M pod/perlcasewhen.pod
M pod/perlsyn.pod
Log Message:
-----------
docs: describe case concatenation patterns
Commit: 4aa0ac5fb206766ae8344278dfc79d843568a65e
https://github.com/Perl/perl5/commit/4aa0ac5fb206766ae8344278dfc79d843568a65e
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M embed.h
M regen/embed.pl
Log Message:
-----------
regen: keep concat pattern flags visible to extensions
Commit: effb73d7718434c507c51743cbb94af06c4d08b5
https://github.com/Perl/perl5/commit/effb73d7718434c507c51743cbb94af06c4d08b5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pp_ctl.c
M regen/embed.pl
Log Message:
-----------
build: fix concat pattern API visibility
Commit: 1f58e8bdaa38ce0a7c7affeb78b57a48f909e07b
https://github.com/Perl/perl5/commit/1f58e8bdaa38ce0a7c7affeb78b57a48f909e07b
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M builtin.c
M t/comp/case_match.t
M toke.c
Log Message:
-----------
case: allow wildcard patterns under strict subs
Commit: 6e056418b7fe4906f6d20400c0a320e86debf5f0
https://github.com/Perl/perl5/commit/6e056418b7fe4906f6d20400c0a320e86debf5f0
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
A planning/case_match_todo.md
Log Message:
-----------
planning: detail remaining case match work
Commit: 97d55fd96fb71f1349b0c78a25d20331228e4327
https://github.com/Perl/perl5/commit/97d55fd96fb71f1349b0c78a25d20331228e4327
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M t/porting/test_bootstrap.t
Log Message:
-----------
porting: allow case match version declaration
Commit: c868b19bcec0761bdae428dc7b191166fddabec5
https://github.com/Perl/perl5/commit/c868b19bcec0761bdae428dc7b191166fddabec5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M embed.fnc
M embed.h
M op.h
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlcasewhen.pod
M pp_ctl.c
M proto.h
M t/comp/case_match.t
M toke.c
Log Message:
-----------
case_match: make pattern names implicit lexical bindings
Commit: 1dfb1adf365f56b3e16865d16035aafb94c9c441
https://github.com/Perl/perl5/commit/1dfb1adf365f56b3e16865d16035aafb94c9c441
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M planning/case_match_todo.md
M pod/perl.pod
A pod/perlcasematch.pod
R pod/perlcasewhen.pod
M pod/perldelta.pod
M pod/perlsyn.pod
M win32/pod.mak
Log Message:
-----------
docs: rename case matching manual
Commit: 7acd824a467b54ab439ca1c7b5499b26c78243f3
https://github.com/Perl/perl5/commit/7acd824a467b54ab439ca1c7b5499b26c78243f3
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M t/porting/test_bootstrap.t
Log Message:
-----------
tests: allow deliberate pragmas in case match test
Commit: 6ca93b170a4f6ed43ee03a7530483c8d6629cc69
https://github.com/Perl/perl5/commit/6ca93b170a4f6ed43ee03a7530483c8d6629cc69
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cop.h
M dump.c
M embed.fnc
M embed.h
M inline.h
M lib/B/Op_private.pm
M op.c
M opcode.h
M opnames.h
M peep.c
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/embed.pl
M regen/opcodes
M sv.c
Log Message:
-----------
Separate case match from given when
Commit: 6212d764370951a59ed93bb2c09501d048d09d72
https://github.com/Perl/perl5/commit/6212d764370951a59ed93bb2c09501d048d09d72
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M ext/Opcode/Opcode.pm
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perldiag.pod
M t/comp/case_match.t
Log Message:
-----------
Reject match arms outside case
Commit: dc0d936ac95a3fbda381f4c201ba3732cfa953ed
https://github.com/Perl/perl5/commit/dc0d936ac95a3fbda381f4c201ba3732cfa953ed
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M cop.h
M dump.c
M embed.fnc
M embed.h
M ext/Opcode/Opcode.pm
M feature.h
M gv.c
M inline.h
M keywords.c
M keywords.h
M lib/B/Op_private.pm
M lib/feature.pm
M op.c
M opcode.h
M opnames.h
M parser.h
M peep.c
M perly.act
M perly.h
M perly.tab
M perly.y
R planning/case_match_todo.md
A planning/dispatch_on_todo.md
M planning/perl-pattern-matching.md
R planning/scripts/case_dispatch_compare.pl
R planning/scripts/case_dispatch_weight.pl
R planning/scripts/case_given_compare.pl
A planning/scripts/dispatch_given_compare.pl
A planning/scripts/dispatch_on_compare.pl
A planning/scripts/dispatch_on_weight.pl
M pod/perl.pod
R pod/perlcasematch.pod
M pod/perldelta.pod
M pod/perldiag.pod
A pod/perldispatch.pod
M pod/perlsyn.pod
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/embed.pl
M regen/feature.pl
M regen/keywords.pl
M regen/opcodes
M sv.c
R t/comp/case_match.t
A t/comp/dispatch_on.t
M t/porting/test_bootstrap.t
M toke.c
M win32/pod.mak
Log Message:
-----------
Rename structural dispatch syntax to dispatch and on
Commit: bdc9c75c77c83d79958436edb67375f677d311d5
https://github.com/Perl/perl5/commit/bdc9c75c77c83d79958436edb67375f677d311d5
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M embed.h
M keywords.c
M keywords.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perldispatch.pod
M pp_ctl.c
M regen/keywords.pl
M t/comp/dispatch_on.t
M toke.c
Log Message:
-----------
Add value-kind criteria to dispatch patterns
Commit: 56a267c60ba2f7df23a959c5982a07c9cdac267d
https://github.com/Perl/perl5/commit/56a267c60ba2f7df23a959c5982a07c9cdac267d
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M MANIFEST
M perly.act
M perly.h
M perly.tab
M perly.y
M pp_ctl.c
M win32/pod.mak
Log Message:
-----------
Keep dispatch criteria parsing non-reserving
Commit: 3c70ffc7dda1788819f908bdf53657eccfb33f72
https://github.com/Perl/perl5/commit/3c70ffc7dda1788819f908bdf53657eccfb33f72
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pod/perl.pod
Log Message:
-----------
Fix dispatch POD catalogue line length
Commit: 2b082013a4567ebca28ce2fd026cac3bfd28f692
https://github.com/Perl/perl5/commit/2b082013a4567ebca28ce2fd026cac3bfd28f692
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M MANIFEST
Log Message:
-----------
Sync dispatch POD description in MANIFEST
Commit: 278c3a9cfa31539c5a544d0565dd264a538230dd
https://github.com/Perl/perl5/commit/278c3a9cfa31539c5a544d0565dd264a538230dd
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M MANIFEST
M cop.h
M dump.c
M embed.fnc
M embed.h
M ext/Opcode/Opcode.pm
M feature.h
M gv.c
M inline.h
M keywords.c
M keywords.h
M lib/B/Op_private.pm
M lib/feature.pm
M op.c
M opcode.h
M opnames.h
M parser.h
M peep.c
M perly.act
M perly.h
M perly.tab
M perly.y
A planning/case_match_todo.md
R planning/dispatch_on_todo.md
M planning/perl-pattern-matching.md
A planning/scripts/case_dispatch_compare.pl
A planning/scripts/case_dispatch_weight.pl
A planning/scripts/case_given_compare.pl
R planning/scripts/dispatch_given_compare.pl
R planning/scripts/dispatch_on_compare.pl
R planning/scripts/dispatch_on_weight.pl
M pod/perl.pod
A pod/perlcasematch.pod
M pod/perldelta.pod
M pod/perldiag.pod
R pod/perldispatch.pod
M pod/perlsyn.pod
M pp_ctl.c
M pp_proto.h
M proto.h
M regen/embed.pl
M regen/feature.pl
M regen/keywords.pl
M regen/opcodes
M sv.c
A t/comp/case_match.t
R t/comp/dispatch_on.t
M t/porting/test_bootstrap.t
M toke.c
M win32/pod.mak
Log Message:
-----------
Rename structural dispatch syntax back to case and match
Commit: cdb159ce853cf6c9643909a96c4deb3c9b0ddbda
https://github.com/Perl/perl5/commit/cdb159ce853cf6c9643909a96c4deb3c9b0ddbda
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M keywords.c
M keywords.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlcasematch.pod
M regen/keywords.pl
M t/comp/case_match.t
Log Message:
-----------
Restore case and match syntax
Commit: 12ee1e80ddfc9e4b0f9597f725f92d0b7a5182e7
https://github.com/Perl/perl5/commit/12ee1e80ddfc9e4b0f9597f725f92d0b7a5182e7
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M cop.h
M embed.h
M ext/Opcode/Opcode.pm
M inline.h
M op.c
M op.h
M opcode.h
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
M planning/case_match_todo.md
M planning/perl-pattern-matching.md
M planning/scripts/case_dispatch_compare.pl
M planning/scripts/case_dispatch_weight.pl
M planning/scripts/case_given_compare.pl
M pod/perlcasematch.pod
M pod/perldelta.pod
M pod/perldiag.pod
M pod/perlsyn.pod
M pp_ctl.c
M regen/opcodes
M t/comp/case_match.t
M toke.c
Log Message:
-----------
Use clause terminology for case matching
Commit: ef2109358c3f34f62fa09ffd839f5b8cf2e5ec18
https://github.com/Perl/perl5/commit/ef2109358c3f34f62fa09ffd839f5b8cf2e5ec18
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M lib/B/Deparse-core.t
M pod/perldiag.pod
M pp_ctl.c
M t/op/coreamp.t
M t/op/coresubs.t
Log Message:
-----------
Fix parser-only keyword test metadata
Commit: 55ab3bdd7e9b19da7685d49cce7b530a397c3fae
https://github.com/Perl/perl5/commit/55ab3bdd7e9b19da7685d49cce7b530a397c3fae
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlcasematch.pod
M pod/perldelta.pod
M t/comp/case_match.t
M toke.c
Log Message:
-----------
Support multiple case pins without namespaces
Commit: 2a3cfc0ac1953edfee7d1ce11537596ec88f74aa
https://github.com/Perl/perl5/commit/2a3cfc0ac1953edfee7d1ce11537596ec88f74aa
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M pod/perlcasematch.pod
Log Message:
-----------
Wrap case matching documentation
Commit: 4e3f351b6ab3e765d4f58edd5bbc911d552a2c37
https://github.com/Perl/perl5/commit/4e3f351b6ab3e765d4f58edd5bbc911d552a2c37
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M BLEAD-DELTA.md
M embed.h
M lib/B/Op_private.pm
M op.h
M opcode.h
M parser.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlcasematch.pod
M pod/perldelta.pod
M pp_ctl.c
M regen/op_private
M t/comp/case_match.t
M toke.c
Log Message:
-----------
Extend case patterns with slurps and typed targets
Commit: 8a035c20fc68584d9c380bfd868336373b589ec0
https://github.com/Perl/perl5/commit/8a035c20fc68584d9c380bfd868336373b589ec0
Author: Yves Orton <[email protected]>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M embed.h
M regen/embed.pl
Log Message:
-----------
Keep case opcode metadata visible to extensions
Compare: https://github.com/Perl/perl5/compare/0cc8240c8fd3%5E...8a035c20fc68
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications