develooper Front page | perl.perl5.porters | Postings from March 2001

Re: Unicode/EBCDIC

Thread Previous | Thread Next
From:
Peter Prymmer
Date:
March 7, 2001 16:20
Subject:
Re: Unicode/EBCDIC
Message ID:
Pine.OSF.4.10.10103071557120.285038-100000@aspara.forte.com

On Wed, 7 Mar 2001, Simon Cozens wrote:

> Attached are two patches (one of which, I'm sorry to say, I accidentally
> reversed) which start to sanitize Unicode support on EBCDIC. This slightly
> affects ASCII users too, but it shouldn't be noticable - I've modified the
> behaviour of vx.y.z so that it *always* produces a Unicode-encoded string, and
> x.y.z are regarded as Unicode codepoints, even on EBCDIC. (v5.7.0 is NOT
> chr(5).chr(7).chr(0) on EBCDIC) Similarly, the %v format modifier for sprintf
> now returns Unicode codepoints, even on EBCDIC, for symmetry. (and to make the
> $^V test in configpm work - remember that failing, Peter?)

I do.

> I'll provide a more detailed explanation of what I've done when I get home,
> but I'd like MVS people to play with this and see if it makes sense for them.
> 
> This wouldn't have been possible without the help of Morgan Stanley Dean
> Witter, who gave me access to one of their mainframes for the day.

Thanks MSDW.  

Here is my first report summary:

OS/390 R2.7
config_args='-Dusedevel -Dprefix=/my/path -des'
 (in other words a default static build, _C89_CCMODE is not in %ENV).

Without any patches applied to an @9073 kit `make test` reports:

 Failed 12 test scripts out of 290, 95.86% okay.

Owing to a foul up on my part I did a build and `make test` with only
the second patch (univms.safe) applied and it too reported:

 Failed 12 test scripts out of 290, 95.86% okay.

(BTW: although both OSes tend to have unusual features like batch queues;
er, job spools; VMS is an ASCII based machine MVS is the EBCDIC one :-)

On to the combination of having applied both spc.patch and univms.safe
where `make test` now reports:

 Failed 22 test scripts out of 289, 92.39% okay.

Here are some interesting excerpts from the `make test` output:


comp/require..........String found where operator expected at bleah.pm
line 2, near """
  (Might be a runaway multi-line "" string starting on line 1)
        (Missing semicolon on previous line?)
String found where operator expected at bleah.pm line 1, near "BpBrBiBnBt
"BoBk CCCBn""
        (Do you need to predeclare BpBrBiBnBt?)
String found where operator expected at bleah.pm line 1, near "BpBrBiBnBt
"BoBk CCCBn""
        (Do you need to predeclare BpBrBiBnBt?)
FAILED at test 5

comp/use..............FAILED at test 16

io/utf8...............CEE5213S The signal SIGPIPE was received.
FAILED at test 9

op/append.............FAILED at test 7

op/bop................FAILED at test 31

op/each...............FAILED at test 25

op/join...............FAILED at test 11
op/length.............FAILED at test 7

op/pack...............FAILED at test 157
op/pat................Out of memory!
Callback called exit at ../lib/unicode/Name.pl line 5575.
FAILED at test 0

op/split..............FAILED at test 30
op/sprintf............FAILED at test 80

op/substr.............FAILED at test 133

op/tr.................CEE5213S The signal SIGPIPE was received.
FAILED at test 10

op/utf8decode.........FAILED at test 10

op/ver................Perl v9.9.640 required--this is only v5.7.0, stopped
at op/ver.t line 12.
BEGIN failed--compilation aborted at op/ver.t line 12.
FAILED at test 0

pragma/locale.........Unmatched [ before HERE mark in regex m/[ << HERE /
at pragma/locale.t line 710.
FAILED at test 99

pragma/warnings.......PROG: -W
[snip]
EXPECTED:
Name "main::z" used only once: possible typo at - line 6.
Name "main::x" used only once: possible typo at - line 4.
GOT:
Name "main::x" used only once: possible typo at - line 4.
Name "main::z" used only once: possible typo at - line 6.
CEE5213S The signal SIGPIPE was received.
FAILED at test 73

lib/charnames.........Out of memory!
Callback called exit at ../lib/unicode/Name.pl line 12384.
FAILED at test 0

lib/encode............Out of memory!
Callback called exit at ../lib/unicode/Name.pl line 5583.
FAILED at test 0

lib/io_unix...........Can't call method "getline" on an undefined value at
lib/io_unix.t line 65.
FAILED at test 3

camel-III/vstring.....FAILED at test 1
Failed 22 test scripts out of 289, 92.39% okay.
[snip]
u=14.52  s=4.84  cu=347.34  cs=115.78  scripts=289  tests=18109


This looks livable, although the tables for POSIX-BC and the IBM-037
char sets will need to be added too.

Peter Prymmer




Thread Previous | Thread Next


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