summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MANIFEST2
-rw-r--r--global.sym10
-rw-r--r--proto.h15
-rw-r--r--t/pragma/warn/doop6
-rw-r--r--t/pragma/warn/pp6
-rw-r--r--t/pragma/warn/regcomp16
-rw-r--r--t/pragma/warn/sv6
-rw-r--r--t/pragma/warn/toke2
-rw-r--r--t/pragma/warn/utf812
9 files changed, 42 insertions, 33 deletions
diff --git a/MANIFEST b/MANIFEST
index 9e686d6fd0..d483545290 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -673,6 +673,8 @@ lib/bigfloat.pl An arbitrary precision floating point package
lib/bigint.pl An arbitrary precision integer arithmetic package
lib/bigrat.pl An arbitrary precision rational arithmetic package
lib/blib.pm For "use blib"
+lib/byte.pm Pragma to enable byte operations
+lib/byte_heavy.pl Support routines for byte pragma
lib/cacheout.pl Manages output filehandles when you need too many
lib/caller.pm Inherit pragmatic attributes from caller's context
lib/charnames.pm Character names
diff --git a/global.sym b/global.sym
index 2cb0e118ad..41993281dd 100644
--- a/global.sym
+++ b/global.sym
@@ -520,11 +520,15 @@ Perl_sv_2iv
Perl_sv_2mortal
Perl_sv_2nv
Perl_sv_2pv
+Perl_sv_2pvutf8
+Perl_sv_2pvbyte
Perl_sv_2uv
Perl_sv_iv
Perl_sv_uv
Perl_sv_nv
Perl_sv_pvn
+Perl_sv_pvutf8n
+Perl_sv_pvbyten
Perl_sv_true
Perl_sv_add_arena
Perl_sv_backoff
@@ -564,6 +568,8 @@ Perl_sv_peek
Perl_sv_pos_u2b
Perl_sv_pos_b2u
Perl_sv_pvn_force
+Perl_sv_pvutf8n_force
+Perl_sv_pvbyten_force
Perl_sv_reftype
Perl_sv_replace
Perl_sv_report_used
@@ -666,7 +672,11 @@ Perl_default_protect
Perl_vdefault_protect
Perl_reginitcolors
Perl_sv_2pv_nolen
+Perl_sv_2pvutf8_nolen
+Perl_sv_2pvbyte_nolen
Perl_sv_pv
+Perl_sv_pvutf8
+Perl_sv_pvbyte
Perl_sv_force_normal
Perl_tmps_grow
Perl_sv_rvweaken
diff --git a/proto.h b/proto.h
index 0f33f87865..634a573916 100644
--- a/proto.h
+++ b/proto.h
@@ -652,6 +652,8 @@ PERL_CALLCONV char* Perl_sv_peek(pTHX_ SV* sv);
PERL_CALLCONV void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
PERL_CALLCONV char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV* sv, STRLEN* lp);
+PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV* sv, STRLEN* lp);
PERL_CALLCONV char* Perl_sv_reftype(pTHX_ SV* sv, int ob);
PERL_CALLCONV void Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
PERL_CALLCONV void Perl_sv_report_used(pTHX);
@@ -685,11 +687,6 @@ PERL_CALLCONV void Perl_taint_proper(pTHX_ const char* f, const char* s);
PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ U8 *p);
PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ U8 *p);
PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ U8 *p);
-PERL_CALLCONV STRLEN Perl_sv_len_utf8(pTHX_ SV* sv);
-PERL_CALLCONV void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
-PERL_CALLCONV void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
-PERL_CALLCONV char* Perl_sv_pvutf8n_force(pTHX_ SV* sv, STRLEN* lp);
-PERL_CALLCONV char* Perl_sv_pvbyten_force(pTHX_ SV* sv, STRLEN* lp);
#if defined(UNLINK_ALL_VERSIONS)
PERL_CALLCONV I32 Perl_unlnk(pTHX_ char* f);
#endif
@@ -772,7 +769,11 @@ PERL_CALLCONV void* Perl_default_protect(pTHX_ volatile JMPENV *je, int *excpt,
PERL_CALLCONV void* Perl_vdefault_protect(pTHX_ volatile JMPENV *je, int *excpt, protect_body_t body, va_list *args);
PERL_CALLCONV void Perl_reginitcolors(pTHX);
PERL_CALLCONV char* Perl_sv_2pv_nolen(pTHX_ SV* sv);
+PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv);
+PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv);
PERL_CALLCONV char* Perl_sv_pv(pTHX_ SV *sv);
+PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv);
+PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv);
PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv);
PERL_CALLCONV void Perl_tmps_grow(pTHX_ I32 n);
PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *sv);
@@ -803,10 +804,6 @@ PERL_CALLCONV void Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *oldsv, void
PERL_CALLCONV void Perl_ptr_table_split(pTHX_ PTR_TBL_t *tbl);
#endif
-PERL_CALLCONV char* Perl_sv_2pvutf8_nolen(pTHX_ SV* sv);
-PERL_CALLCONV char* Perl_sv_2pvbyte_nolen(pTHX_ SV* sv);
-PERL_CALLCONV char* Perl_sv_pvutf8(pTHX_ SV *sv);
-PERL_CALLCONV char* Perl_sv_pvbyte(pTHX_ SV *sv);
#if defined(PERL_OBJECT)
protected:
#else
diff --git a/t/pragma/warn/doop b/t/pragma/warn/doop
index d666950495..cce6bdc07c 100644
--- a/t/pragma/warn/doop
+++ b/t/pragma/warn/doop
@@ -26,6 +26,6 @@ no warnings 'utf8' ;
$_ = "\x80 \xff" ;
chop ;
EXPECT
-\x80 will produce malformed UTF-8 character; use \x{80} for that at - line 4.
-\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 4.
-Malformed UTF-8 character at - line 5.
+\x80 will produce malformed UTF-8 character; use \x{80} for that at - line 10.
+\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 10.
+Malformed UTF-8 character at - line 11.
diff --git a/t/pragma/warn/pp b/t/pragma/warn/pp
index 227c97c664..eb09e059ba 100644
--- a/t/pragma/warn/pp
+++ b/t/pragma/warn/pp
@@ -126,6 +126,6 @@ no warnings 'utf8' ;
$_ = "\x80 \xff" ;
reverse ;
EXPECT
-\x80 will produce malformed UTF-8 character; use \x{80} for that at - line 4.
-\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 4.
-Malformed UTF-8 character at - line 5.
+\x80 will produce malformed UTF-8 character; use \x{80} for that at - line 10.
+\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 10.
+Malformed UTF-8 character at - line 11.
diff --git a/t/pragma/warn/regcomp b/t/pragma/warn/regcomp
index 581b84a026..bb208db6bd 100644
--- a/t/pragma/warn/regcomp
+++ b/t/pragma/warn/regcomp
@@ -143,14 +143,14 @@ no warnings 'unsafe' ;
/[[:alpha:]-[:digit:]]/;
/[[:digit:]-[:alpha:]]/;
EXPECT
-/[a-\d]/: false [] range "a-\d" in regexp at - line 6.
-/[\d-b]/: false [] range "\d-" in regexp at - line 7.
-/[\s-\d]/: false [] range "\s-" in regexp at - line 8.
-/[\d-\s]/: false [] range "\d-" in regexp at - line 9.
-/[a-[:digit:]]/: false [] range "a-[:digit:]" in regexp at - line 10.
-/[[:digit:]-b]/: false [] range "[:digit:]-" in regexp at - line 11.
-/[[:alpha:]-[:digit:]]/: false [] range "[:alpha:]-" in regexp at - line 12.
-/[[:digit:]-[:alpha:]]/: false [] range "[:digit:]-" in regexp at - line 13.
+/[a-\d]/: false [] range "a-\d" in regexp at - line 12.
+/[\d-b]/: false [] range "\d-" in regexp at - line 13.
+/[\s-\d]/: false [] range "\s-" in regexp at - line 14.
+/[\d-\s]/: false [] range "\d-" in regexp at - line 15.
+/[a-[:digit:]]/: false [] range "a-[:digit:]" in regexp at - line 16.
+/[[:digit:]-b]/: false [] range "[:digit:]-" in regexp at - line 17.
+/[[:alpha:]-[:digit:]]/: false [] range "[:alpha:]-" in regexp at - line 18.
+/[[:digit:]-[:alpha:]]/: false [] range "[:digit:]-" in regexp at - line 19.
########
# regcomp.c [S_regclass S_regclassutf8]
use warnings 'unsafe' ;
diff --git a/t/pragma/warn/sv b/t/pragma/warn/sv
index 82080308f2..97d61bca17 100644
--- a/t/pragma/warn/sv
+++ b/t/pragma/warn/sv
@@ -285,9 +285,9 @@ $^W =0 ;
}
my $a = rindex "a\xff bc ", "bc" ;
EXPECT
-\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 6.
-Malformed UTF-8 character at - line 6.
-Malformed UTF-8 character at - line 10.
+\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 12.
+Malformed UTF-8 character at - line 12.
+Malformed UTF-8 character at - line 16.
########
# sv.c
use warnings 'misc';
diff --git a/t/pragma/warn/toke b/t/pragma/warn/toke
index cfffa370e6..515241ab4d 100644
--- a/t/pragma/warn/toke
+++ b/t/pragma/warn/toke
@@ -474,7 +474,7 @@ $_ = " \xffe " ;
no warnings 'utf8' ;
$_ = " \xffe " ;
EXPECT
-\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 4.
+\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 10.
########
# toke.c
my $a = rand + 4 ;
diff --git a/t/pragma/warn/utf8 b/t/pragma/warn/utf8
index 1faa80c16a..19b8d1db3a 100644
--- a/t/pragma/warn/utf8
+++ b/t/pragma/warn/utf8
@@ -37,9 +37,9 @@ my $a = ord "\x80" ;
my $a = ord "\x80" ;
}
EXPECT
-Malformed UTF-8 character at - line 3.
-\x80 will produce malformed UTF-8 character; use \x{80} for that at - line 6.
-Malformed UTF-8 character at - line 6.
+Malformed UTF-8 character at - line 9.
+\x80 will produce malformed UTF-8 character; use \x{80} for that at - line 12.
+Malformed UTF-8 character at - line 12.
########
# utf8.c [utf8_to_uv]
use utf8 ;
@@ -63,6 +63,6 @@ my $a = ord "\xf080" ;
my $a = ord "\xf080" ;
}
EXPECT
-Malformed UTF-8 character at - line 3.
-\xf0 will produce malformed UTF-8 character; use \x{f0} for that at - line 6.
-Malformed UTF-8 character at - line 6.
+Malformed UTF-8 character at - line 9.
+\xf0 will produce malformed UTF-8 character; use \x{f0} for that at - line 12.
+Malformed UTF-8 character at - line 12.