This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
newer emacs/cperl-mode.el (via private mail)
[perl5.git]
/
perl.c
diff --git
a/perl.c
b/perl.c
index
fc231b1
..
14357b7
100644
(file)
--- a/
perl.c
+++ b/
perl.c
@@
-453,6
+453,7
@@
perl_destruct(register PerlInterpreter *sv_interp)
envgv = Nullgv;
siggv = Nullgv;
incgv = Nullgv;
envgv = Nullgv;
siggv = Nullgv;
incgv = Nullgv;
+ hintgv = Nullgv;
errgv = Nullgv;
argvgv = Nullgv;
argvoutgv = Nullgv;
errgv = Nullgv;
argvgv = Nullgv;
argvoutgv = Nullgv;
@@
-1434,11
+1435,17
@@
perl_eval_pv(char *p, I32 croak_on_error)
void
perl_require_pv(char *pv)
{
void
perl_require_pv(char *pv)
{
- SV* sv = sv_newmortal();
+ SV* sv;
+ dSP;
+ PUSHSTACKi(SI_REQUIRE);
+ PUTBACK;
+ sv = sv_newmortal();
sv_setpv(sv, "require '");
sv_catpv(sv, pv);
sv_catpv(sv, "'");
perl_eval_sv(sv, G_DISCARD);
sv_setpv(sv, "require '");
sv_catpv(sv, pv);
sv_catpv(sv, "'");
perl_eval_sv(sv, G_DISCARD);
+ SPAGAIN;
+ POPSTACK;
}
void
}
void
@@
-1864,10
+1871,12
@@
init_main_stash(void)
HvNAME(defstash) = savepv("main");
incgv = gv_HVadd(gv_AVadd(gv_fetchpv("INC",TRUE, SVt_PVAV)));
GvMULTI_on(incgv);
HvNAME(defstash) = savepv("main");
incgv = gv_HVadd(gv_AVadd(gv_fetchpv("INC",TRUE, SVt_PVAV)));
GvMULTI_on(incgv);
+ hintgv = gv_fetchpv("\010",TRUE, SVt_PV); /* ^H */
+ GvMULTI_on(hintgv);
defgv = gv_fetchpv("_",TRUE, SVt_PVAV);
errgv = gv_HVadd(gv_fetchpv("@", TRUE, SVt_PV));
GvMULTI_on(errgv);
defgv = gv_fetchpv("_",TRUE, SVt_PVAV);
errgv = gv_HVadd(gv_fetchpv("@", TRUE, SVt_PV));
GvMULTI_on(errgv);
- replgv = gv_
HVadd(gv_fetchpv("\022", TRUE, SVt_PV)
); /* ^R */
+ replgv = gv_
fetchpv("\022", TRUE, SVt_PV
); /* ^R */
GvMULTI_on(replgv);
(void)form("%240s",""); /* Preallocate temp - for immediate signals. */
sv_grow(ERRSV, 240); /* Preallocate - for immediate signals. */
GvMULTI_on(replgv);
(void)form("%240s",""); /* Preallocate temp - for immediate signals. */
sv_grow(ERRSV, 240); /* Preallocate - for immediate signals. */