summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1997-02-11 07:29:00 +1200
committerChip Salzenberg <chip@atlantic.net>1997-02-11 07:29:00 +1200
commit4fdae80067c447c675a6ac92c7959d2206e207ba (patch)
tree740e9f3cd04f3c2347cb569c759c89cd6ee2974b /perl.c
parent2752eb9f87187a7a0fa57ed387bf0cc9633772a9 (diff)
downloadperl-4fdae80067c447c675a6ac92c7959d2206e207ba.tar.gz
[inseparable changes from patch from perl5.003_25 to perl5.003_26]perl-5.003_26
CORE LANGUAGE CHANGES Subject: Make \r in script an error (per Larry) From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod toke.c CORE PORTABILITY Subject: VMS patches post _25 Date: Fri, 07 Feb 1997 01:56:12 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: Porting/Glossary lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp perl.c vms/Makefile vms/config.vms vms/descrip.mms vms/genconfig.pl vms/perlvms.pod vms/vms.c vms/vmsish.h x2p/a2p.c private-msgid: <01IF48W3P39W0050BD@hmivax.humgen.upenn.edu> LIBRARY AND EXTENSIONS Subject: Make diagnostics module strip formatting directives From: Chip Salzenberg <chip@perl.com> Files: lib/diagnostics.pm pod/perldiag.pod OTHER CORE CHANGES Subject: Fix (yet another) Tk closure problem From: Chip Salzenberg <chip@perl.com> Files: op.c perl.c pp_ctl.c Subject: Fix value of C<foreach> From: Chip Salzenberg <chip@perl.com> Files: cop.h pp_ctl.c Subject: Refine 'runaway string' heuristic From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: Fix core dump on C<print "a", last> in eval From: Chip Salzenberg <chip@perl.com> Files: pp_ctl.c
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/perl.c b/perl.c
index 77bcb4d02c..1e3c6fd886 100644
--- a/perl.c
+++ b/perl.c
@@ -476,9 +476,11 @@ setuid perl scripts securely.\n");
return 0;
}
+ SvREFCNT_dec(main_cv);
if (main_root)
op_free(main_root);
- main_root = 0;
+ main_cv = 0;
+ main_start = main_root = 0;
time(&basetime);
@@ -687,7 +689,7 @@ setuid perl scripts securely.\n");
if (doextract)
find_beginning();
- compcv = (CV*)NEWSV(1104,0);
+ main_cv = compcv = (CV*)NEWSV(1104,0);
sv_upgrade((SV *)compcv, SVt_PVCV);
CvUNIQUE_on(compcv);
@@ -819,6 +821,7 @@ PerlInterpreter *sv_interp;
runops();
}
else if (main_start) {
+ CvDEPTH(main_cv) = 1;
op = main_start;
runops();
}
@@ -2348,7 +2351,7 @@ int addsubdirs;
if (addsubdirs) {
struct stat tmpstatbuf;
- /* .../archname/version if -d .../archname/auto */
+ /* .../archname/version if -d .../archname/version/auto */
sv_setsv(subdir, libdir);
sv_catpv(subdir, archpat_auto);
if (Stat(SvPVX(subdir), &tmpstatbuf) >= 0 &&
@@ -2356,7 +2359,7 @@ int addsubdirs;
av_push(GvAVn(incgv),
newSVpv(SvPVX(subdir), SvCUR(subdir) - sizeof "auto"));
- /* .../archname/version if -d .../archname/version/auto */
+ /* .../archname if -d .../archname/auto */
sv_insert(subdir, SvCUR(libdir) + sizeof(ARCHNAME),
strlen(patchlevel) + 1, "", 0);
if (Stat(SvPVX(subdir), &tmpstatbuf) >= 0 &&
@@ -2464,14 +2467,14 @@ my_failure_exit()
{
#ifdef VMS
if (vaxc$errno & 1) {
- if (GETSTATUS_NATIVE & 1) /* fortuitiously includes "-1" */
- SETSTATUS_NATIVE(44);
+ if (STATUS_NATIVE & 1) /* fortuitiously includes "-1" */
+ STATUS_NATIVE_SET(44);
}
else {
if (!vaxc$errno && errno) /* someone must have set $^E = 0 */
- SETSTATUS_NATIVE(44);
+ STATUS_NATIVE_SET(44);
else
- SETSTATUS_NATIVE(vaxc$errno);
+ STATUS_NATIVE_SET(vaxc$errno);
}
#else
if (errno & 255)