In perl.git, the branch khw/ebcdic has been created

<http://perl5.git.perl.org/perl.git/commitdiff/3f3a9b1811fda1744ccbe5e651ed8b2afabb110f?hp=0000000000000000000000000000000000000000>

        at  3f3a9b1811fda1744ccbe5e651ed8b2afabb110f (commit)

- Log -----------------------------------------------------------------
commit 3f3a9b1811fda1744ccbe5e651ed8b2afabb110f
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 30 12:32:09 2013 -0600

    t/uni/fold.t: EBCDIC fixes

M       t/uni/fold.t

commit f924e42b32012b8ca0a3c663c4bf974045c49d74
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 29 15:22:28 2013 -0600

    XXX t/op/tiehandle.t: skip for now; deep recursion

M       t/op/tiehandle.t

commit 565b8226514d6575b33588c609167f8a0c9b4879
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 29 14:56:16 2013 -0600

    XXX better commit msg utf8.c: Avoid unnecessary UTF-8 conversions
    
    This changes the code so that converting to UTF-8 is avoided unless
    necessary.  For such inputs, the conversion back from UTF-8 is also
    avoided.  The cost of doing this is that the first swatches are combined
    into one that contains the values for all characters 0-255, instead of
    having multiple swatches.  That means when first calculating the swatch
    it calculates all 256, instead of 128 (160 on EBCDIC).
    
    This also fixes an EBCDIC bug in which characters in this range were
    being translated twice.

M       utf8.c

commit 9a59f8bc7e06d66251e9d3c8fbf504769cd4ef86
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 29 13:34:59 2013 -0600

    utf8.c: Check for UTF-8 malformations
    
    This code, when UTF-8 warnings are off, allows malformed UTF-8.  It
    really shouldn't as a safety measure, even though I think malformations
    are currently caught and rejected before it gets here.

M       utf8.c

commit bfa08be70437156dfe46c41a247d44f829ee799f
Author: Karl Williamson <[email protected]>
Date:   Thu Mar 28 19:56:39 2013 -0600

    utf8.c: Remove redundant assignment.
    
    This variable is always set just below.

M       utf8.c

commit cab3cff4f46670331e000c37f7f5ff9a8ea6d6e3
Author: Karl Williamson <[email protected]>
Date:   Thu Mar 28 17:19:16 2013 -0600

    XXX enable _invlist_dump;

M       embed.fnc
M       embed.h
M       proto.h

commit f7cb100aebf9248be3da6d21d63a030423d17edb
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 8 11:01:32 2013 -0700

    XXX EBCDIC header files

M       charclass_invlists.h
M       l1_char_class_tab.h
M       regcharclass.h
M       unicode_constants.h

commit 395a974f6c2aa2e213b8ce3857b321e48c32c362
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 15 12:26:15 2013 -0600

    hints/os390.sh: Suppress bogus compiler message

M       hints/os390.sh

commit efae316769cac1240ed8f9dc88d5b94a86c7dff4
Author: John Goodyear <[email protected]>
Date:   Sat Mar 2 12:31:25 2013 -0700

    XXX Temporary for z/OS long long support

M       Configure
M       hints/os390.sh

commit b8c0bc888fc1cadd64e9af5dd988c7caa1376f51
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 18:17:28 2013 -0600

    Add test that to/from native character set works
    
    For non-ASCII systems, there are character set translation tables.  This
    makes sure the two accessible ones are inverses of each other.  If not,
    nothing can be expected to work right.

M       MANIFEST
A       t/base/translate.t

commit 35ba3be30743697c2745e957b41028d5941f61ad
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 16:55:55 2013 -0600

    lib/feature/bundle: Fix some things to pass under EBCDIC

M       t/lib/feature/bundle

commit 1e5daf9958d0afb6bf59ceee31ce2cb164ec8b11
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 16:08:04 2013 -0600

    XS-APItest/t/fetch_pad_names.t: Skip if EBCDIC
    
    This could be ported, but there's a lot of stuff to convert; would need
    a function to convert byte strings that form legal UTF-8 into legal
    UTF-EBCDIC

M       ext/XS-APItest/t/fetch_pad_names.t

commit d36d55713b0510c22caf609d9dc982c19a2744be
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 12:11:59 2013 -0600

    XXX Temporary lib/charnames.t, comment out to see if gets further

M       lib/charnames.t

commit 2b3bdb4154d9f78e33734ccaaf042ca57c123ef4
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 12:05:53 2013 -0600

    XXX ext/XS-APItest/t/utf8.t: Fix so passes EBCDIC
    
    This involves skipping much of the tests.  Reexamine later

M       ext/XS-APItest/t/utf8.t

commit c947572d60ee479e514f332b29f91a4ea4461d9e
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 11:27:06 2013 -0600

    ext/re/t/re_funcs_u.t: Fix to work under EBCDIC

M       ext/re/t/re_funcs_u.t

commit 8fe27d87cb46eb1f3dcca780fc3603aed30b6548
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 11:11:22 2013 -0600

    XXX dist/IO/t/io_utf8argv.t: Temporarily skip if EBCDIC

M       dist/IO/t/io_utf8argv.t

commit 1badcad2c37b548504e721341cd5b5ed11fc6dda
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 10:33:44 2013 -0600

    t/op/print.t: Skip an EBCDIC test
    
    This could be written (the values would probably change depending on the
    code page), but the code that would get exercised is unlikely to vary
    depending on character set.

M       t/op/print.t

commit ddeeca50734d453b79adbf5e2bdae516d0ff1b5b
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 26 19:51:06 2013 -0600

    XXX skip folding tests

M       t/re/fold_grind.t
M       t/re/reg_fold.t
M       t/uni/fold.t

commit 2d38580644638bd91c0a59f25565f8bd1023c7db
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 26 15:44:59 2013 -0600

    XXX t/TEST: Avoid SIGPIPEs

M       t/TEST

commit 7fe913b86f11a85f639b3b19a52342a8c29e7286
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 26 15:49:08 2013 -0600

    XXX Temporarily test normalization

