develooper Front page | perl.perl5.changes | Postings from May 2020

[Perl/perl5] 65a97d: Fix tr/// determination of inplace editing forEBCDIC

From:
Karl Williamson
Date:
May 27, 2020 08:09
Subject:
[Perl/perl5] 65a97d: Fix tr/// determination of inplace editing forEBCDIC
Message ID:
Perl/perl5/push/refs/heads/blead/e2d0e9-28bfed@github.com
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 65a97d491a9a6a59c242ed7027d1a284cf7c8d6d
      https://github.com/Perl/perl5/commit/65a97d491a9a6a59c242ed7027d1a284cf7c8d6d
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M ebcdic_tables.h
    M op.c
    M regen/ebcdic.pl

  Log Message:
  -----------
  Fix tr/// determination of inplace editing for EBCDIC

I realized as a result of fixing GH #17654, that the code didn't
properly decide if a tr/// can be done in-place on EBCDIC platforms.
Since we didn't have an EBCDIC smoker at the time, I couldn't be sure
that the fix actually worked.  Now that we do have a smoker, I have
successfully tested it.

This patch is constructed so that the code generated on non-EBCDIC
platforms should not be changed by it.


  Commit: 7970044f57558c168ac11838e59a01fcabd64d59
      https://github.com/Perl/perl5/commit/7970044f57558c168ac11838e59a01fcabd64d59
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/re/regexp.t

  Log Message:
  -----------
  t/re/regexp.t: Fix to properly handle EBCDIC

5.31 commit 2b7f9bbf39f71c0d94db058b0110977a9470c1b2 caused this to not
work at all on EBCDIC platforms.


  Commit: c1a0d73449dedca2742e619b7e274d58fe58d679
      https://github.com/Perl/perl5/commit/c1a0d73449dedca2742e619b7e274d58fe58d679
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M hints/os390.sh

  Log Message:
  -----------
  hints/os390.sh: Handle no C optimizations

There is a bug in Configure where it doesn't handle 'none' properly for
platforms which have no flag to indicate don't optimize.  Instead of
fixing this for 5.32 at this late date, change the hints file for os390
to use the equivalent " ", that does work.


  Commit: 8a0a216ecd10f9ae05af7f36957df8ffc957e7f1
      https://github.com/Perl/perl5/commit/8a0a216ecd10f9ae05af7f36957df8ffc957e7f1
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/TEST

  Log Message:
  -----------
  t/TEST: Skip some cpan module testing on EBCDIC

These modules have known problems, varying from one test failing, to not
working at all.  This is a big improvement from earlier releases where
all of cpan testing was entirely ckipped.


  Commit: 2e8ed713fb0c88f06f03cdd42ecea4b5a2beff01
      https://github.com/Perl/perl5/commit/2e8ed713fb0c88f06f03cdd42ecea4b5a2beff01
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M charclass_invlists.h
    M lib/unicore/mktables
    M lib/unicore/uni_keywords.pl
    M regcharclass.h
    M uni_keywords.h

  Log Message:
  -----------
  pod/perluniprops: Split run-on lines before '\'

This changes mktables, which generates this pod, to consider long pod
lines to be splittable before most backslashes.  On os390, the lack of
this caused a line to not be split at all, creating a Porting test
failure.

There is also a current rule that you can split at a lowercase/uppercase
boundary.  This works for the limited domain this code is run on.  But
it shouldn't split \cK.  So don't do the split if the lowercase is a
single letter preceded by a backslash.


  Commit: a56c59cec6642d3350ef12fca987a52dd99a40da
      https://github.com/Perl/perl5/commit/a56c59cec6642d3350ef12fca987a52dd99a40da
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/lib/warnings/toke

  Log Message:
  -----------
  lib/warnings.t: Fix EBCDIC toke warning wording


  Commit: a944ad5282d13d2c5b44985afeead4517c582344
      https://github.com/Perl/perl5/commit/a944ad5282d13d2c5b44985afeead4517c582344
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M dist/IO/t/cachepropagate-unix.t

  Log Message:
  -----------
  dist/IO/t/cachepropagate-unix.t: Add os390 to TODO list

To TODO a test for


  Commit: c47eeaa05a24ae40e0f77e325ed5de031440126d
      https://github.com/Perl/perl5/commit/c47eeaa05a24ae40e0f77e325ed5de031440126d
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M lib/DBM_Filter/t/encode.t

  Log Message:
  -----------
  lib/DBM_Filter/t/encode.t: TODO a test on EBCDIC

This depends on Encode which has some problems


  Commit: 7b23763834781686e711bf3ede59a65eeb4553b4
      https://github.com/Perl/perl5/commit/7b23763834781686e711bf3ede59a65eeb4553b4
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/re/anyof.t

  Log Message:
  -----------
  t/re/anyof.t: Adapt a test for EBCDIC

a-z is not contiguous on EBCDIC platforms


  Commit: bbbfd957915db62f108dabece247a33bad1eb5a1
      https://github.com/Perl/perl5/commit/bbbfd957915db62f108dabece247a33bad1eb5a1
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/op/sub.t

  Log Message:
  -----------
  op/sub.t: Skip APItest test if that not built


  Commit: 77b414f73a1cb5b2bcaafeb281ec8afe6ff7c671
      https://github.com/Perl/perl5/commit/77b414f73a1cb5b2bcaafeb281ec8afe6ff7c671
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/re/regexp.t
    M t/re/regexp_nonull.t

  Log Message:
  -----------
  re/regexp_nonull.t: Skip if no APItest built

This moves the require to the file that actually uses it, and checks
that it succeeded.


  Commit: 3b099a7fe6ef576ff433ea8cb60431d2d3dfcc2b
      https://github.com/Perl/perl5/commit/3b099a7fe6ef576ff433ea8cb60431d2d3dfcc2b
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/re/pat_advanced.t

  Log Message:
  -----------
  t/re/pat_advanced.t: Adapt for sl-o-o-w boxes

On some slow smokers, this test times out.  There is an existing
mechanism which allows a smoker to compensate for this, but which was
not being used by this test file.  Use it.


  Commit: 900fde54b03c8c8b6fbbb129e343df7887c25d3f
      https://github.com/Perl/perl5/commit/900fde54b03c8c8b6fbbb129e343df7887c25d3f
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/re/speed.t

  Log Message:
  -----------
  t/re/speed.t: Adapt for sl-o-o-w boxes

On some slow smokers, this test times out.  There is an existing
mechanism which allows a smoker to compensate for this, but which was
not being used by this test file.  Use it.


  Commit: 28bfed14e7471c9d91c7ca03b095d6b8899c85ab
      https://github.com/Perl/perl5/commit/28bfed14e7471c9d91c7ca03b095d6b8899c85ab
  Author: Karl Williamson <khw@cpan.org>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M t/op/exec.t

  Log Message:
  -----------
  op/exec.t: ENOTDIR is a legit errno

This test file does a system() on a non-existent file, and checks
that an error happens, and that the errno is one that is expected.
Prior to this commit it didn't think that ENOTDIR could happen.

But it can If PATH contains a component that is plain file, or, on some
systems, a component simply doesn't exist.

I examined the possible errnos listed in a Linux man page for this, and
this looked to be the only one that is likely to come up that weren't
already covered.

This fixes GH #17515


Compare: https://github.com/Perl/perl5/compare/e2d0e9a5d1dd...28bfed14e747



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About