Add a section on how to submit a patch
[p5sagit/p5-mst-13.2.git] / pod / perlintern.pod
index ac6f082..0ffe8d1 100644 (file)
@@ -334,8 +334,8 @@ Found in file pad.h
 
 =over 8
 
-=item is_gv_magical
-X<is_gv_magical>
+=item is_gv_magical_sv
+X<is_gv_magical_sv>
 
 Returns C<TRUE> if given the name of a magical GV.
 
@@ -349,17 +349,7 @@ Currently assumes that C<name> is NUL terminated (as well as len being valid).
 This assumption is met by all callers within the perl core, which all pass
 pointers returned by SvPV.
 
-       bool    is_gv_magical(const char *name, STRLEN len, U32 flags)
-
-=for hackers
-Found in file gv.c
-
-=item is_gv_magical_sv
-X<is_gv_magical_sv>
-
-Returns C<TRUE> if given the name of a magical GV. Calls is_gv_magical.
-
-       bool    is_gv_magical_sv(SV *name, U32 flags)
+       bool    is_gv_magical_sv(SV *const name_sv, U32 flags)
 
 =for hackers
 Found in file gv.c
@@ -433,12 +423,25 @@ Found in file doio.c
 
 =over 8
 
-=item magic_sethint
-X<magic_sethint>
+=item magic_clearhint
+X<magic_clearhint>
 
 Triggered by a delete from %^H, records the key to
 C<PL_compiling.cop_hints_hash>.
 
+       int     magic_clearhint(SV* sv, MAGIC* mg)
+
+=for hackers
+Found in file mg.c
+
+=item magic_sethint
+X<magic_sethint>
+
+Triggered by a store to %^H, records the key/value pair to
+C<PL_compiling.cop_hints_hash>.  It is assumed that hints aren't storing
+anything that would need a deep copy.  Maybe we should warn if we find a
+reference.
+
        int     magic_sethint(SV* sv, MAGIC* mg)
 
 =for hackers
@@ -447,11 +450,15 @@ Found in file mg.c
 =item mg_localize
 X<mg_localize>
 
-Copy some of the magic from an existing SV to new localized version of
-that SV. Container magic (eg %ENV, $1, tie) gets copied, value magic
-doesn't (eg taint, pos).
+Copy some of the magic from an existing SV to new localized version of that
+SV. Container magic (eg %ENV, $1, tie) gets copied, value magic doesn't (eg
+taint, pos).
+
+If setmagic is false then no set magic will be called on the new (empty) SV.
+This typically means that assignment will soon follow (e.g. 'local $x = $y'),
+and that will handle the magic.
 
-       void    mg_localize(SV* sv, SV* nsv)
+       void    mg_localize(SV* sv, SV* nsv, bool setmagic)
 
 =for hackers
 Found in file mg.c
@@ -937,12 +944,12 @@ The GV which was last used for a filehandle input operation. (C<< <FH> >>)
 =for hackers
 Found in file intrpvar.h
 
-=item PL_ofs_sv
-X<PL_ofs_sv>
+=item PL_ofsgv
+X<PL_ofsgv>
 
-The output field separator - C<$,> in Perl space.
+The glob containing the output field separator - C<*,> in Perl space.
 
-       SV*     PL_ofs_sv
+       GV*     PL_ofsgv
 
 =for hackers
 Found in file intrpvar.h
@@ -1079,7 +1086,7 @@ The name is returned as a mortal SV.
 Assumes that PL_op is the op that originally triggered the error, and that
 PL_comppad/PL_curpad points to the currently executing pad.
 
-       SV*     find_uninit_var(OP* obase, SV* uninit_sv, bool top)
+       SV*     find_uninit_var(const OP *const obase, const SV *const uninit_sv, bool top)
 
 =for hackers
 Found in file sv.c
@@ -1089,7 +1096,7 @@ X<report_uninit>
 
 Print appropriate "Use of uninitialized variable" warning
 
-       void    report_uninit(SV* uninit_sv)
+       void    report_uninit(const SV *uninit_sv)
 
 =for hackers
 Found in file sv.c