M       cpan/Unicode-Normalize/t/fcdc.t
M       cpan/Unicode-Normalize/t/form.t
M       cpan/Unicode-Normalize/t/func.t
M       cpan/Unicode-Normalize/t/illegal.t
M       cpan/Unicode-Normalize/t/norm.t
M       cpan/Unicode-Normalize/t/null.t
M       cpan/Unicode-Normalize/t/partial1.t
M       cpan/Unicode-Normalize/t/partial2.t
M       cpan/Unicode-Normalize/t/proto.t
M       cpan/Unicode-Normalize/t/split.t
M       cpan/Unicode-Normalize/t/test.t
M       cpan/Unicode-Normalize/t/tie.t

commit fbc9461b41083ea4b2dc53da3779e3ca203b0039
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 26 14:06:50 2013 -0600

    op/index.t: Fix tests for EBCDIC
    
    Commit 8a38a836 erroneously translates literals into the native
    encoding, causing a double translation, which is garbage.

M       t/op/index.t

commit 6b59335a5ca6ac05969baed2c0a48747cd840a51
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 20:43:38 2013 -0600

    op/chop.t: Fix for EBCDIC
    
    One test is skipped because the code point is not representable on
    EBCDIC platforms.  Another test is modified to work on EBCDIC.

M       t/op/chop.t

commit be5e4ea04853816e2466afcd99c06b112beabfb0
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 19:56:50 2013 -0600

    t/op/lc.t: Fix to work under EBCDIC
    
    This had code that attempted this, but it was wrong.  The conversion to
    EBCDIC must be done before the \U, or similar.

M       t/op/lc.t

commit 9c121bac3d508620acfc35873020d17e9fef1d7a
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 16:37:04 2013 -0600

    XXX fix this later based on comment

M       dist/IO/t/io_utf8argv.t

commit 864e651877c4d7f206511ad01f0760a2875dddb1
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 15:33:55 2013 -0600

    Skip some tests under EBCDIC
    
    EBCDIC won't work on these because of inherent differences from ASCII

M       t/porting/customized.t
M       t/porting/manifest.t

commit 9dcec2048e0bf85f4894d91e91245e75c546f656
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 15:04:14 2013 -0600

    porting/bincompat.t: Skip under EBCDIC
    
    because the sorting order is different

M       t/porting/bincompat.t

commit 81366ad9160c500f93acf743e2c8d2453af91616
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 14:59:50 2013 -0600

    t/re/regex_sets.t: So will pass under EBCDIC

M       t/re/regex_sets.t

commit e7245ae1d17d160dee38653583c46f997dc10a2e
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 14:59:26 2013 -0600

    t/porting/bincompat.t: Typo in comment

M       t/porting/bincompat.t

commit 954e2283c061febd509d7cb2d4da14e50c98325e
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 25 13:09:09 2013 -0600

    XXX fix \x{too large}

M       dist/IO/IO.xs
M       doop.c
M       inline.h
M       pp.c
M       pp_pack.c
M       regcomp.c
M       sv.c
M       toke.c
M       utf8.c
M       utf8.h

commit 253fa1ac53f874e35468ff945bf5e29c68e4fe80
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 24 17:59:59 2013 -0600

    mktables: Fix typo in comment
    
    This used a real CTRL-X, instead of $^X

M       lib/unicore/mktables

commit 499593d9539e9add746d9ca5aac7f2884bb72c64
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 24 13:16:08 2013 -0600

    utf8.c: Fix so UTF-16 to UTF-8 conversion works under EBCDIC

M       utf8.c

commit 888b23257bc65ef7d1bb134b3595cfab96c07190
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 24 13:14:34 2013 -0600

    utf8.h, utfebcdic.h: Add #define

M       utf8.h
M       utfebcdic.h

commit b28d8e1ef23d8c9fca1a21be548120cc172c2f2a
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 24 13:11:25 2013 -0600

    utf8.c: Use mnemonics instead of hex numbers

M       utf8.c

commit 883c31c57b76fc0d7f103b4a35fc8b27a1534af6
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 20 22:15:58 2013 -0600

    lib/Unicode/UCD.t: Allow to run under EBCDIC,

M       lib/Unicode/UCD.t

commit a2738728533f4d2e3f181ff573102d52b7216d76
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 15:27:31 2013 -0600

    t/op/quotemeta.t: EBCDIC fixes

M       t/op/quotemeta.t

commit f00da59aa0e4c9a2146aad2e65cf1320a8d0ce92
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 11:32:55 2013 -0600

    t/re/fold_grind.t: Fixes for EBCDIC

M       t/re/fold_grind.t

commit 68cd70eccf5dfe31a269d9aaee1d24372ecd5ec2
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 11:21:09 2013 -0600

    t/lib/charnames/alias: Fix some EBCDIC problems

M       t/lib/charnames/alias

commit 9d22debdf4d9721d1a09eda7bc5c42b6beaa0db3
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 11:20:24 2013 -0600

    t/uni/class.t: Make work on EBCDIC

M       t/uni/class.t

commit f4e995c618cc0efaafe4ba9d83a224c316cfbf7a
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 11:01:57 2013 -0600

    feature/unicode_strings.t: Fix to work on EBCDIC

M       lib/feature/unicode_strings.t

commit 0d7c99a18e469d1bf769800785daf4d026cdebcc
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 10:12:30 2013 -0600

    regen/regcharclass.pl: make more EBCDIC friendly
    
    One of the possible inputs to this process is a string.  This clarifies
    that it must be specified in Unicode characters, and adds code to
    translate it to native, if necessary.

M       regen/regcharclass.pl

commit 52a6bd001045394e17a685b1adc2c22f32d6e35a
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 10:10:46 2013 -0600

    XXX regen/regcharclass.pl: maybe temp comment out utf8_char

M       regen/regcharclass.pl

commit 242ce0343ac7711671bba22fccc83cdb3b1854d6
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 19 10:09:53 2013 -0600

    XXX temporary comment out multi-char folds

M       regcomp.c
M       regen/regcharclass.pl
M       regexec.c
M       t/re/fold_grind.t
M       t/re/reg_fold.t

commit a53249c826d4bc7b0e638de5a1387cc27744417f
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 18 22:00:29 2013 -0600

    XXX temp skip perl5db.t

M       lib/perl5db.t

commit 27a044aa557cabcbadfbb52cc57cd0c8e6530950
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 18 11:45:06 2013 -0600

    pp.c: White-space only
    
    Make a ternary operation more clear

M       pp.c

commit ff03ce0e7b99440a440862cf5e6235a0f8f8da4c
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 18 11:43:42 2013 -0600

    Fix valid_utf8_to_uvchr() for EBCDIC

