In perl.git, the branch khw/ebcdic has been updated <http://perl5.git.perl.org/perl.git/commitdiff/a19f15a9541bb33cc0f606e41abe1e50dd388464?hp=e5640d6b6d4d4a988aac70ba94762deac916a917>
- Log ----------------------------------------------------------------- commit a19f15a9541bb33cc0f606e41abe1e50dd388464 Author: Karl Williamson <[email protected]> Date: Fri Apr 5 13:01:07 2013 -0600 XXX More regcharclass debugging M regen/regcharclass.pl M regen/regcharclass_multi_char_folds.pl commit 6f3efd0dec48d511af15ab1a5ae5fd4e749c6999 Author: Karl Williamson <[email protected]> Date: Fri Apr 5 12:37:56 2013 -0600 perlop.pod: Fix typo that yields wrong info M pod/perlop.pod commit b9e7e31d1c3823ca21883341517b7c672d471978 Author: Karl Williamson <[email protected]> Date: Fri Apr 5 12:21:21 2013 -0600 Data-Dumper/Dumper.pm: Fix for EBCDIC M dist/Data-Dumper/Dumper.pm commit a3a234e3015b339f41b2ee4338cb87249c13ab04 Author: Karl Williamson <[email protected]> Date: Fri Apr 5 12:15:58 2013 -0600 Dumper.xs: Don't translate character twice utf8_to_uvchr() already returns the native code point; no need to convert again. This code is only executed on Perls before 5.15 M dist/Data-Dumper/Dumper.xs ----------------------------------------------------------------------- Summary of changes: dist/Data-Dumper/Dumper.pm | 2 +- dist/Data-Dumper/Dumper.xs | 3 +-- pod/perlop.pod | 2 +- regen/regcharclass.pl | 6 +++--- regen/regcharclass_multi_char_folds.pl | 3 +++ 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/dist/Data-Dumper/Dumper.pm b/dist/Data-Dumper/Dumper.pm index a04024e..4793b65 100644 --- a/dist/Data-Dumper/Dumper.pm +++ b/dist/Data-Dumper/Dumper.pm @@ -719,7 +719,7 @@ sub qquote { local($_) = shift; s/([\\\"\@\$])/\\$1/g; my $bytes; { use bytes; $bytes = length } - s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length; + s/([[:^ascii:]])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length; return qq("$_") unless /[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~]/; # fast exit diff --git a/dist/Data-Dumper/Dumper.xs b/dist/Data-Dumper/Dumper.xs index 0468d0a..8db11df 100644 --- a/dist/Data-Dumper/Dumper.xs +++ b/dist/Data-Dumper/Dumper.xs @@ -70,8 +70,7 @@ Perl_utf8_to_uvchr_buf(pTHX_ U8 *s, U8 *send, STRLEN *retlen) * end of the buffer if there is a malformation that indicates the * character is longer than the space available */ - const UV uv = utf8_to_uvchr(s, retlen); - return UNI_TO_NATIVE(uv); + return utf8_to_uvchr(s, retlen); } # if !defined(PERL_IMPLICIT_CONTEXT) diff --git a/pod/perlop.pod b/pod/perlop.pod index 4ec0539..7db132c 100644 --- a/pod/perlop.pod +++ b/pod/perlop.pod @@ -1408,7 +1408,7 @@ table: \c? chr(127) In other words, it's the character whose code point has had 64 xor'd with -its uppercase. C<\c?> is DELETE because C<ord("@") ^ 64> is 127, and +its uppercase. C<\c?> is DELETE because C<ord("?") ^ 64> is 127, and C<\c@> is NULL because the ord of "@" is 64, so xor'ing 64 itself produces 0. Also, C<\c\I<X>> yields C< chr(28) . "I<X>"> for any I<X>, but cannot come at the diff --git a/regen/regcharclass.pl b/regen/regcharclass.pl index 51955de..e4fab85 100755 --- a/regen/regcharclass.pl +++ b/regen/regcharclass.pl @@ -382,10 +382,10 @@ sub new { die "do '$1' failed: $!$@" if ! do $1 or $@; next; } elsif ($str =~ / ^ & \s* ( .* ) /x) { # user-furnished sub() call - use Data::Dumper; - print STDERR $1, "\n"; my @results = eval "$1"; - print STDERR Dumper \@results; + for my $i (0 .. @results - 1) { + print STDERR __FILE__, ": $i: $results[$i]\n"; + } die "eval '$1' failed: $@" if $@; push @{$opt{txt}}, @results; next; diff --git a/regen/regcharclass_multi_char_folds.pl b/regen/regcharclass_multi_char_folds.pl index ec8d2b5..c93658d 100644 --- a/regen/regcharclass_multi_char_folds.pl +++ b/regen/regcharclass_multi_char_folds.pl @@ -104,6 +104,9 @@ sub multi_char_folds ($) { } } + for my $i (0 .. @folds - 1) { + print STDERR __FILE__, ": $i: $folds[$i]\n"; + } return @folds; } -- Perl5 Master Repository
