summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/toke.c b/toke.c
index eda9103f37..e1edfd0239 100644
--- a/toke.c
+++ b/toke.c
@@ -4630,6 +4630,8 @@ Perl_yylex(pTHX)
PL_bufptr += 2;
if (*PL_bufptr != '{')
PL_bufptr++;
+ start_force(PL_curforce);
+ /* XXX probably need a CURMAD(something) here */
PL_expect = XTERMBLOCK;
force_next(DO);
}
@@ -4685,7 +4687,9 @@ Perl_yylex(pTHX)
PL_bufptr++;
/* having compiled a (?{..}) expression, return the original
* text too, as a const */
- PL_nextval[PL_nexttoke].opval =
+ start_force(PL_curforce);
+ /* XXX probably need a CURMAD(something) here */
+ NEXTVAL_NEXTTOKE.opval =
(OP*)newSVOP(OP_CONST, 0,
newSVpvn(PL_sublex_info.re_eval_start,
PL_bufptr - PL_sublex_info.re_eval_start));