M       utf8.c

commit 1dcd598977cbf46841a6181ff7d13f6c3d200de1
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 17 21:42:20 2013 -0600

    t/test.pl: Add comment about EBCDIC

M       t/test.pl

commit b8a73d0bb96ec4b5422b7a12af82c6976e7cfb38
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 17 17:39:33 2013 -0600

    XXX makedepend.SH: Why does 255 work and 250 not?

M       makedepend.SH

commit d942fbbc559650355d8e253119825c7426a80cac
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 16 22:48:22 2013 -0600

    XXX regen/mk_PL_charclass.pl: Make EBCDIC friendly
    
    need more of a commit message

M       regen/mk_PL_charclass.pl

commit a90d397af410f43f39798b3c1342e7ae532c3bc8
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 16 22:44:44 2013 -0600

    XXX make various things more EBCDIC friendly
    
    Adds trailing white space errors
    Need to know what to do about ^A meaning 0x1, and M-foo meaning meta

M       lib/DB.pm
M       lib/dumpvar.pl
M       lib/perl5db.pl
M       lib/sigtrap.pm

commit d29dc3d194fc2d24b0d992c6b5b0504db54024f0
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 16 22:41:57 2013 -0600

    XXX charnames.t: Make more EBCDIC friendly
    
    Why need utf8::unicode_to_native

M       lib/charnames.t

commit c91e9479cf9779a5b85c0c984c2a648aa09c3816
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 16 22:41:15 2013 -0600

    XXX: Fixup commit message.
    
    Fix UTF8_ACUUMULATE, utf8.c

M       utf8.c
M       utf8.h

commit 68d0139b6462cc372122da85706505ca98747fff
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 16 16:52:45 2013 -0600

    regcomp.c: Fix bug in EBCDIC
    
    The POSIXA and NPOSIXA regnodes need to set the bits on only the ASCII
    code points, but under EBCDIC those code points are 0-127.

M       regcomp.c

commit ee7cebeb546d2ab610fb155172680b214f1d5324
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 15 11:57:24 2013 -0600

    re/charset.t: Allow to work on EBCDIC
    
    This just converts the hard-coded character numbers to native, so will
    work on any platform.

M       t/re/charset.t

commit bc9ce6753cf619f93829feb4af0556069f3ca5fd
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 15 11:50:35 2013 -0600

    XS-APItest/t/handy.t: Change output message
    
    On EBCDIC platforms, the output is not in terms of \N{U+}; change text
    to \x{ }

M       ext/XS-APItest/t/handy.t

commit 6e0e9d769e32d8e32359756b9eb2c2c21494ad4e
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 21:44:16 2013 -0600

    XXX Dumper.xs: Don't know why this stopped compiling

M       dist/Data-Dumper/Dumper.xs

commit ae7f53603ade44663a305e25b7797949471a48c7
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:22:28 2013 -0600

    toke.c: Fix an ASCII-platform dependency

M       toke.c

commit 0038d7b528e22fe1ec33c58e00fbe8f811f10bef
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:20:23 2013 -0600

    toke.c: Simplify some code
    
    We don't have to test separately for lower vs uppercase here, as
    upper/lower case A-Z and a-z are not intermixed in the gaps in A-Z and
    a-z under EBCDIC.

M       toke.c

commit 76f6a8b9d4f9a1503e93423554936e8402206b63
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:18:12 2013 -0600

    genpacksizetables.pl: Correct comment typo

M       genpacksizetables.pl

commit cf69ed9eb50a2df388c08ca9e1e58a6e02030f63
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:17:39 2013 -0600

    APItest/t/handy.t: Make EBCDIC-friendly

M       ext/XS-APItest/t/handy.t

commit 5422ab0e181be4850f8a0286c1d747e0da1e1486
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:16:14 2013 -0600

    Data-Dumper: Make EBCDIC-friendly

M       dist/Data-Dumper/Dumper.xs

commit 8b327eadc141b6a226cefbc3da98c6b1527a8f57
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:14:31 2013 -0600

    sv.c: Make less ASCII-centric

M       sv.c

commit 6f7b2508fafd87657cddfca3e3cc08563a7309de
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:07:52 2013 -0600

    lib/charnames.t: Make some tests work under EBCDIC

M       lib/charnames.t

commit 776b4341e8984f8f923d4b3c40a11132a6e5ba02
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:05:46 2013 -0600

    dump.c: Make less ASCII-centric:
    
    This has the added advantage of being clearer as to what is going on.

M       dump.c

commit da7a1b18ca6db2d201fece036c2f7074dcb8c282
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 13 16:02:52 2013 -0600

    hv.c: Stop being ASCII-centric
    
    This uses macros which work cross-platform.  This has the added advantge
    that it is much clearer what is going on.

M       hv.c

commit 21c12931b6f8c1cc70e00d014bd01db9b628c098
Author: Karl Williamson <[email protected]>
Date:   Tue Mar 12 22:34:17 2013 -0600

    t/TEST: Don't bail if fails in t/base unless minitest
    
    In order to completely compile Perl, many modules must have been parsed
    and compiled, so if there is a full perl, we know that things basically
    work.  The purpose of bailing out is that if these supposedly very base
    level functionality tests don't work, there's no point in continuing.
    But over the years, tests of more esoteric functionality have been
    added here, and if one of them doesn't work, it still could be that Perl
    pretty much does work.
    
    I believe it would be best to move such non-basic tests elsewhere, but
    that's work, and hasn't bitten us much so far; this change lessens the
    severity of the biting even more.  Where it will really bite is if
    things are so bad that a full perl binary can't be compiled, and we are
    trying to figure out why using minitest.

M       t/TEST

commit cbab1b2696ec1d41313da5a3e685ad2936f5384d
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 11 15:11:10 2013 -0600

    Added Porting/reorder_charclass_invlists.pl
    
    This program is used too bootstrap perl onto a non-ASCII platform with
    no pre-existing perl.

M       MANIFEST
A       Porting/reorder_charclass_invlists.pl

commit 9a89c35802127798a002bc50cfd42112375256b1
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 10 22:17:31 2013 -0600

    t/base/lex.t: Use char suitable for both ASCII and EBCDIC
    
    \xE2 is 'S' in EBCDIC, and so is going to be legal.  \xDF is an alpha
    which has no ASCII equivalent in either character set

