This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate changes #7941,7943,7944,7958,7967,7995,7996,7998,
authorJarkko Hietaniemi <jhi@iki.fi>
Sat, 27 Jan 2001 22:15:46 +0000 (22:15 +0000)
committerJarkko Hietaniemi <jhi@iki.fi>
Sat, 27 Jan 2001 22:15:46 +0000 (22:15 +0000)
commitfeb4a48fa9aa7b00f98561340ad2beeba6a78642
tree5fc0585c9e8a9ddc19d7397aa3745c804eb77e86
parent3d4730f28664866da7110e27777db4bb218ba171
Integrate changes #7941,7943,7944,7958,7967,7995,7996,7998,
8004,8005,8023,8024,8028,8030,8031,8033,8039,8042,8052[perlio],
8053[perlio],8054[perlio,+sv.c(-PerlIO_isutf8),+require.t],
8084,8204,8244,8333 from mainline.

For -Q where Q might be a one-letter sub name one does no more
get a warning about an unknown filetest (7941,7943,7944,8084).

Subject: Re: [ID 20001130.011] expression parsing bug ?

Make uv_to_utf8() to zero-terminate its output buffer.

Split off t/op/length.t (7995)

Split off t/op/utf8decode.t (7996)

Remove an unnecessary 'use utf8' from the utf8.t (7998)

Split off t/op/concat.t (8004)

Split off t/op/ver.t (8005)

Document utf8_length(), utf8_distance(), and utf8_hop().

Document utf8_to_uv() better.

Introduce macros for UTF8 decoding (8028,8033).

Add test for reverse() (8030,8031).

Subject: [PATCH] Re: ebcdic <-> ascii tables interjected in uv <-> utf8 considered harmful (8039,8333)

Do not return the Unicode replacement character on UTF-8
decoding failure.

Typo/thinko in S_scan_const() - seeing high bit sets has_utf8
not this_utf8 i.e. the output string has one, but don't mess
with source assumption. (8052,8053)

Tweak t/comp/require.t to add a 'use bytes' to permit its dubious
writing of BOM to a non-utf8 stream.  Fix SvPVutf8() - sv_2pv()
was not expecting to be called with something that was already
SvPOK() - (we just fossiked with SvUTF8 bit). Fix that and also
just use the SvPV macro in sv_2pvutf8() to avoid the issue/overhead.
(8054)

Recode the naughty binary bytes in utf8decode.t using the \xHH.

Make some panic messages a bit more logical.

p4raw-link: @7967 on //depot/perl: ad391ad9bbfeaf73d3944b50240313a5677bcc60
p4raw-link: @7958 on //depot/perl: 7b3fae3c4b820c030a968065a87feacf276c7a7f
p4raw-link: @7944 on //depot/perl: e5edeb50dffa2b3a1d6245f54a443cff2a31eb3f
p4raw-link: @7943 on //depot/perl: 4c32f29ba9da41e214e9e03a44a530ee0427f19a
p4raw-link: @7941 on //depot/perl: 3451b8f41d00bcd648d86872b906a29e6c9a3d51

p4raw-id: //depot/maint-5.6/perl@8570
p4raw-integrated: from //depot/perlio@8569 'copy in' t/comp/require.t
(@7388..)
p4raw-integrated: from //depot/perlio@8054 'edit in' MANIFEST (@8048..)
sv.c (@8049..)
p4raw-integrated: from //depot/perlio@8053 'edit in' toke.c (@8052..)
p4raw-branched: from //depot/perl@8569 'branch in' t/op/concat.t
t/op/reverse.t t/op/utf8decode.t (@8143..)
p4raw-integrated: from //depot/perl@8569 'copy in'
lib/ExtUtils/Liblist.pm (@8074..) 'edit in' t/pragma/warn/toke
(@7944..)
p4raw-integrated: from //depot/perl@8333 'edit in' doop.c (@8328..)
p4raw-integrated: from //depot/perl@8244 'edit in' pod/perldiag.pod
pp_hot.c (@8234..) pp.c (@8243..)
p4raw-integrated: from //depot/perl@8084 'edit in' toke.c (@8058..)
p4raw-integrated: from //depot/perl@8042 'edit in' utf8.c (@8039..)
'ignore' pod/perlapi.pod (@8033..)
p4raw-integrated: from //depot/perl@8033 'edit in' utf8.h (@8028..)
p4raw-integrated: from //depot/perl@8031 'edit in' MANIFEST (@8030..)
p4raw-integrated: from //depot/perl@8028 'copy in' t/pragma/warn/utf8
(@7697..)
p4raw-integrated: from //depot/perl@8023 'merge in' embed.pl (@7991..)
p4raw-integrated: from //depot/perl@8005 'copy in' t/op/ver.t (@7194..)
'edit in' t/pragma/utf8.t (@8004..)
p4raw-branched: from //depot/perl@7995 'branch in' t/op/length.t
p4raw-integrated: from //depot/perl@7967 'edit in' sv.c (@7936..)
'merge in' regcomp.c regexec.c (@7940..) op.c (@7959..)
p4raw-integrated: from //depot/perl@7943 'copy in' t/op/misc.t
(@7941..)
22 files changed:
MANIFEST
doop.c
embed.pl
op.c
pod/perlapi.pod
pod/perldiag.pod
pp.c
pp_hot.c
regcomp.c
regexec.c
sv.c
t/comp/require.t
t/op/concat.t [new file with mode: 0644]
t/op/length.t [new file with mode: 0644]
t/op/reverse.t [new file with mode: 0644]
t/op/utf8decode.t [new file with mode: 0644]
t/op/ver.t
t/pragma/utf8.t
t/pragma/warn/utf8
toke.c
utf8.c
utf8.h