diff options
author | Perl 5 Porters <perl5-porters@africa.nicoh.com> | 1997-01-04 17:44:00 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-01-04 17:44:00 +1200 |
commit | 8ebc5c0145d2e3559bce3073437e6d027dcdffcc (patch) | |
tree | 19e91b8b9e9b19b4116b7b4b64f2a4755e6bd179 /pod/perlguts.pod | |
parent | 7cfe7857715f78206e6d7d6f7fd52983de4dec44 (diff) | |
download | perl-8ebc5c0145d2e3559bce3073437e6d027dcdffcc.tar.gz |
[inseparable changes from patch from perl5.003_18 to perl5.003_19]
CORE LANGUAGE CHANGES
Subject: Make method cache invisible to user code
From: Chip Salzenberg <chip@atlantic.net>
Files: dump.c gv.c gv.h hv.c op.c perl.c pp_hot.c pp_sys.c sv.c toke.c
Subject: Never parse "{m,s,y,tr,q{,q,w,x}}:{,:}" as package or label
From: Chip Salzenberg <chip@atlantic.net>
Files: toke.c
CORE PORTABILITY
Subject: Fix $^X under HP-UX
From: Chip Salzenberg <chip@atlantic.net>
Files: hints/hpux.sh toke.c
Subject: New hints/hpux.sh
Date: Tue, 31 Dec 1996 15:09:32 -0800
From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
Files: hints/hpux.sh
private-msgid: <199612312309.AA283393772@hpcc123.corp.hp.com>
DOCUMENTATION
Subject: Perlguts, version 28
Date: Fri, 3 Jan 1997 13:10:46 -0800
From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
Files: pod/perlguts.pod
private-msgid: <199701032110.AA102535846@hpcc123.corp.hp.com>
Subject: Miscellaneous pod patches
From: Ralf S. Engelschall <rse@engelschall.com>
Files: pod/Makefile pod/perldebug.pod pod/perlfunc.pod pod/perlguts.pod
Subject: expanded flock() docs
Date: Fri, 03 Jan 1997 19:31:11 -0500
From: Roderick Schertler <roderick@gate.net>
Files: pod/perlfunc.pod
Msg-ID: <4481.852337871@eeyore.ibcinc.com>
(applied based on p5p patch as commit 1fd81fbbe87d964ad1f7dbdce41e36f3781dcf82)
Subject: Use Text::Wrap in buildtoc; run buildtoc
From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
Files: pod/buildtoc pod/perltoc.pod
Subject: Remove obsolete perlovl.pod
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST plan9/mkfile pod/perlovl.pod vms/Makefile vms/descrip.mms
OTHER CORE CHANGES
Subject: Fix segv when calling named closures
From: Chip Salzenberg <chip@atlantic.net>
Files: pp_hot.c
Subject: Finish rationalizing "undef value" warnings
From: Chip Salzenberg <chip@atlantic.net>
Files: doop.c pp.c sv.c t/op/assignwarn.t
Subject: Arrange for all "_<file" entries to be in %main::
From: Chip Salzenberg <chip@atlantic.net>
Files: gv.c lib/perl5db.pl
Subject: Introduce CVf_NODEBUG flag
Date: Wed, 01 Jan 1997 15:42:05 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: cv.h pp_hot.c
Msg-ID: <199701012042.PAA25994@aatma.engin.umich.edu>
(applied based on p5p patch as commit a3d90dd510fe5a67ed9b80e603493d285c30aa97)
Subject: Reword 'may be "0"' warning per Larry; fix its line number
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c pod/perldiag.pod
Subject: 5.003_18: perl_{con,des}truct fixes
Date: Fri, 03 Jan 1997 15:42:04 -0500
From: Doug MacEachern <dougm@osf.org>
Files: perl.c perl.h pod/perlembed.pod pod/perltoc.pod t/op/sysio.t
Msg-ID: <199701032042.PAA06766@postman.osf.org>
(applied based on p5p patch as commit 316c7b3d7b47e3143f94c7f8621e854c519d1e87)
Subject: Fix lost value from READLINE after TIEHANDLE
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pp_hot.c sv.h
TESTS
Subject: Create t/pragma directory; populate with new and old
From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
Files: MANIFEST Makefile.SH t/TEST t/comp/use.t t/lib/locale.t t/op/overload.t t/op/use.t t/pragma/locale.t t/pragma/overload.t t/pragma/strict-refs t/pragma/strict-subs t/pragma/strict-vars t/pragma/strict.t t/pragma/subs.t t/pragma/warn-global t/pragma/warning.t
Subject: New tests: comp/colon.t and op/assignwarn.t
From: Robin Barker <rmb@cise.npl.co.uk>
Files: MANIFEST t/comp/colon.t t/op/assignwarn.t
Diffstat (limited to 'pod/perlguts.pod')
-rw-r--r-- | pod/perlguts.pod | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/pod/perlguts.pod b/pod/perlguts.pod index a7fd91231c..a3ae46588e 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -90,7 +90,7 @@ which will determine if more memory needs to be allocated. If so, it will call the function C<sv_grow>. Note that C<SvGROW> can only increase, not decrease, the allocated memory of an SV and that it does not automatically add a byte for the a trailing NUL (perl's own string functions typically do -SvGROW(sv, len + 1)). +C<SvGROW(sv, len + 1)>). If you have an SV and want to know what kind of data Perl thinks is stored in it, you can use the following macros to check the type of SV you have. @@ -312,7 +312,7 @@ by using the following: This returns NULL if the variable does not exist. -The hash algorithm is defined in the PERL_HASH(hash, key, klen) macro: +The hash algorithm is defined in the C<PERL_HASH(hash, key, klen)> macro: i = klen; hash = 0; @@ -384,26 +384,24 @@ for information on converting class names into stashes. /* Still under construction */ Upgrades rv to reference if not already one. Creates new SV for rv to -point to. -If classname is non-null, the SV is blessed into the specified class. -SV is returned. +point to. If C<classname> is non-null, the SV is blessed into the specified +class. SV is returned. SV* newSVrv(SV* rv, char* classname); -Copies integer or double into an SV whose reference is rv. SV is blessed -if classname is non-null. +Copies integer or double into an SV whose reference is C<rv>. SV is blessed +if C<classname> is non-null. SV* sv_setref_iv(SV* rv, char* classname, IV iv); SV* sv_setref_nv(SV* rv, char* classname, NV iv); Copies the pointer value (I<the address, not the string!>) into an SV whose -reference is rv. SV is blessed if classname is non-null. +reference is rv. SV is blessed if C<classname> is non-null. SV* sv_setref_pv(SV* rv, char* classname, PV iv); -Copies string into an SV whose reference is rv. -Set length to 0 to let Perl calculate the string length. -SV is blessed if classname is non-null. +Copies string into an SV whose reference is C<rv>. Set length to 0 to let +Perl calculate the string length. SV is blessed if C<classname> is non-null. SV* sv_setref_pvn(SV* rv, char* classname, PV iv, int length); @@ -917,7 +915,7 @@ For a complete description of the PerlIO abstraction, consult L<perlapio>. =head2 Scratchpads -=head3 Putting a C value on Perl stack +=head2 Putting a C value on Perl stack A lot of opcodes (this is an elementary operation in the internal perl stack machine) put an SV* on the stack. However, as an optimization @@ -934,7 +932,7 @@ The macro to put this target on stack is C<PUSHTARG>, and it is directly used in some opcodes, as well as indirectly in zillions of others, which use it via C<(X)PUSH[pni]>. -=head3 Scratchpads +=head2 Scratchpads The question remains on when the SV's which are I<target>s for opcodes are created. The answer is that they are created when the current unit -- @@ -952,7 +950,7 @@ The correspondence between OP's and I<target>s is not 1-to-1. Different OP's in the compile tree of the unit can use the same target, if this would not conflict with the expected life of the temporary. -=head3 Scratchpads and recursions +=head2 Scratchpads and recursions In fact it is not 100% true that a compiled unit contains a pointer to the scratchpad AV. In fact it contains a pointer to an AV of @@ -1535,6 +1533,7 @@ Creates a new SV for the RV, C<rv>, to point to. If C<rv> is not an RV then it will be upgraded to one. If C<classname> is non-null then the new SV will be blessed in the specified package. The new SV is returned and its reference count is 1. + SV* newSVrv _((SV* rv, char* classname)); =item newSVsv @@ -2590,4 +2589,4 @@ API Listing by Dean Roehrich <roehrich@cray.com>. =head1 DATE -Version 27: 1996/12/24 +Version 28: 1996/12/27 |