M       t/base/lex.t

commit ae1a3411686449957867f0c4add1597cd650b284
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 10 13:11:07 2013 -0600

    XXX Temporary comment out ParseXS check
    
    this is to get things to compile for now

M       dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

commit 2ce8f5fcccdd1414d14a9b68066bf0299494fbd6
Author: Karl Williamson <[email protected]>
Date:   Sun Mar 10 11:34:10 2013 -0600

    XXX Collate, Normalize: Allow to compile under EBCDIC

M       cpan/Unicode-Collate/Collate.pm
M       cpan/Unicode-Collate/mkheader
M       cpan/Unicode-Normalize/Normalize.pm
M       cpan/Unicode-Normalize/mkheader

commit 55ded7aefd4c94364764b87fe643a778cef36c09
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 9 21:57:38 2013 -0700

    XXX dquote_static.c: Silence wrong warning on EBCDIC
    
    Unsure of whether to add the 2nd !isCNTRL_L1 to silence return trip,
    which should be a separate commit anyway.
    
    This silences an inappropriate warning that doesn't happen on ASCII
    platforms.  CTRL-T maps to 0x14 on both ASCII and EBCDIC platforms.  But
    0x14 is a C1 control on EBCDIC, a C0 on ASCII.  Therefore the test that
    it's a control should include both C0 and C1, which isCNTRL_L1() does.
    
    Also has a white-space change, outdenting a line so it doesn't wrap in
    an 80 column window.

M       dquote_static.c

commit cdef12ccf2b1cd41cceac18e10be2f19f5f61f33
Author: Karl Williamson <[email protected]>
Date:   Thu Mar 7 12:08:41 2013 -0700

    utfebcdic.h: Change 'unsigned char' to U8
    
    This is for consistency with the rest of Perl

M       utfebcdic.h

commit fa9c1e879ba50cced2a7c80bcae29787c8b835ad
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 8 08:11:38 2013 -0700

    regen/regcharclass.pl: Make more EBCDIC-friendly
    
    This commit changes the code generated by the macros so that they work
    right out-of-the-box on non-ASCII platforms for non-UTF-8 inputs.  THEY
    ARE WRONG for UTF-8, but this is good enough to get perl bootstrapped
    onto the target platform, and regcharclass.pl can be run there,
    generating macros correct UTF-8.

M       regcharclass.h
M       regen/regcharclass.pl

commit 3b184643fecd6e9547a4157d8a3f3a023bd074e1
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 6 21:30:01 2013 -0700

    utfebcdic.h: Add (UV) cast
    
    The operand of this macro is implicitly a UV.  Make sure that it is.

M       utfebcdic.h

commit fbe06f324d883d3035c751a8cd2874ed0e67afdc
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 6 17:04:58 2013 -0700

    handy.h: Allow bootstrapping to non-ASCII platform
    
    This adds a bunch of macros and moves things around to support
    conditional compilation when Configure is called with
    -DBOOTSTRAP_CHARSET.  Doing so causes the usual macros that are
    table-driven to not be used, since the table may not be valid when
    bringing Perl up for the first time on a non-ASCII platform.
    
    This allows it to compile using the platform's native C library ctype
    functions, which should work enough to compile miniperl, and allow the
    table to be changed to be valid.  Then Configure can be re-run to not
    bootstrap, and normal compilation can proceed

M       handy.h
M       inline.h

commit da8c895d440e0117d4102d802b97d404142a19a7
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 4 13:43:26 2013 -0700

    gv.c: Remove EBCDIC dependency

M       gv.c

commit bceeaa6ea88267e3431da4ac91d771b5075d5efa
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 4 13:00:47 2013 -0700

    toke.c: Remove EBCDIC dependency

M       toke.c

commit 5acb02a31e5a9c7c5bc00f4823afb3e73a0f8a61
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 4 09:14:25 2013 -0700

    toke.c: Remove character set dependency
    
    Instead of hard-coding the bit patterns that comprise the Byte Order
    Mark in the UTF-8 or UTF-EBCDIC encodings, use the generated ones for
    the current platform.
    
    This removes some EBCDIC-only code.

M       toke.c

commit 7a019fac57e28523cd2d48637c1f4c4ddf79f6cd
Author: Karl Williamson <[email protected]>
Date:   Mon Mar 4 09:10:27 2013 -0700

    unicode_constants.h: Add #defines for Byte Order Mark
    
    These will be used in future commits

M       regen/unicode_constants.pl
M       unicode_constants.h

commit 3e730f1c5d6f4dfbf552368b3ca538aa8759f521
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 2 15:04:18 2013 -0700

    XXX: Find a cleaner way. Handle missing is_UTF8_CHAR_utf8_safe
    
    This macro may not be present, and is currently used exclusively in
    IS_UTF8_CHAR, which itself may be undefined, and code should cope with
    that.  This is a work-around until a better solution is found.

M       utf8.c
M       utf8.h

commit 0bd584bae5fb0649d5b9d367275c3f92a9a25987
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 2 14:09:04 2013 -0700

    Add Porting tool for help with non-ASCII platforms
    
    Porting/reorder_l1_char_class_tab.pl is used to bootstrap Perl onto a
    non-ASCII platform with no working Perl.

M       MANIFEST
A       Porting/reorder_l1_char_class_tab.pl
M       regen/mk_PL_charclass.pl

commit 66254d4c45813265c20b6952941716f0dd1b4ba1
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 2 13:06:58 2013 -0700

    inline.h: Reorder functions
    
    The comment implied that the functions below it in the file were
    deprecated, but in fact only the next two functions were.  This
    clarifies that and moves them so they are the final ones in the file

M       inline.h

commit 7c97bd31dd92b1d55dee92423576f91d3403f3ad
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 2 12:33:42 2013 -0700

    utfebcdic.h: Add comment

M       utfebcdic.h

commit bdf215c48d72e713d238e6feefa338751a2722a9
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 2 12:12:11 2013 -0700

    utf8.h: Clean up START_MARK definition and use
    
    The previous definition broke good encapsulation rules.  UTF_START_MARK
    should return something that fits in a byte; it shouldn't be the caller
    that does this.  So the mask is moved into the definition.  This means
    it can apply only to the portion that creates something larger than a
    byte.  Further, the EBCDIC version can be simplified, since 7 is the
    largest possible number of bytes in an EBCDIC UTF8 character.

