In perl.git, the branch khw/ebcdic has been created
<http://perl5.git.perl.org/perl.git/commitdiff/6233fba3d2d49e563f4ea2572f8f68448056bef2?hp=0000000000000000000000000000000000000000>
at 6233fba3d2d49e563f4ea2572f8f68448056bef2 (commit)
- Log -----------------------------------------------------------------
commit 6233fba3d2d49e563f4ea2572f8f68448056bef2
Author: Karl Williamson <[email protected]>
Date: Sun Apr 7 10:45:14 2013 -0600
t/op/goto.t: Generalize for EBCDIC
M t/op/goto.t
commit 15178cec1b0d4739f319636ed2627238a6d5b56a
Author: Karl Williamson <[email protected]>
Date: Sun Apr 7 10:44:42 2013 -0600
XXX Try uni/fold.t
M regcomp.c
M regexec.c
M t/uni/fold.t
commit da1e9097abadf0dc22bac43a07ec9bd749ec320b
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 21:03:44 2013 -0600
regcomp.c: White-space only, wrap comment to fit
M regcomp.c
commit 5d010ceec9f7d342300f81bd025b59ec0fce9cf1
Author: Karl Williamson <[email protected]>
Date: Wed Apr 3 20:15:17 2013 -0600
t/re/pat.t: Generalize for EBCDIC
M t/re/pat.t
commit d5d84ec8c076b3e28ff351f2c0027321e4b76745
Author: Karl Williamson <[email protected]>
Date: Wed Apr 3 21:56:02 2013 -0600
XXX t/op/pack.t: Generalize for EBCDIC
One unknown what to do: uuencode
M t/op/pack.t
commit 9c34958392a6374abbb62b96caa3bb60fa7bf9bc
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 12:56:52 2013 -0600
regcomp.c: In EBCDIC [i-j] exclude also ASCII
i and j are not adjacent in EBCDIC. This excluded any alphabetic
characters between them, but allowed other ascii ones.
M regcomp.c
M t/re/pat_advanced.t
commit 64b0a4552758f0d39a8080e12eec10896b449682
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 12:54:42 2013 -0600
utf8.c: Don't use slower general-purpose function
There is a macro that accomplishes the same task for a two byte UTF-8
encoded character, and avoids the overhead of the general purpose
function call.
M utf8.c
commit e5c07b886feb79e2d9e47f471a5fa48422ccad17
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 12:53:07 2013 -0600
utf8.c: Don't do ++ in macro parameter
The formal parameter gets evaluated multiple times on an EBCDIC
platform, thus incrementing more than the intended once.
M utf8.c
commit ac1fd0a63d42677bb5a29b3c0300071848647d32
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 12:50:48 2013 -0600
utf8.c: Use macro instead of duplicating code
There is a macro that accomplishes this task, and is easier to read.
M utf8.c
commit fdd7e90c503be4775e917ee5f84d7234b8722abe
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 10:15:05 2013 -0600
t/io/bom.t: Fix to run under EBCDIC
M t/io/bom.t
commit 37b79eec25e558439c78cf793bcb001ea954ace4
Author: Karl Williamson <[email protected]>
Date: Fri Apr 5 23:34:50 2013 -0600
t/uni/overload.t: EBCDIC fixes
M t/uni/overload.t
commit 653b5719044dc86a44b9f051f6f7f78371c54e31
Author: Karl Williamson <[email protected]>
Date: Fri Apr 5 23:34:13 2013 -0600
t/uni/method.t: EBCDIC fixes
M t/uni/method.t
commit 04f4a4e18d34959d4a1920809ea7eb474cdea2a0
Author: Karl Williamson <[email protected]>
Date: Fri Apr 5 23:33:28 2013 -0600
t/op/utf8magic.t: EBCDIC fixes
M t/op/utf8magic.t
commit ca31c671d36616093668b567fd794097e96073ff
Author: Karl Williamson <[email protected]>
Date: Fri Apr 5 23:32:57 2013 -0600
t/op/evalbytes.t: EBCDIC fixes
M t/op/evalbytes.t
commit 4cd8343c45816293973d002161b405e96da3ee78
Author: Karl Williamson <[email protected]>
Date: Fri Apr 5 16:20:20 2013 -0600
lib/utf8.pm: Fix pod verbatim line wrap
M lib/utf8.pm
M t/porting/known_pod_issues.dat
commit 4bb248d97567e0dd474880a0f1a31c87d7632861
Author: Karl Williamson <[email protected]>
Date: Fri Apr 5 13:27:42 2013 -0600
t/op/length.t: EBCDIC fixes
M t/op/length.t
commit d0c8b69d6191acf930291df9f7ce560292e90ba4
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 13:01:54 2013 -0600
t/op/utfhash.t: XXX Add debug
M t/op/utfhash.t
commit 35b2dcc20cf842f700bd93f3e55446a61830c788
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 d9266a49879d2e3a51825168fba5e933e9597019
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
commit 360f7577f6ffcf698c8e6762577ab495821c9036
Author: Karl Williamson <[email protected]>
Date: Sat Apr 6 20:39:22 2013 -0600
dist/IO/t/io_utf8argv.t: Generalize and enable EBCDIC
Infrastructure now exists to have this test run on EBCDIC platforms.
M dist/IO/t/io_utf8argv.t
commit 38a5c52000de12f8d5dea539d2c4ad17925988ad
Author: Karl Williamson <[email protected]>
Date: Wed Apr 3 21:59:16 2013 -0600
utf8.h: Clarify comments
M utf8.h
commit 9d20e811c58118a9bc4b02ef85e944d72ad3db43
Author: Karl Williamson <[email protected]>
Date: Wed Apr 3 19:06:52 2013 -0600
XXX CPAN cpan/Test/lib/Test.pm: Fixes for EBCDIC
M cpan/Test/lib/Test.pm
commit ba3c8d2c4ba4256734f9a9eb4502a4c0ea07623f
Author: Karl Williamson <[email protected]>
Date: Mon Apr 1 22:29:16 2013 -0600
t/re/pat_re_eval.t: Some EBCDIC fixes
M t/re/pat_re_eval.t
commit e44448b579db03fa0a95fa00c395d0d6a713a6f5
Author: Karl Williamson <[email protected]>
Date: Tue Apr 2 07:11:19 2013 -0600
t/test.pl: Add fcn for UTF-EBCDIC conversion
This adds the function byte_utf8a_to_utf8n(). This takes the bytes that
form a UTF-8 string and convert them to the bytes that form that string
on the native platform.
M t/test.pl
commit ea8897c37034fd35726fb289b4c8de808b9d8bac
Author: Karl Williamson <[email protected]>
Date: Mon Apr 1 22:28:43 2013 -0600
dist/Storable/t/utf8.t: Fix to run under EBCDIC
M dist/Storable/t/utf8.t
commit 97d8870aa8853a438fd39e9288933cfc827a4a10
Author: Karl Williamson <[email protected]>
Date: Mon Apr 1 22:28:08 2013 -0600
t/uni/variables.t: Fix to run under EBCDIC
M t/uni/variables.t
commit 62e0378a74b66ae8b8b46c7174331a2d2dd20448
Author: Karl Williamson <[email protected]>
Date: Mon Apr 1 21:08:20 2013 -0600
t/op/split.t: EBCDIC fixes
M t/op/split.t
commit fbf7d0605e643f958ef9e3460770ffafb922e0d8
Author: Karl Williamson <[email protected]>
Date: Mon Apr 1 20:43:03 2013 -0600
re/pat_advanced.t: EBCDIC fixes
This includes not skipping some EBCDIC that formerly was, since we now
have testing infrastructure that makes this easy.
M t/re/pat_advanced.t
commit dd643d85544e1dc6a69df9b606ce90c536dc492e
Author: Karl Williamson <[email protected]>
Date: Mon Apr 1 20:01:04 2013 -0600
t/io/utf8.t: EBCDIC fixes
M t/io/utf8.t
commit 040751c39116a513f60ce2fc55ddb9a546cdb7a4
Author: Karl Williamson <[email protected]>
Date: Sat Mar 30 21:13:38 2013 -0600
Unicode::UCD.pm: Nits
M lib/Unicode/UCD.pm
commit 7069c335eaf5e3f871046517c950706db2ee395c
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 f013b3dfaaa85050aaec9f48e66a81a756e46f54
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 13b1af4e1b75cd80de9ad863554b4499745d78fe
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 06df919f56139f7596aaf5be3476cec0b0476155
Author: Karl Williamson <[email protected]>
Date: Fri Mar 29 13:34:59 2013 -0600
utf8.c: No need to check for UTF-8 malformations
This function assumes that the input is well-formed UTF-8, even though
until this commit, the preferatory comments didn't say so. The API does
not pass the buffer length, so there is no way it could check for
reading off the end of the buffer. One code path already calls
valid_utf8_to_uvchr(); this changes the remaining code path to correspond.
M utf8.c
commit b2d20945409f18635a8825c46703026c9a1af298
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 b2579f51da5889206d17362f1a8663d1cfb50bba
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 b0274520f06dcbbc2d7aa7f941a70a9ff19dc127
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 3b7d1593bf29820a5cf2cb94a5a04874a265e956
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 3199a043e132462e17cf58688363632128fab8ba
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 b7a7286ac19598dc2d2fd0d20d72bfe09b0c4a9a
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 1a9fef82d9f45c85aa1887d413ea5897c0593aa2
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 6f5c3df55a0c39e5f1914539d1c06f8e0f501600
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 d1cef3029a590582cc9989f0d81ac82d377a3de8
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 7fd727f691eed4a27deb5724604fa5853b359ae9
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 f4594486b2ba3c7b47c9b0ded7eed7b69071376a
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 20902a99304fdaf9949da00b9b734f60f6518079
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 9f766a2029c669230825ee2d3b4673bfbac8aad1
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 474e6f41b658af9d9641bcd1273d4c0e9e55a937
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 a9054db42d8ed16f810b0f80d6dfd7835c0b9051
Author: Karl Williamson <[email protected]>
Date: Tue Mar 26 15:44:59 2013 -0600
XXX t/TEST: Avoid SIGPIPEs
M t/TEST
commit 5e6696cd5c07c70db43143ca794cc56f8ddb4471
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 71bf6258b58aec0c3ac191fe3e209301d75e90a0
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 9864434c134a154369aecb3e02777909f661e7db
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 ca647d69fcfa14dbfe23df1174d679747b301b85
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 832f77daa12ad57defba7422e6dbd3e9e1c105bc
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 0fa346f8014e51190e9b9d52ceeb8c524736ee3b
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 1c21ea7e921436447351932f53a255e2eb39d262
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 44b71db81e6a0d63e1a224bec909c42673fc51f2
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 d5c1a29e9fa8a02d4a54ae31420fc5b5b4a32df4
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 46df074fa9c8ec9efa9b052a8227b4e03a3ea53e
Author: Karl Williamson <[email protected]>
Date: Sun Mar 24 17:59:59 2013 -0600
mktables: Fix typos in comments
One of these fixes is for where a real CTRL-X was specified, instead of
$^X
M lib/unicore/mktables
commit 98c3260272b9f937ec83a26be5d17b45580be43f
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 06310c02e3d101aa751e11e2214dd3af15709b06
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 94af1df41d29e69aab6e30a017fd10be7fe0598f
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 345cbfa6abba1b7d993d11d6ac2f98efdae16436
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 aced7b961bff3bb33aebe3fc5fc5eccee4e0cf19
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 e6df3ea174e4a58c5cd264f7c8f5c6eb3ec5d8a5
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 18dc25499869d662752080d6477adb8c487fe59d
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 c2f78ec4be42262f71b0ef8618525fb54a6884c3
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 202268258405d157ac591ef085cf3b03c53d9ad4
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 b23599b9e4e0abf32dfb87857959e651471907c8
Author: Karl Williamson <[email protected]>
Date: Tue Mar 19 10:10:46 2013 -0600
XXX rebase regen/regcharclass.pl: make more EBCDIC friendly
XXX regen/regcharclass.pl: maybe temp comment out utf8_char
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
M regen/regcharclass_multi_char_folds.pl
commit dfba29bc4304057da121eb03bbf55ca100040434
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 94b25724b27e76a6bb4febe57b42207b677dac89
Author: Karl Williamson <[email protected]>
Date: Mon Mar 18 22:00:29 2013 -0600
XXX temp skip perl5db.t
M lib/perl5db.t
commit 0215e2328fdf5be586cb6da6372ed5ad60b052b8
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 b4a2d6d091ef022af81f018e3032da3fa820e79f
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 ac17078a961c63a033555c8a8dfc71ea2c811d59
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 d495b3d39bff3c045e55a44e648c14a995c4afaf
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 fcb5c53411031bb0a92c649d7d7734ed9a84bb2a
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 40330f54423a977dcd89b40034c7de934580ba2c
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 f76e75eaac5ab77eef3394ada05e51947a3c4d30
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 c1b27470d7452c360a378c9a75682137361a4314
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 c0f1b5a52deca1befe163f03db2b0962553b9dfe
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 d128281629dced4698a9dd3b475d8a487322381f
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 40462a69a18c4107242bed16e9ac4afbc32dae18
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 d7abfc49b072d7afb5a8841351afcc8c77383edd
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 d3bbc80747a84da12a2fc69165cca2145a3ee1c0
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 ec13d1a62777369e78df6066decc02e38467ce72
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 71f2031d7e55baf46f5973e640d58aa454146d9e
Author: Karl Williamson <[email protected]>
Date: Wed Mar 13 16:18:12 2013 -0600
genpacksizetables.pl: Correct comment typo
M genpacksizetables.pl
commit 5e8ea6ade0e6445df69d88c0fcc50fa96b54b2e1
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 255eb60296a4dad776da402225fbc056d9cc0296
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 79d707132ee56ebf0c8f158034941ab384a68f3e
Author: Karl Williamson <[email protected]>
Date: Wed Mar 13 16:14:31 2013 -0600
sv.c: Make less ASCII-centric
M sv.c
commit 1fc6d61df436e6dc0bec5ec83f770143c0fcd880
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 4223b3f6d79ceab0fede41ad6374e510bcda6184
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 a9841bd40a98fdf7044535404c93a3c36adaeca8
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 d4ec85eca667b4baf69380542e19e6e90fe413a1
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 8bb92d85563a8326013577c527940aa91bdb2511
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 ae3882c57c1a3da19ae5af5db001c1053bb0dfda
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 4822f66ae51056f900b881264fd9ccf706dfa2a0
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 bb8d149a82c3480b5c9f8c307d1d1728ecd983f9
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 b56ee4d36759a3d32cda2ea36cb8253830b67a8e
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 43b100ec61426704fb46b72d6ad29ebb1e08ac3f
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 10eab09a2918695435fc3e16c46f89c57d3e45f5
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 2cf52515cbdd63aa4297ad6d7ff05b6e5c1fe6e8
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 115ec0947258d54530cbde264d889c85f041d03b
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 38a1ad18646a935705bf2cc952bb18a024418e2f
Author: Karl Williamson <[email protected]>
Date: Mon Mar 4 13:43:26 2013 -0700
gv.c: Remove EBCDIC dependency
M gv.c
commit 45deb8c65659ceede4759d16cf9055fcc20440f4
Author: Karl Williamson <[email protected]>
Date: Mon Mar 4 13:00:47 2013 -0700
toke.c: Remove EBCDIC dependency
M toke.c
commit a0f0426ca5ea301f96be31bafaa284b00e6dac67
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 a38f84671c22c20b46b88b20308adf0577d4c13b
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 3a82020be7530bdc2247ae32b885127f8d61357e
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 1d0b6fbebc6c6b3675d17c3b6d8fced7d1775a5f
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 5750995194ee0d4432439abb1da9707822f66b01
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 2e9f648cfe3b4b2237287d9fce497dd094ff308d
Author: Karl Williamson <[email protected]>
Date: Sat Mar 2 12:33:42 2013 -0700
utfebcdic.h: Add comment
M utfebcdic.h
commit fb5f4abc414aeae1b9b98e6ed898f6a128b20fa5
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 120775fdf6f15766ccd0d3bac438dbb3fd9bf83f
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 e792ed69081754accb03fdaf0f53f6101b77f7f7
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 54b4b1fff85e95fc889559d63ac45b74a820d398
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 0732344840a921a40bb521202f2c8fdfd4c51dd1
Author: Karl Williamson <[email protected]>
Date: Thu Feb 28 09:25:27 2013 -0700
XXX temp: show makedepend cerr
M makedepend.SH
commit f831bcad0b836cf0e4c6c947f8bc394018f47791
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 b8ad076b93b82f165b8d77d67f3f83cf33a287d1
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 ffe5bf78173577c9644720084fcf80403a21cdae
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 681fe3d3c0690b850f651ab4e1023a87622a91cb
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 78b3ea63a4d5a035389de982d226e5ff1df8b686
Author: Karl Williamson <[email protected]>
Date: Wed Feb 27 08:38:19 2013 -0700
handy.h: Remove extraneous parens
M handy.h
commit 01701dc697321e0d7efd3bea6c1dd330dee480c3
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 5e8e05cf8c5bbba4f7275cecdc0ff95ff35e3f0e
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 102dfc0ae67f1f807a9bc669fbc27b7560ea0d5d
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 50fbf9ea49517360158648d2b3d1447b618353f2
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 5aa3cc30e727e9e422bad81825e02a2f20f00e88
Author: Karl Williamson <[email protected]>
Date: Tue Feb 26 13:22:19 2013 -0700
toke.c: white space only
M toke.c
commit 45ba074748d9a27ebac0909868e44bd82fc42eeb
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 a058a2fedd7ffec8cc32e7c14ed84b1a41a1ee70
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 776c97add5a8bf0a18d5e43e8d1ff39b6195d63b
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 a739a2306155b0fc8e3d3553018c171098f86935
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 b32a8f9833c0f36777bdbf213f031808b7e8eb9f
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 d9de181e8ba8fb58ee457669f7ac464d3b068ce4
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 2e5a005a9d0b2f55f902319b135145f248aa89ea
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 876c474e6492607693c5bfcf928f0a76e1c558ab
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 b43e922c51c41efbe90eba61a44d178393183e03
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 619fd86f9f0f5171df49ebc4c5d1b2cbf4357b53
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 58c39498f76cd37d15b4936f16716f8c24b15917
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 1eedd84881f4d9df564c7ce84dfb72d2eb882eae
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 f7336f14e881fee14cd37019538edaad8ff95bfd
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 610bc91f836c9c27e444b5eb17d9201032d2d996
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 b1fecde536e3793246b6953768c036d646199d3d
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 763741d01a303106d511e9a8ddf970bd136b66f3
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 0e42912ce19a53e983be85957ba4afaad8ecbd18
Author: Karl Williamson <[email protected]>
Date: Sun Feb 24 16:25:47 2013 -0700
handy.h: White space only
M handy.h
commit 744d71578035e681aed6bda0b0c6470706437237
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 659a93973bb2b10f1912d6f311a8b511f2930246
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 54c7edf844ec2da5ffcb92e679ad5012d876a9a9
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 c09fb926b77c77b91609dbaffe5c07ab77a126d5
Author: Karl Williamson <[email protected]>
Date: Sun Feb 24 15:32:30 2013 -0700
utfebcdic.h: Remove trailing spaces
M utfebcdic.h
commit 2961c372dc8bc36c931963ed8c33e0717c3d62f0
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 c48235f79f17bb0c855239e7fff225fd946b89c9
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 76fc6cff2bd38519ea5db69d874ed4ce8cc82a82
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 cbc7630d3c61e1a2938b02f2aa6b84c697ec897a
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 1589bfea03a9f7a99a51dad52eac85ff770f15d5
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 1400e8248f416109237db9410cfff34864f92adc
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 053c9978f6ed4455ade513b3c8fbb596768de7f3
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 f093ddfeb4656816696f6bf39223ce8c6f27936d
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 6ac562dff8c272c1602e9137a44faf4933f42c8a
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 b6099d4715263461dfb17691cf68b68841b7e2dc
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 4b4b876aeb048e7b1d994b986b31bf243194c411
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 4d9d37e40ca28800eda029c753efe1c02f738685
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 139f6539cb379b0d640199b50f198255b6e07ccc
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 7b989e3d99b4c06d544cb8e3cdf155e4ff5655e6
Author: Karl Williamson <[email protected]>
Date: Sun Feb 17 09:18:06 2013 -0700
charnames: fix nit in comment
M lib/_charnames.pm
commit e80f61fa088e245507330036938f1e3dc917521b
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 fe8dd5c82432caf44b937670f7fd07ab48328a7d
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 094ca70468db79857f74249346cbafdde7a7b30a
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 04af8d3a338c2ed62e0fd5d2b9047a340f326b1b
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 795da5fc07bd14ca9478b5a7ed5eee2c9b0697c6
Author: Karl Williamson <[email protected]>
Date: Tue Apr 2 21:36:28 2013 -0600
mktables: Move table creation code
This code is moved later in the process. This is in preparation for
mktables generating tables in the native character set. By moving it to
later, the translation to native has already been done, and special
coding need not be done.
This also caught 7 code points that were omitted somehow in the previous
logic
M lib/unicore/mktables
commit 81f55bf310221da9de8304a86c68e25b92c6d141
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 e2e171427e53d82658c16a53cc62fad54fcbe820
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 91af0e5f5e9ea8afff5bcbcd4dff2e4fa386261a
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 cf0b3d53d1717fa7ab8bd278b57e41ea838fa1b6
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 0e14e3cfce13253610f183a299a0df363ac6be77
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 3596b4803dc64be73c7e068a5f9a106f958454bf
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 182b7aafa93d891e9675982439c1a119854c7d50
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 83ece809008695e5b97a8ccd2383fef91ace4e5f
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 6b337ea1833ad3390c23cccc297a6af32dcf057e
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 c333e568d5d38008bf520917b8ece84582ecd7c3
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