Change 18877 by [EMAIL PROTECTED] on 2003/03/10 07:20:13
Integrate:
[ 18873]
Bunch of doc patches from Stas; plus regen.
Subject: [doc patch] perl.c's pod api entry
From: Stas Bekman <[EMAIL PROTECTED]>
Date: Mon, 10 Mar 2003 12:35:52 +1100
Message-ID: <[EMAIL PROTECTED]>
Subject: Re: [patch] perlguts.pod
From: Stas Bekman <[EMAIL PROTECTED]>
Date: Mon, 10 Mar 2003 12:38:57 +1100
Message-ID: <[EMAIL PROTECTED]>
Subject: Re: [PATCH ext/DynaLoader/DynaLoader_pm.PL] doc fix:
s/dl_loadflags/dl_load_flags/
From: Stas Bekman <[EMAIL PROTECTED]>
Date: Mon, 10 Mar 2003 12:41:46 +1100
Message-ID: <[EMAIL PROTECTED]>
Subject: Re: [patch] perlapi.pod fix
From: Stas Bekman <[EMAIL PROTECTED]>
Date: Mon, 10 Mar 2003 12:43:33 +1100
Message-ID: <[EMAIL PROTECTED]>
Subject: Re: [docs patch] replace gets() with fgets() in example
From: Stas Bekman <[EMAIL PROTECTED]>
Date: Mon, 10 Mar 2003 12:45:41 +1100
Message-ID: <[EMAIL PROTECTED]>
Subject: [doc patch] perlrun.pod
From: Stas Bekman <[EMAIL PROTECTED]>
Date: Mon, 10 Mar 2003 14:49:59 +1100
Message-ID: <[EMAIL PROTECTED]>
[ 18874]
Subject: Re: Shared libperl.so and build issues
From: Chip Turner <[EMAIL PROTECTED]>
Date: 05 Jan 2003 10:35:40 -0500
Message-ID: <[EMAIL PROTECTED]>
[ 18875]
Remove the foo-old files.
[ 18876]
Comment fix.
Affected files ...
... //depot/maint-5.8/perl/INSTALL#4 integrate
... //depot/maint-5.8/perl/ext/DynaLoader/DynaLoader_pm.PL#2 integrate
... //depot/maint-5.8/perl/handy.h#7 integrate
... //depot/maint-5.8/perl/opcode.pl#7 integrate
... //depot/maint-5.8/perl/perl.c#19 integrate
... //depot/maint-5.8/perl/pod/perlapi.pod#10 integrate
... //depot/maint-5.8/perl/pod/perlembed.pod#4 integrate
... //depot/maint-5.8/perl/pod/perlguts.pod#6 integrate
... //depot/maint-5.8/perl/pod/perlrun.pod#14 integrate
Differences ...
==== //depot/maint-5.8/perl/INSTALL#4 (text) ====
Index: perl/INSTALL
--- perl/INSTALL#3~18191~ Tue Nov 26 18:56:52 2002
+++ perl/INSTALL Sun Mar 9 23:20:13 2003
@@ -937,9 +937,10 @@
that you might not be able to. The installation directory is encoded
in the perl binary with the LD_RUN_PATH environment variable (or
equivalent ld command-line option). On Solaris, you can override that
-with LD_LIBRARY_PATH; on Linux you can't. On Digital Unix, you can
-override LD_LIBRARY_PATH by setting the _RLD_ROOT environment variable
-to point to the perl build directory.
+with LD_LIBRARY_PATH; on Linux, you can only override at runtime via
+LD_PRELOAD, specifying the exact filename you wish to be used; and on
+Digital Unix, you can override LD_LIBRARY_PATH by setting the
+_RLD_ROOT environment variable to point to the perl build directory.
The only reliable answer is that you should specify a different
directory for the architecture-dependent library for your -DDEBUGGING
==== //depot/maint-5.8/perl/ext/DynaLoader/DynaLoader_pm.PL#2 (text) ====
Index: perl/ext/DynaLoader/DynaLoader_pm.PL
--- perl/ext/DynaLoader/DynaLoader_pm.PL#1~17645~ Fri Jul 19 12:29:57 2002
+++ perl/ext/DynaLoader/DynaLoader_pm.PL Sun Mar 9 23:20:13 2003
@@ -769,11 +769,11 @@
Linux, and is a common choice when providing a "wrapper" on other
mechanisms as is done in the OS/2 port.)
-=item dl_loadflags()
+=item dl_load_flags()
Syntax:
- $flags = dl_loadflags $modulename;
+ $flags = dl_load_flags $modulename;
Designed to be a method call, and to be overridden by a derived class
(i.e. a class which has DynaLoader in its @ISA). The definition in
==== //depot/maint-5.8/perl/handy.h#7 (text) ====
Index: perl/handy.h
--- perl/handy.h#6~18808~ Sun Mar 2 13:29:38 2003
+++ perl/handy.h Sun Mar 9 23:20:13 2003
@@ -25,6 +25,7 @@
=for apidoc AmU||Nullch
Null character pointer.
+
=for apidoc AmU||Nullsv
Null SV pointer.
==== //depot/maint-5.8/perl/opcode.pl#7 (xtext) ====
Index: perl/opcode.pl
--- perl/opcode.pl#6~18866~ Sun Mar 9 05:59:01 2003
+++ perl/opcode.pl Sun Mar 9 23:20:13 2003
@@ -336,6 +336,12 @@
safer_rename $pp_proto_new, 'pp_proto.h';
safer_rename $pp_sym_new, 'pp.sym';
+END {
+ foreach ('opcode.h', 'opnames.h', 'pp_proto.h', 'pp.sym') {
+ 1 while unlink "$_-old";
+ }
+}
+
###########################################################################
sub tab {
local($l, $t) = @_;
==== //depot/maint-5.8/perl/perl.c#19 (text) ====
Index: perl/perl.c
--- perl/perl.c#18~18804~ Sun Mar 2 08:22:35 2003
+++ perl/perl.c Sun Mar 9 23:20:13 2003
@@ -2213,7 +2213,7 @@
Tells Perl to C<require> the file named by the string argument. It is
analogous to the Perl code C<eval "require '$file'">. It's even
-implemented that way; consider using Perl_load_module instead.
+implemented that way; consider using load_module instead.
=cut */
==== //depot/maint-5.8/perl/pod/perlapi.pod#10 (text+w) ====
Index: perl/pod/perlapi.pod
--- perl/pod/perlapi.pod#9~18872~ Sun Mar 9 12:43:09 2003
+++ perl/pod/perlapi.pod Sun Mar 9 23:20:13 2003
@@ -687,7 +687,7 @@
Tells Perl to C<require> the file named by the string argument. It is
analogous to the Perl code C<eval "require '$file'">. It's even
-implemented that way; consider using Perl_load_module instead.
+implemented that way; consider using load_module instead.
NOTE: the perl_ form of this function is deprecated.
@@ -915,6 +915,7 @@
=item Nullch
Null character pointer.
+
=for hackers
Found in file handy.h
==== //depot/maint-5.8/perl/pod/perlembed.pod#4 (text) ====
Index: perl/pod/perlembed.pod
--- perl/pod/perlembed.pod#3~18743~ Tue Feb 18 06:12:11 2003
+++ perl/pod/perlembed.pod Sun Mar 9 23:20:13 2003
@@ -750,6 +750,8 @@
#define DO_CLEAN 0
#endif
+ #define BUFFER_SIZE 1024
+
static PerlInterpreter *my_perl = NULL;
int
@@ -757,7 +759,7 @@
{
char *embedding[] = { "", "persistent.pl" };
char *args[] = { "", DO_CLEAN, NULL };
- char filename [1024];
+ char filename[BUFFER_SIZE];
int exitstatus = 0;
STRLEN n_a;
@@ -772,8 +774,10 @@
if(!exitstatus) {
exitstatus = perl_run(my_perl);
- while(printf("Enter file name: ") && gets(filename)) {
+ while(printf("Enter file name: ") &&
+ fgets(filename, BUFFER_SIZE, stdin)) {
+ filename[strlen(filename)-1] = '\0'; /* strip \n */
/* call the subroutine, passing it the filename as an argument */
args[0] = filename;
call_argv("Embed::Persistent::eval_file",
==== //depot/maint-5.8/perl/pod/perlguts.pod#6 (text) ====
Index: perl/pod/perlguts.pod
--- perl/pod/perlguts.pod#5~18388~ Wed Jan 1 17:41:55 2003
+++ perl/pod/perlguts.pod Sun Mar 9 23:20:13 2003
@@ -1799,7 +1799,7 @@
sanctioned for use in extensions) begins like this:
void
- Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv)
+ Perl_sv_setiv(pTHX_ SV* dsv, IV num)
C<pTHX_> is one of a number of macros (in perl.h) that hide the
details of the interpreter's context. THX stands for "thread", "this",
@@ -1818,19 +1818,19 @@
explicit arguments.
When a core function calls another, it must pass the context. This
-is normally hidden via macros. Consider C<sv_setsv>. It expands into
+is normally hidden via macros. Consider C<sv_setiv>. It expands into
something like this:
- ifdef PERL_IMPLICIT_CONTEXT
- define sv_setsv(a,b) Perl_sv_setsv(aTHX_ a, b)
+ #ifdef PERL_IMPLICIT_CONTEXT
+ #define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a, b)
/* can't do this for vararg functions, see below */
- else
- define sv_setsv Perl_sv_setsv
- endif
+ #else
+ #define sv_setiv Perl_sv_setiv
+ #endif
This works well, and means that XS authors can gleefully write:
- sv_setsv(foo, bar);
+ sv_setiv(foo, bar);
and still have it work under all the modes Perl could have been
compiled with.
@@ -1874,16 +1874,16 @@
and aTHX_ macros to call a function that will return the context.
Thus, something like:
- sv_setsv(asv, bsv);
+ sv_setiv(sv, num);
in your extension will translate to this when PERL_IMPLICIT_CONTEXT is
in effect:
- Perl_sv_setsv(Perl_get_context(), asv, bsv);
+ Perl_sv_setiv(Perl_get_context(), sv, num);
or to this otherwise:
- Perl_sv_setsv(asv, bsv);
+ Perl_sv_setiv(sv, num);
You have to do nothing new in your extension to get this; since
the Perl library provides Perl_get_context(), it will all just
==== //depot/maint-5.8/perl/pod/perlrun.pod#14 (text) ====
Index: perl/pod/perlrun.pod
--- perl/pod/perlrun.pod#13~18850~ Fri Mar 7 12:38:51 2003
+++ perl/pod/perlrun.pod Sun Mar 9 23:20:13 2003
@@ -311,7 +311,7 @@
The read-only magic variable C<${^UNICODE}> reflects the numeric value
of this setting. This is variable is set during Perl startup and is
thereafter read-only. If you want runtime effects, use the three-arg
-open() (see L<perlfunc/open), the two-arg binmode() (see L<perlfunc/binmode>),
+open() (see L<perlfunc/open>), the two-arg binmode() (see L<perlfunc/binmode>),
and the C<open> pragma (see L<open>).
(In Perls earlier than 5.8.1 the C<-C> switch was a Win32-only switch
End of Patch.