M       utf8.h
M       utfebcdic.h

commit a61eab7cb1a3c84ae2c72912ba726b6613c1577b
Author: Karl Williamson <[email protected]>
Date:   Sat Mar 2 12:05:26 2013 -0700

    utf8.h: Move #includes
    
    These two files were only being #included for non-ebcdic compiles; they
    should be included always.

M       utf8.h

commit 922ee0b0e1a897dc0aeb6e4ca47245afe20e0f31
Author: John Goodyear <[email protected]>
Date:   Sat Mar 2 11:49:14 2013 -0700

    utfebcdic.h: Remove extra parameter expansions
    
    These two macros were improperly expanding the parameters as well as
    defining the operation, leading to compile errors.

M       utfebcdic.h

commit 1eecd954b012762dc0e4a0d8e0da6b7b62ca5f44
Author: Karl Williamson <[email protected]>
Date:   Fri Mar 1 08:28:52 2013 -0700

    utf8.h: Simplify UTF8_EIGHT_BIT_foo on EBCDIC
    
    These macros were previously defined in terms of UTF8_TWO_BYTE_HI and
    UTF8_TWO_BYTE_LO.  But the EIGHT_BIT versions can use the less general
    and simpler NATIVE_TO_LATN1 instead of NATIVE_TO_UNI because the input
    domain is restricted in the EIGHT_BIT.  Note that on ASCII platforms,
    these both expand to the same thing, so the difference matters only on
    EBCDIC.

M       utf8.h

commit de2dce22fd678bb3f59d3eddfa0dbfa6752966b3
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 28 09:25:27 2013 -0700

    XXX temp:  show makedepend cerr

M       makedepend.SH

commit a9c05d9a8d410dab7a810dacf06ec51b9ea56724
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 27 21:59:11 2013 -0700

    makedepend.SH: Split too long lines; properly join
    
    I had thought that a continuation introduced a space.  But no,
    a continuation can happen in the middle of a token.
    
    And this splits lines that are getting very long to avoid preprocessor
    limitations.

M       makedepend.SH

commit b2913a58f41752a0ac77be681e410976bb1169da
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 27 15:51:28 2013 -0700

    makedepend.SH: White-space only
    
    Align continuation backslashes

M       makedepend.SH

commit f192334103994ee3bfe13fb9b5a4df7ad9253946
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 27 14:39:28 2013 -0700

    makedepend.SH: Remove some unnecessary white space
    
    Multi-line preprocessor directives are now joined into single lines.
    This can create lines too long for the preprocessor to handle.  This
    commit removes blanks adjoining comments that get deleted.  This makes
    things somewhat less likely to exceed the limit.
    
    This commit also fixes several [] which were meant to each match a tab
    or a blank, but editors converted the tabs to blanks

M       makedepend.SH

commit 29896f597409403843e78eec9fb1935d72e59809
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 27 14:30:51 2013 -0700

    makedepend.SH: Retain '/**/' comments
    
    These comments may actually be necessary.

M       makedepend.SH

commit cc3ec70c2e2fa2aa2891bc0b068197a4cc1a4256
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 27 08:38:19 2013 -0700

    handy.h: Remove extraneous parens

M       handy.h

commit d68b494f7fac4a2d0f567cbf72fc1d802bbf1cb8
Author: Andy Dougherty <[email protected]>
Date:   Wed Feb 27 13:06:07 2013 -0500

    Disable gcc-style function attributes on z/OS.
    
    John Goodyear <[email protected]> reports that the z/OS C compiler
    supports the attribute keyword, but not exactly the same as gcc.
    Instead of a "warning", the compiler emits an "INFORMATIONAL" message
    that Configure fails to detect.  Until Configure is fixed, just disable
    the attributes altogether.
    
    John Goodyear

M       hints/os390.sh

commit 6f3383f27f004ebe9ddc0363fa60194d377f7839
Author: Andy Dougherty <[email protected]>
Date:   Wed Feb 27 09:12:13 2013 -0500

    Change os390 custom cppstdin script to use fgrep.
    
    Grep appears to be limited to 2048 characters, and truncates
    the output for cppstin.  Fgrep apparently doesn't have that limit.
    Thanks to John Goodyear <[email protected]> for reporting this.

M       hints/os390.sh

commit ae84448c2bbe13bf794376065a1da77015980ceb
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 13:45:19 2013 -0700

    utf8.c: Use more clearly named macro
    
    In the case of invariants these two macros should do the same thing,
    but it seems to me that the latter name more clearly indicates what is
    going on.

M       utf8.c

commit e83d7ce35696c49896832590b2a6a8c3204188ff
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 13:35:12 2013 -0700

    Add macro OFFUNISKIP
    
    This means use official Unicode code point numbering, not native.  Doing
    this converts the existing UNISKIP calls in the code to refer to native
    code points, which is what they meant anyway.  The terminology is
    somewhat ambiguous, but I don't think will cause real confusion.
    NATIVESKIP is also introduced for situations where it is important to be
    precise.

M       toke.c
M       utf8.c
M       utf8.h
M       utfebcdic.h

commit ae18deb1f02537fdab263e77e6bbd96233dd8173
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 13:22:19 2013 -0700

    toke.c: white space only

M       toke.c

commit 03b0345ad9a2eebddd1edc50a79169e9ba151ee0
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 12:08:50 2013 -0700

    utf8.c: Deprecate two functions
    
    This is to force any code that has been using these functions to change.
    Since the Unicode tables are now stored in native order, these functions
    should only rarely be needed.
    
    However, the functionality of these is needed, and in actuality, on
    ASCII platforms, the native functions are #defined to these.  So what
    this commit does is rename the functions to something else, and create
    wrappers with the old names, so that anyone using them will get the
    deprecation.

M       embed.fnc
M       embed.h
M       mathoms.c
M       proto.h
M       toke.c
M       utf8.c
M       utf8.h

commit d251c561b153ba108ccd9eb379c9aeb9df876e0c
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 11:26:09 2013 -0700

    Deprecate uvuni_to_utf8()
    
    Code should almost never be dealing with non-native code points

M       embed.fnc
M       embed.h
M       proto.h
M       toke.c
M       utf8.c
M       utf8.h

