summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-11-11 17:46:59 +0000
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1997-11-11 17:46:59 +0000
commit12f917ad6d7e3aea6f84bc265d3b6d1b415c7598 (patch)
treea7f268f271a96c3a02248a953ac2a8bdf2f1e585 /perl.c
parente5687acb0c7cb7e00d80dde70d5d9163677bffea (diff)
downloadperl-12f917ad6d7e3aea6f84bc265d3b6d1b415c7598.tar.gz
Fix up ansiperl integration. Back to passing all expected tests
with usethreads. Untested with non-threaded perl. p4raw-id: //depot/perl@231
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/perl.c b/perl.c
index 3fe2c50281..7264648fbf 100644
--- a/perl.c
+++ b/perl.c
@@ -472,8 +472,7 @@ perl_destruct(register PerlInterpreter *sv_interp)
envgv = Nullgv;
siggv = Nullgv;
incgv = Nullgv;
- errhv = Nullhv;
- errsv = Nullsv;
+ errgv = Nullgv;
argvgv = Nullgv;
argvoutgv = Nullgv;
stdingv = Nullgv;
@@ -1791,8 +1790,8 @@ init_main_stash(void)
incgv = gv_HVadd(gv_AVadd(gv_fetchpv("INC",TRUE, SVt_PVAV)));
GvMULTI_on(incgv);
defgv = gv_fetchpv("_",TRUE, SVt_PVAV);
- errsv = newSVpv("", 0);
- errhv = newHV();
+ errgv = gv_HVadd(gv_fetchpv("@", TRUE, SVt_PV));
+ GvMULTI_on(errgv);
(void)form("%240s",""); /* Preallocate temp - for immediate signals. */
sv_grow(ERRSV, 240); /* Preallocate - for immediate signals. */
sv_setpvn(ERRSV, "", 0);
@@ -2885,18 +2884,18 @@ call_list(I32 oldscope, AV *list)
SV* atsv = ERRSV;
PUSHMARK(stack_sp);
perl_call_sv((SV*)cv, G_EVAL|G_DISCARD);
- (void)SvPV(errsv, len);
+ (void)SvPV(atsv, len);
if (len) {
JMPENV_POP;
curcop = &compiling;
curcop->cop_line = oldline;
if (list == beginav)
- sv_catpv(errsv, "BEGIN failed--compilation aborted");
+ sv_catpv(atsv, "BEGIN failed--compilation aborted");
else
- sv_catpv(errsv, "END failed--cleanup aborted");
+ sv_catpv(atsv, "END failed--cleanup aborted");
while (scopestack_ix > oldscope)
LEAVE;
- croak("%s", SvPVX(errsv));
+ croak("%s", SvPVX(atsv));
}
}
break;