This is a live mirror of the Perl 5 development currently hosted at
perl 5.003_06: proto.h
authorPerl 5 Porters <>
Mon, 7 Oct 1996 19:03:00 +0000 (22:03 +0300)
committerAndy Dougherty <>
Mon, 7 Oct 1996 19:03:00 +0000 (22:03 +0300)
Restore the 5.003 gv_fullname() and gv_efullname() functions.
Provide new 3-arg forms gv_fullname3() and gv_efullname3().

Date: Mon, 30 Sep 1996 01:13:28 -0400
From: Spider Boardman <spider@Orb.Nashua.NH.US>
Subject: Re: pre extending hash? - need speed

The patch below (which is relative to perl5.001l) implements
"keys %hash = 50_000;" (or other integer-evaluable sizes) for
pre-sizing hashes.  I've only moved the patch forward from
when I first did it.  I'm sure the code in hv_ksplit could be

Date: Mon, 7 Oct 1996 22:03:00 +0300
From: Jarkko Hietaniemi <>
Subject: LC_COLLATE.

Big patch to add, document, and test LC_COLLATE support.

mem_collxfrm() and perl_init_fold() added.


diff --git a/proto.h b/proto.h
index df537e9..51d50c0 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -125,12 +125,14 @@ GV*       gv_AVadd _((GV* gv));
 GV*    gv_HVadd _((GV* gv));
 GV*    gv_IOadd _((GV* gv));
 void   gv_check _((HV* stash));
-void   gv_efullname _((SV *sv, GV *gv, char *prefix));
+void   gv_efullname _((SV* sv, GV* gv));
+void   gv_efullname3 _((SV* sv, GV* gv, char* prefix));
 GV*    gv_fetchfile _((char* name));
 GV*    gv_fetchmeth _((HV* stash, char* name, STRLEN len, I32 level));
 GV*    gv_fetchmethod _((HV* stash, char* name));
 GV*    gv_fetchpv _((char* name, I32 add, I32 sv_type));
-void   gv_fullname _((SV *sv, GV *gv, char *prefix));
+void   gv_fullname _((SV* sv, GV* gv));
+void   gv_fullname3 _((SV* sv, GV* gv, char* prefix));
 void   gv_init _((GV *gv, HV *stash, char *name, STRLEN len, int multi));
 HV*    gv_stashpv _((char* name, I32 create));
 HV*    gv_stashpvn _((char* name, U32 namelen, I32 create));
@@ -151,6 +153,7 @@ SV* hv_iterkeysv _((HE* entry));
 HE*    hv_iternext _((HV* tb));
 SV*    hv_iternextsv _((HV* hv, char** key, I32* retlen));
 SV*    hv_iterval _((HV* tb, HE* entry));
+void   hv_ksplit _((HV* hv, IV newmax));
 void   hv_magic _((HV* hv, GV* gv, int how));
 SV**   hv_store _((HV* tb, char* key, U32 klen, SV* val, U32 hash));
 HE*    hv_store_ent _((HV* tb, SV* key, SV* val, U32 hash));
@@ -195,6 +198,7 @@ int magic_setenv    _((SV* sv, MAGIC* mg));
 int    magic_setisa    _((SV* sv, MAGIC* mg));
 int    magic_setglob   _((SV* sv, MAGIC* mg));
 int    magic_setmglob  _((SV* sv, MAGIC* mg));
+int    magic_setnkeys  _((SV* sv, MAGIC* mg));
 int    magic_setpack   _((SV* sv, MAGIC* mg));
 int    magic_setpos    _((SV* sv, MAGIC* mg));
 int    magic_setsig    _((SV* sv, MAGIC* mg));
@@ -215,6 +219,7 @@ extern Free_t   free _((Malloc_t));
 extern Malloc_t calloc _((MEM_SIZE, MEM_SIZE));
 void   markstack_grow _((void));
+char*  mem_collxfrm _((const char *m, const Size_t n, Size_t * nx));
 char*  mess _((char* pat, va_list* args));
 int    mg_clear _((SV* sv));
 int    mg_copy _((SV *, SV *, char *, I32));
@@ -324,6 +329,7 @@ SV* perl_get_sv _((char* name, I32 create));
 AV*    perl_get_av _((char* name, I32 create));
 HV*    perl_get_hv _((char* name, I32 create));
 CV*    perl_get_cv _((char* name, I32 create));
+int    perl_init_fold _(());
 int    perl_init_i18nl10n _((int printwarn));
 int    perl_parse _((PerlInterpreter* sv_interp, void(*xsinit)(void), int argc, char** argv, char** env));
 void   perl_require_pv _((char* pv));