commit 953710e7cad10419f82062165d934f670cfc8c1b
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 11:02:33 2013 -0700

    Deprecate utf8_to_uni_buf()
    
    Now that the tables are stored in native order, there is almost no need
    for code to be dealing in Unicode order.

M       embed.fnc
M       proto.h
M       utf8.c

commit 337f2bfa90e12f5c5f620c780234224b3124f713
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 09:00:18 2013 -0700

    makedepend.SH: Comment out unnecessary code
    
    This causes problems currently for z/OS.  But, since we don't know why
    it was there, I'm leaving it in as a placeholder.

M       makedepend.SH

commit db8368abc2ae40913793b485b2a15b5f460fbb2b
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 20:26:44 2013 -0700

    Deprecate valid_utf8_to_uvuni()
    
    Now that all the tables are stored in native format, there is very
    little reason to use this function; and those who do need this kind of
    functionality should be using the bottom level routine, so as to make it
    clear they are doing nonstandard stuff.

M       embed.fnc
M       proto.h
M       utf8.c

commit e7f33e54e29c73082660fe90f3ef59c7438a51d1
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 20:14:26 2013 -0700

    utf8.c: Swap which fcn wraps the other
    
    This is in preparation for the current wrapee becoming deprecated

M       embed.fnc
M       embed.h
M       proto.h
M       utf8.c
M       utf8.h

commit ff94348a5aa279dab60406be7c753f964bde85fb
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 19:29:34 2013 -0700

    utf8.c: Skip a no-op
    
    Since the value is invariant under both UTF-8 and not, we already have
    it in 'uv'; no need to do anything else to get it

M       utf8.c

commit 126c3999e681909c3b6d9621174a10d0d149f2ce
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 19:26:50 2013 -0700

    utf8.c: Move comment to where makes more sense

M       utf8.c

commit 46d9b11096e72f07b84f0999a5d3526b0c7bde83
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 17:30:10 2013 -0700

    APItest: Test native code points, instead of Unicode

M       ext/XS-APItest/APItest.pm
M       ext/XS-APItest/APItest.xs
M       ext/XS-APItest/t/utf8.t

commit 4aaffeca6052d0220a73137fd83edda56667c4d7
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 17:25:08 2013 -0700

    XXX CPAN Normalize
    
    This converts Unicode::Normalize to use the native tables that are used
    by Perl starting in XXX, while using the Unicode-ordered ones that were
    used before then.
    
    Another alternative would be to have mktables generate just these tables
    in Unicode ordering.

M       cpan/Unicode-Normalize/Normalize.xs

commit b09ef432ce7559e516128af0ca3e570bc48c71dc
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 17:22:55 2013 -0700

    XXX CPAN prob wrong Collate
    
    This changes to implicity usenative code points.  This is likely wrong,
    as the module comes with its own data, that are probably in terms of
    Unicode

M       cpan/Unicode-Collate/Collate.xs

commit a072a637f22a1caaf23eb2fe0f9599c6ed8af74a
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 17:12:53 2013 -0700

    XXX CPAN Encode.xs
    
    Use core function if available.  This will insulate this code from any
    future changes.

M       cpan/Encode/Encode.xs

commit 8fb7b323f72d4afc5666ad1f0bdf91f84dabb9e3
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 17:04:24 2013 -0700

    XXX CPAN and unsure Encode

M       cpan/Encode/Encode.xs
M       cpan/Encode/Unicode/Unicode.xs

commit 44dfb5aee5c48a31934cf81e669c2ac3a63fa360
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 25 17:00:47 2013 -0700

    XXX CPAN Encode.xs: fix indent

M       cpan/Encode/Encode.xs

commit 59d9d019e0ce6bc6021d7bafa5efb9b3b219ab23
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 17:23:15 2013 -0700

    Don't refer to U+XXXX when mean native
    
    These messages say the output number is Unicode, but it is really
    native, so change to saying is 0xXXXX.

M       regen/regcharclass_multi_char_folds.pl
M       regexec.c

commit 44242d6fd19914ed41ae3f3835c80e49fa16ace0
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 16:43:59 2013 -0700

    Convert some uvuni() to uvchr()
    
    All the tables are now based on the native character set, so using
    uvuni() in almost all cases is wrong.

M       cygwin/cygwin.c
M       doop.c
M       op.c
M       pp_pack.c
M       regcomp.c
M       regexec.c
M       toke.c
M       utf8.c

commit 18ac73c048a1c24da5ea3f12911dba5b47a00168
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 16:25:47 2013 -0700

    handy.h: White space only

M       handy.h

commit a911f42c4678f78c2a8e1874231cf256255d68c3
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 16:19:49 2013 -0700

    t/test.pl: Allow native/latin1 string conversions to work on utf8.
    
    These functions no longer have the hard-coded definitions in them,
    but now end up resolving to internal functions, so that new encodings
    could be added and these would automatically understand them.
    
    Instead of using tr///, these now go character by character and
    converting to/from ord, which is slower, but allows them to operate on
    utf8 strings.
    
    Peephole optimization should make these essentially no-ops on ascii
    platforms.

M       t/test.pl

commit 69f2d4fd6009cd0f25a240dc4dad2fa068b7f0d6
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 16:05:55 2013 -0700

    t/test.pl: Simplify ord to/from native fcns
    
    This commit changes these functions from converting to/from a string to
    calling utf8:: functions which operate on ordinals instead.

M       t/test.pl

commit 0ec7d7f7a84ef4d162a62853f171d63fc1eccdf6
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 15:35:38 2013 -0700

    Make casing tables native
    
    These are final tables that haven't been converted to native character
    set casing.

M       perl.h
M       utfebcdic.h

commit 156134758adf5673bad034d43a15679af92c013c
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 24 15:32:30 2013 -0700

    utfebcdic.h: Remove trailing spaces

M       utfebcdic.h

commit ccbc5117e5c13603420f614b99c32a5ea1417fcb
Author: Karl Williamson <[email protected]>
Date:   Fri Feb 22 18:55:26 2013 -0700

    EBCDIC has the unicode bug too
    
    We have not had a working modern Perl on EBCDIC for some years.  When I
    started out, comments and code led me to conclude erroneously that
    natively it supported semantics for all 256 characters 0-255.  It turns
    out that I was wrong; it natively (at least on some platforms) has the
    same rules (essentially none) for the characters which don't correspond
    to ASCII onees, as the rules for these on ASCII platforms.
    
    A previous commit for 5.18 changed the docs about this issue.  This
    current commit forces ASCII rules on EBCDIC platforms (even should there
    be one that natively uses all 256).  To get all 256, the same things
    like 'use feature "unicode_strings"' must now be done.

