diff -Nru libb-keywords-perl-1.22/Changes libb-keywords-perl-1.23/Changes --- libb-keywords-perl-1.22/Changes 2021-02-22 08:42:37.000000000 +0000 +++ libb-keywords-perl-1.23/Changes 2021-10-30 12:33:38.000000000 +0000 @@ -95,4 +95,9 @@ - improved t/z_kwalitee.t 1.22 2021-02-22 09:42:18 rurban - add try/catch by Tom Wyant - \ No newline at end of file +1.23 2021-10-30 12:52:43 rurban + - relax bogus blead test failures + - add reverse test: if @Barewords are covered on keywords.h + - move some @Barewords not in keywords.h to @BarewordsExtra + - add %main, %CORE, %CORE::GLOBAL:: to @Hashes + - fixed versions for EQ, CORE, state, break, given, when, default, UNITCHECK diff -Nru libb-keywords-perl-1.22/debian/changelog libb-keywords-perl-1.23/debian/changelog --- libb-keywords-perl-1.22/debian/changelog 2021-02-25 18:43:43.000000000 +0000 +++ libb-keywords-perl-1.23/debian/changelog 2021-10-30 23:36:21.000000000 +0000 @@ -1,3 +1,11 @@ +libb-keywords-perl (1.23-1) unstable; urgency=medium + + * Import upstream version 1.23. + * Update years of upstream copyright. + * Declare compliance with Debian Policy 4.6.0. + + -- gregor herrmann Sun, 31 Oct 2021 01:36:21 +0200 + libb-keywords-perl (1.22-1) unstable; urgency=medium [ Debian Janitor ] diff -Nru libb-keywords-perl-1.22/debian/control libb-keywords-perl-1.23/debian/control --- libb-keywords-perl-1.22/debian/control 2021-02-25 18:43:43.000000000 +0000 +++ libb-keywords-perl-1.23/debian/control 2021-10-30 23:36:21.000000000 +0000 @@ -7,7 +7,7 @@ Priority: optional Build-Depends: debhelper-compat (= 13) Build-Depends-Indep: perl -Standards-Version: 4.5.1 +Standards-Version: 4.6.0 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libb-keywords-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libb-keywords-perl.git Homepage: https://metacpan.org/release/B-Keywords diff -Nru libb-keywords-perl-1.22/debian/copyright libb-keywords-perl-1.23/debian/copyright --- libb-keywords-perl-1.22/debian/copyright 2021-02-25 18:43:43.000000000 +0000 +++ libb-keywords-perl-1.23/debian/copyright 2021-10-30 23:36:21.000000000 +0000 @@ -5,7 +5,7 @@ Files: * Copyright: 2003-2009, Joshua ben Jore - 2013-2019, Reini Urban + 2013-2021, Reini Urban License: GPL-2 or Artistic Files: debian/* diff -Nru libb-keywords-perl-1.22/lib/B/Keywords.pm libb-keywords-perl-1.23/lib/B/Keywords.pm --- libb-keywords-perl-1.22/lib/B/Keywords.pm 2021-02-22 08:42:49.000000000 +0000 +++ libb-keywords-perl-1.23/lib/B/Keywords.pm 2021-10-30 12:33:38.000000000 +0000 @@ -14,7 +14,7 @@ %EXPORT_TAGS = ( 'all' => \@EXPORT_OK ); use vars '$VERSION'; -$VERSION = '1.22'; +$VERSION = '1.23'; my $CPERL = $^V =~ /c$/ ? 1 : 0; use vars '@Scalars'; @@ -101,6 +101,9 @@ use vars '@Hashes'; @Hashes = qw( + %main + %CORE + %CORE::GLOBAL:: %OVERLOAD %+ %LAST_MATCH_END %- %LAST_MATCH_START @@ -137,10 +140,13 @@ # INIT was called RESTART before 5.004_50 ($] >= 5.006 ? qw(INIT) : qw(RESTART)), + # removed with 855a8c432447 ($] < 5.007003 ? qw( EQ GE GT LE LT NE - ) : ()), qw( + ) : ()), + ($] >= 5.009005 ? qw( UNITCHECK + ) : ()), qw( abs accept alarm @@ -237,7 +243,6 @@ hex index int - import ioctl ), ($] >= 5.031007 ? qw( isa @@ -337,7 +342,6 @@ sqrt srand stat - state study substr symlink @@ -359,7 +363,6 @@ umask undef unlink - unimport unpack unshift untie @@ -395,32 +398,30 @@ __PACKAGE__ __DATA__ __END__ - CORE - EQ - GE - GT - LE - LT - NE NULL and ), + #removed with a96df643850d22bc4a94 + ($] >= 5.000 && $] < 5.019010 ? qw( + CORE + ) : ()), ($CPERL && $] >= 5.027001 ? qw( class method role multi has ) : ()), qw( cmp continue - default do else elsif eq ), + # added with dor (c963b151157d), removed with f23102e2d6356 + # in fact this was never in keywords.h for some reason ($] >= 5.008001 && $] < 5.010 ? qw( err - ) : ()), qw( + ) : ()), + qw( for foreach ge - given gt if le @@ -446,17 +447,44 @@ tr unless until - when while x xor y ), + # also with default, say + ($] >= 5.009003 ? qw( + break + given + when + ) : () + ), + # removed as useless with 5.27.7, re-added with 7896dde7482a2851 + ($] >= 5.009003 && ($] < 5.027007 || $] >= 5.027008) ? qw( + default + ) : () + ), + ($] >= 5.009004 ? qw( + state + ) : () + ), ($] >= 5.033007 ? qw( - try - catch - ) : () -)); + try + catch + ) : () + ), + ($] >= 5.035004 ? qw( + defer + ) : () + ), +); + +# Extra barewords not in keywords.h (import was never in keywords) +use vars '@BarewordsExtra'; +@BarewordsExtra = qw( + import + unimport +); use vars '@TieIOMethods'; @TieIOMethods = qw( @@ -507,8 +535,8 @@ C supplies several arrays of exportable keywords: C<@Scalars>, C<@Arrays>, C<@Hashes>, C<@Filehandles>, C<@Symbols>, -C<@Functions>, C<@Barewords>, C<@TieIOMethods>, C<@UNIVERSALMethods> -and C<@ExporterSymbols>. +C<@Functions>, C<@Barewords>, C<@BarewordsExtra>, C<@TieIOMethods>, +C<@UNIVERSALMethods> and C<@ExporterSymbols>. The C<@Symbols> array includes the contents of each of C<@Scalars>, C<@Arrays>, C<@Hashes>, C<@Functions> and C<@Filehandles>. @@ -516,6 +544,8 @@ Similarly, C<@Barewords> adds a few non-function keywords and operators to the C<@Functions> array. +C<@BarewordsExtra> adds a few barewords which are not in keywords.h. + All additions and modifications are welcome. The perl parser uses a static list of keywords from @@ -551,6 +581,11 @@ This is a list of other special keywords in perl including operators and all the control structures. +=item C<@BarewordsExtra> + +This is a list of barewords which are missing from keywords.h, handled +extra in the tokenizer. + =item C<@TieIOMethods> Those are special tie or PerlIO methods called by the perl core, @@ -600,6 +635,10 @@ L +=item * GIT repository + +L + =item * AnnoCPAN: Annotated CPAN documentation L @@ -622,7 +661,7 @@ =head1 COPYRIGHT AND LICENSE Copyright 2009 Joshua ben Jore, All rights reserved. -Copyright 2013, 2015, 2017-2019 Reini Urban, All rights reserved. +Copyright 2013, 2015, 2017-2021 Reini Urban, All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of either: diff -Nru libb-keywords-perl-1.22/Makefile.PL libb-keywords-perl-1.23/Makefile.PL --- libb-keywords-perl-1.22/Makefile.PL 2019-12-17 16:55:52.000000000 +0000 +++ libb-keywords-perl-1.23/Makefile.PL 2021-10-30 08:50:27.000000000 +0000 @@ -17,8 +17,11 @@ { resources => { - repository => 'http://github.com/rurban/b-keywords', - license => 'http://dev.perl.org/licenses/', + repository => 'http://github.com/rurban/b-keywords', + license => 'http://dev.perl.org/licenses/', + bugtracker => { + web => 'https://github.com/rurban/b-keywords/issues', + }, }, } ) : ()), diff -Nru libb-keywords-perl-1.22/META.json libb-keywords-perl-1.23/META.json --- libb-keywords-perl-1.22/META.json 2021-02-22 08:46:21.000000000 +0000 +++ libb-keywords-perl-1.23/META.json 2021-10-30 12:35:19.000000000 +0000 @@ -45,6 +45,6 @@ "url" : "http://github.com/rurban/b-keywords" } }, - "version" : "1.22", + "version" : "1.23", "x_serialization_backend" : "JSON::PP version 2.97001" } diff -Nru libb-keywords-perl-1.22/META.yml libb-keywords-perl-1.23/META.yml --- libb-keywords-perl-1.22/META.yml 2021-02-22 08:46:21.000000000 +0000 +++ libb-keywords-perl-1.23/META.yml 2021-10-30 12:35:19.000000000 +0000 @@ -22,5 +22,5 @@ resources: license: http://dev.perl.org/licenses/ repository: http://github.com/rurban/b-keywords -version: '1.22' +version: '1.23' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -Nru libb-keywords-perl-1.22/SIGNATURE libb-keywords-perl-1.23/SIGNATURE --- libb-keywords-perl-1.22/SIGNATURE 2021-02-22 08:46:22.000000000 +0000 +++ libb-keywords-perl-1.23/SIGNATURE 2021-10-30 12:35:20.000000000 +0000 @@ -14,30 +14,30 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: RIPEMD160 -SHA256 5f974d84eb69841476ce028b79dced3a414d78f807b6a0456d11bdff81815b4e Changes +SHA256 a253faf8e8ec9e050c4a8f16653b5cdab747d4232535f606cd4eb07839d0e9e7 Changes SHA256 6724a85e9820d3b08909b518d4d3d3621cf2fb7f2876360e5b2874efbf8c2ee8 LICENSE SHA256 7ebf58443f98897bc4d14d25de111e89838c847102bfafd98cad2ab6de7e7177 MANIFEST -SHA256 7ccb763d933f31d711962395bae292e7778a08147e90b753e44e69b6f5b8f7f3 META.json -SHA256 d00bef3888c75a43a2efd3973e52a66f1be2e0a71e26aeff1ce5ca4e2505afac META.yml -SHA256 b51920d197a1eee6f282d3a5487e7c1501c710000bcf0d8f289fb31a42461115 Makefile.PL +SHA256 820efc06e9dcec2ec0766c53d2d26fa29f242be5f69ed1ac42ce2805df153e28 META.json +SHA256 0ec6fd5b47c65edc649c56739f250cbf14c56cd7e203ce48e99ecc7bfc40f02a META.yml +SHA256 86f4e45ac726b4ecf0a1cec637e3aed4a9a8b6dd278139cadcedd84b1ae96bf5 Makefile.PL SHA256 0a73e39f5d75bdaa6b6e113318168e2e880b6a69405063df631a0aa2b0f19fcd README -SHA256 fa81dd0a9557a85d12742b0d470a5ff3538ec8d48dad1dbce126ec8202a3bbe4 lib/B/Keywords.pm +SHA256 ed85babe8e818120d5d227f38df66eb6e3b82b26408dd0a97d413076783823da lib/B/Keywords.pm SHA256 e03c8fcbca5ea500346882132d9a4ae57fc8fca37bdf2a8e0576f25408760885 t/10basic.t -SHA256 e769e2d323d01b7cb67224442cacc7b0bc60bf04492e688af87708d9930a24fa t/11keywords.t +SHA256 debe88a5b47ddc0bc96356d8b0058c1c65ecd4bef1ce613839f7b1781df53d4e t/11keywords.t SHA256 eccb70c617b51d41f8fe54bf1c52e6767f849833cf3c244fb432b3ebfdc2d4bf t/export.t SHA256 6aa4dd8133ae0d11b0220796801c955746a7d891aed8bfc7056b7e0e7433929d t/z_kwalitee.t SHA256 fb00e0e0d57de606699706d2a2e486df05d840793d3bcf6e4bb13f1604f19487 t/z_meta.t SHA256 956f858cc6c609d57ad5f92b6432a40c9c3d90576c397f90afa4489d12030850 t/z_perl_minimum_version.t SHA256 0ba22336dc34b370d0fa7a0d87ed45080d76e87d6a409881f9402277d66a13e4 t/z_pod-coverage.t -SHA256 298e9a5d4190701d4438f3f68c1e44139cfa36982503ccc44572d04cfe3c317a t/z_pod.t +SHA256 29178b45bc6c8cfe6d031f2c054ff9af721c2fc915ff82f5362ac66cdac26718 t/z_pod.t -----BEGIN PGP SIGNATURE----- -iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAmAzb10ACgkQtPYzOeZd -ZBTyIAgAoZbAQ5OXvg8zOn/auI+alMQ8RJs0+6osouG6wzbswkSiDxCd+5Rtam6/ -hRDhL50CvEmXaRmXi4mTu6sq2Kz8zb++84+ZlZJ+prhcYcZo8/kL4Gg57+uT/4+t -ZDiCRrWphYCFGM2uwIYPJXHWH4bzP0AB89/tbe8naPy4Zj3mjPtWNXuIFPcPzwXr -WgV6MiDtTRTs56lCspGxjKEX8zEKT0Kn0fnB8qC8s4pr04VLn9ONTw6gVBn5gpoO -CAcv1jqb6Pt3bewz1xo0Yg3pQEJKyIAOa8D/9ChTsw5AO4bapAwQwEhlKGuNp4H8 -bde+Yi1WNelNfIf6wfm0NAZSZlda/Q== -=Q5iM +iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAmF9PAcACgkQtPYzOeZd +ZBT74gf/YyR5lC/0KRT9n9iPlDokLcn3OKHnc03PfmtGNr47kyAyn3z9Bk+pbiLD +FNcKBKprUX57DSUOsQOzp4YNWSoZHP03vg7kxW5f4l35o8QYrBP19LKXfpAYrW8s +hLO1KzQeji4ZXl2LbqK3Ev08ZJ3wdhjX5hf/FFro3seoJBibbbJvzeo43YRVRxDN +ulFO5BVHuSzGHVWpERmzffz69k4IM9q1OP+0qgjjukqa6UY1etxRsEGXK3qSNgM9 +MUcEXlAlC4OrVsORavDu3xhYWXjceyDitKapZCZgRcKVkCzKwNg1/mfE37TTfh31 +O+opDI+XZlyzT14wZ+sbb/NJebVjgA== +=9nlv -----END PGP SIGNATURE----- diff -Nru libb-keywords-perl-1.22/t/11keywords.t libb-keywords-perl-1.23/t/11keywords.t --- libb-keywords-perl-1.22/t/11keywords.t 2013-04-05 19:07:31.000000000 +0000 +++ libb-keywords-perl-1.23/t/11keywords.t 2021-10-30 12:33:38.000000000 +0000 @@ -8,6 +8,12 @@ use lib qw( ../lib lib ); use B::Keywords ':all'; +BEGIN { + if (defined &Test::More::note) { + *diag = *Test::More::note; + } +} + # Translate control characters into ^A format # Leave others alone. my @control_map = (undef, "A".."Z"); @@ -26,15 +32,31 @@ local $/; chomp( my @keywords = =~ /^\#define \s+ KEY_(\S+) /xmsg ); close FH; + my $usedevel = $Config{usedevel}; my %covered = map { $_ => 1 } @Symbols, @Barewords; + diag "check if all keywords.h have \@Symbols or \@Barewords"; + TODO: { + for my $keyword (@keywords) { + local $TODO = "old blead version, wait for the release" if $Config{usedevel} && !$covered{$keyword}; + ok $covered{$keyword}, "keyword: $keyword"; + } + } - for my $keyword (@keywords) { - ok $covered{$keyword}, "keyword: $keyword"; + diag "reverse: check if all \@Symbols and \@Barewords are in keywords.h"; + my %keyword = map { $_ => 1 } @keywords; + TODO: { + for my $key (@Barewords, @Functions) { + if ($key =~ /^-/ or $key eq 'err') { # skip file test ops, err fails my tests + diag "not in keywords.h: $key. skipped"; + } else { + local $TODO = "old blead version, wait for the release" if $Config{usedevel} && !$keyword{$key}; + ok $keyword{$key}, "keywords.h: $key"; + } + } } } - # Test all the single character globals in main { my @globals = map { _map_control_char($_) } @@ -42,7 +64,30 @@ keys %main::; my %symbols = map { s/^.//; $_ => 1 } (@Scalars, @Arrays, @Hashes); + diag "check if all single-character \@Scalars, \@Arrays, \@Hashes are as globals in \%main::"; for my $global (@globals) { ok $symbols{$global}, "global: $global"; } + + #my %globals = map { $_ => 1 } @globals; + diag "the reverse is not true as most globals are auto-created"; + #for my $sym (grep { length $_ == 1 } keys %symbols) { + # ok $globals{$sym}, "\%main:: $sym"; + #} +} + +# Cannot test all the other globals in main. They are mostly created on-the-fly. +if (0) { + my %globals = map { _map_control_char($_) => 1 } + grep { length $_ > 1 && $_ !~ /^_import; + diag "check if all multi-character \@Scalars, \@Arrays, \@Hashes are as globals in \%main::"; + my %symbols = map { s/^[\$\%\@]//; $_ => 1 } (@Scalars, @Arrays, @Hashes); + for my $sym (grep { length $_ > 1 } keys %symbols) { + ok $globals{$sym}, "\%main:: $sym"; + } + # and the reverse is troubled by namespace pollution. %main:: contains B, Test, ... } diff -Nru libb-keywords-perl-1.22/t/z_pod.t libb-keywords-perl-1.23/t/z_pod.t --- libb-keywords-perl-1.22/t/z_pod.t 2013-04-05 19:07:31.000000000 +0000 +++ libb-keywords-perl-1.23/t/z_pod.t 2021-10-30 12:33:38.000000000 +0000 @@ -2,4 +2,5 @@ use Test::More; eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; +plan skip_all => "5.8 required for =encoding" if $] < 5.008; all_pod_files_ok();