M       handy.h

commit 1482db0abbd78a0ae21cab6bce510ffab0346e08
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 21 13:47:52 2013 -0700

    handy.h: Solve a failure to compile problem under EBCDIC
    
    handy.h is included in files that don't include perl.h, and hence not
    utf8.h.  We can't rely therefore on the ASCII/EBCDIC conversion
    macros being available to us.  The best way to cope is to use the native
    ctype functions.  Most, but not all, of the macros in this commit
    currently resolve to use those native ones, but a future commit will
    change that.

M       handy.h

commit 5e710674c71328129811e3401e81b37810852d52
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 21 13:35:12 2013 -0700

    handy.h: Simplify some macro definitions
    
    Now, only one of the macros relies on magic numbers (isPRINT), leading
    to clearer definitions.

M       handy.h

commit 7d459d3cebf4a44fd08e550b20eb85eb16069112
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 21 13:26:49 2013 -0700

    handy.h: Combine macros that are same in ASCII, EBCDIC
    
    These 4 macros can have the same RHS for their ASCII and EBCDIC
    versions, so no need to duplicate their definitions
    
    This also enables the EBCDIC versions to not have undefined expansions
    when compiling without perl.h

M       handy.h

commit 3a377624253e59f6c3cfa80cb2a22fff3151a568
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 20 10:39:48 2013 -0700

    Deprecate NATIVE_TO_NEED and ASCII_TO_NEED
    
    These macros are no longer called in the Perl core.  This commit turns
    them into functions so that they can use gcc's deprecation facility.
    
    I believe these were defective right from the beginning, and I have
    struggled to understand what's going on.  From the name, it appears
    NATIVE_TO_NEED taks a native byte and turns it into UTF-8 if the
    appropriate parameter indicates that.  But that is impossible to do
    correctly from that API, as for variant characters, it needs to return
    two bytes.  It could only work correctly if ch is an I8 byte, which
    isn't native, and hence the name would be wrong.
    
    Similar arguments for ASCII_TO_NEED.
    
    The function S_append_utf8_from_native_byte(const U8 byte, U8** dest)
    does what I think NATIVE_TO_NEED intended.

M       embed.fnc
M       mathoms.c
M       proto.h
M       toke.c
M       utf8.h
M       utfebcdic.h

commit fe6e07c728bdb91f90e7c7c7672d1087032211da
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 20 10:26:43 2013 -0700

    Remove remaining calls of NATIVE_TO_NEED
    
    These calls are just copying the input to the output byte by byte.
    There is no need to worry about UTF-8 or not, as the output is just an
    exact copy of the input

M       toke.c

commit 429b25760213198b86fdc81136106bfef993fe80
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 20 08:12:15 2013 -0700

    toke.c: Remove some NATIVE_TO_NEED calls
    
    I believe NATIVE_TO_NEED is defective, and will remove it in a future
    commit.  But, just in case I'm wrong, I'm doing it in small steps so
    bisects will show the culprit.  This removes the calls to it where the
    parameter is clearly invariant under UTF-8 and UTF-EBCDIC, and so the
    result can't be other than just the parameter.

M       toke.c

commit 1be1647c3bf247609f56a286df7330ed4a7b67e0
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 20 08:22:07 2013 -0700

    toke.c: in [A-Za-z] use macros that exclude non-ASCII alphas
    
    This code is attempting to deal with the problem of holes in the ranges
    a-z and A-Z in EBCDIC.  Prior to this patch, it accepeted things like A
    WITH GRAVE, etc, which shouldn't have the special processing to deal
    with the holes

M       toke.c

commit a149485317aaa49590ddd375d3d3104d774d2eaf
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 19 15:13:19 2013 -0700

    Use real illegal UTF-8 byte
    
    The code here was wrong in assuming that \xFF is not legal in UTF-8
    encoded strings.  It currently doesn't work due to a bug, but that may
    eventually be fixed: [perl #116867].  The comments are also wrong that
    all bytes are legal in UTF-EBCDIC.
    
    It turns out that in well-formed UTF-8, the bytes C0 and C1 never appear
    (C2, C3, and C4 as well in UTF-EBCDIC), as they would be the start byte
    of an illegal overlong sequence.
    
    This creates a #define for an illegal byte using one of the real illegal
    ones, and changes the code to use that.
    
    No test is included due to #116867.

M       op.c
M       toke.c
M       utf8.h

commit 2b337fb5a95868c6d4696b5e10a4434956276aea
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 17 14:00:13 2013 -0700

    toke.c: Don't remap \N{} for EBCDIC
    
    Everything is now in native,

M       toke.c

commit e3295028d3338be469a1cd65eb3203da813b3707
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 17 13:50:45 2013 -0700

    toke.c: Remove remapping for EBCDIC for octal
    
    The code prior to this commit converted something like \04 into its
    EBCDIC equivalent only in double-quoted strings.  This was not done in
    patterns, and so gave inconsistent results.  The correct thing to do
    should be to do the native thing, what someone who works on a platform
    would think \04 do.  Platform independent characters are available
    through \N{}, either by name or by U+.
    
    The comment changed by this was wrong, as in some cases it was native,
    and in some cases Unicode.

M       toke.c

commit a4af73b1134aa76b060060fbb6c7eb43be20384d
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 17 13:47:13 2013 -0700

    Remove EBCDIC remappings
    
    Now that the tables are stored in native format, we shouldn't be doing
    remapping.
    
    Note that this assumes that the Latin1 casing tables are stored in
    native order; not all of this has been done yet.

M       handy.h
M       perly.c
M       pp.c
M       regcomp.c
M       regexec.c
M       utf8.c

commit cbb46ebdf5259ba5c54e540199106771917b98dd
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 17 12:46:05 2013 -0700

    Add and use macro to return EBCDIC
    
    The conversion from UTF-8 to code point should generally be to the
    native code point.  This adds a macro to do that, and converts the
    core calls to the existing macro to use the new one instead.  The old
    macro is retained for possible backwards compatibility, though it
    probably should be deprecated.

M       handy.h
M       pp.c
M       regcomp.c
M       regexec.c
M       toke.c
M       utf8.c
M       utf8.h

commit f886e126f54a7f9bba57aa51dbd0aa66725b3478
Author: Karl Williamson <[email protected]>
Date:   Sun Feb 17 09:18:06 2013 -0700

    charnames: fix nit in comment

M       lib/_charnames.pm

commit ef58fee8afa98cecc9c8f73483c6fa1ef396b0a9
Author: Karl Williamson <[email protected]>
Date:   Sat Feb 16 11:05:44 2013 -0700

    charnames: Make work in EBCDIC
    
    Now that mktables generates native tables, the only thing that was
    needed was to make U+ mean Unicode instead of native.

M       lib/_charnames.pm
M       lib/charnames.pm

commit 308c3f6c30652dfca30d5ac1d986e2c13ab67da8
Author: Karl Williamson <[email protected]>
Date:   Sat Feb 16 09:35:56 2013 -0700

    Unicode::UCD: Work on non-ASCII platforms
    
    Now that mktables generates native tables, it is a fairly simple matter
    to get Unicode::UCD to work on those platforms.

M       lib/Unicode/UCD.pm

commit cfa5852055a5d2b6e63adf5604ba0aa359e5cf2c
Author: Karl Williamson <[email protected]>
Date:   Wed Mar 27 17:01:24 2013 -0600

    Unicode::UCD: Typo in comment

M       lib/Unicode/UCD.pm

commit 8bb9ab983f28d7c310b969b660c7c6e6d5f9b1b6
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 14 22:16:38 2013 -0700

    mktables: Generate native code-point tables
    
    The output tables for mktables are now in the platform's native
    character set.  This means there is no change for ASCII platforms, but
    is a change for EBCDIC ones.
    
    Since we currently don't have any EBCDIC test platforms, I tested this
    by faking it out to generate EBCDIC data, and then eye-balled the
    results.
    
    Code that didn't realize there was a potential difference between EBCDIC
    and non-EBCDIC platforms will now start to work; code that tried to do
    the right thing under these circumstances will no longer work.  Fixing
    that comes in later commits.

M       lib/unicore/mktables

commit 54bbb311ee53eee48b41d4aa0f7926534de32c6a
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 14 10:50:00 2013 -0700

    Fix some EBCDIC problems
    
    These spots have native code points, so should be using the macros for
    native code points, instead of Unicode ones.

M       regcomp.c
M       sv.c
M       toke.c

commit 11b65aba37003f3fb0efd391e3ec1274193e5e2c
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 13 22:10:19 2013 -0700

    Remove unnecessary temp variable in converting to UTF-8
    
    These areas of code included a temporary that is unnecessary.

M       inline.h
M       regcomp.c
M       sv.c

commit 3270112deb08fbcb6c5a9649c255ed912eb4291d
Author: Karl Williamson <[email protected]>
Date:   Wed Feb 13 22:00:55 2013 -0700

    utf8.h: Correct macros for EBCDIC
    
    These macros were incorrect for EBCDIC.  The 3 step process given in
    utfebcdic.h wasn't being followed.

M       utf8.h

commit e91c781380941a9903120dd6f09710095293c1e5
Author: Karl Williamson <[email protected]>
Date:   Sat Feb 9 21:23:30 2013 -0700

    Extract common code to an inline function
    
    This fairly short paradigm is repeated in several places; a later commit
    will improve it.

M       embed.fnc
M       embed.h
M       inline.h
M       pp_pack.c
M       proto.h
M       sv.c
M       toke.c
M       utf8.c

commit 185a63c6de79c6cd8c7365ab9b0acaf8d5dfca94
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 7 21:35:57 2013 -0700

    Don't use EBCDIC macro for a C language escape
    
    C recognizes '\a' (for BEL); just use that instead of a look-up.
    
    regen/unicode_constants.pl could be used to generate the character for
    the ESC (set in surrounding code), but I didn't do that because of
    potential bootstrapping problems when porting to an EBCDIC platform
    without a working perl.  (The other characters generated in that .pl are
    less likely to cause problems when compiling perl.)

M       regcomp.c
M       toke.c

commit ec33453cc6aea1ace500e9a9d5e7885dbd08abb8
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 7 19:53:38 2013 -0700

    Use byte domain EBCDIC/LATIN1 macro where appropriate
    
    The macros like NATIVE_TO_UNI will work on EBCDIC, but operate on the
    whole Unicode range.  In the locations affected by this commit, it is
    known that the domain is limited to a single byte, so the simpler ones
    whose names contain LATIN1 may be used.
    
    On ASCII platforms, all the macros are null, so there is no effective
    change.

M       handy.h
M       regcomp.c
M       utf8.c

commit 121d165d1ab39d4429c7013f68f568c9f36c7460
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 7 14:31:09 2013 -0700

    Use new clearer named #defines
    
    This converts several areas of code to use the more clearly named macros
    introduced in a recent commit

M       op.c
M       toke.c
M       utf8.c
M       utf8.h
M       utfebcdic.h

commit 60a8e87c9b2594aafbc0ba67266b77bcd9268d14
Author: Karl Williamson <[email protected]>
Date:   Thu Feb 7 13:52:31 2013 -0700

    utf8.h, utfebcdic.h: Create less confusing #defines
    
    This commit creates macros whose names mean something to me, and I don't
    find confusing.  The older names are retained for backwards
    compatibility.  Future commits will fix bugs I introduced from
    misunderstanding the meaning of the older names.
    
    The older names are now #defined in terms of the newer ones, and moved
    so that they are only defined once, valid for both ASCII and EBCDIC
    platforms.

M       utf8.h
M       utfebcdic.h

commit 3c99c96b6594d6677f205609478e89d89bd1587c
Author: Karl Williamson <[email protected]>
Date:   Mon Feb 4 14:22:02 2013 -0700

    pp_ctl.c: Use isCNTRL instead of hard-coded mask
    
    This is clearer and portable to EBCDIC.

M       pp_ctl.c

commit 18337bf95a417fbf0568ec68d362ab0b6a16fe03
Author: Karl Williamson <[email protected]>
Date:   Tue Feb 26 13:51:05 2013 -0700

    utf8.c: is_utf8_char_slow() should use native length
    
    What is passed is the actual length of the native utf8 character.  What
    this was calculating was the length it would be if it were a Unicode
    character, and then compares, apples to oranges.

M       utf8.c
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to