summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-03-13 10:35:13 +0000
committerNicholas Clark <nick@ccl4.org>2010-03-13 10:35:13 +0000
commitee23ad3b3dcc9a9c86a27ce63fe6418067923a82 (patch)
tree50e32c9ac0d5503f5688e41394d20b6865351ff5
parentba555bf5eb8f5b1d4d529ec806a7fef2f337c342 (diff)
downloadperl-ee23ad3b3dcc9a9c86a27ce63fe6418067923a82.tar.gz
In Perl_sv_compile_2op(), remove a suggestion to merge code with pp_entersub.
Add a comment explaining the problems with this function.
-rw-r--r--pp_ctl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 742bc3df26..de3487998f 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -2896,13 +2896,20 @@ S_docatch(pTHX_ OP *o)
return NULL;
}
+/* James Bond: Do you expect me to talk?
+ Auric Goldfinger: No, Mr. Bond. I expect you to die.
+
+ This code is an ugly hack, doesn't work with lexicals in subroutines that are
+ called more than once, and is only used by regcomp.c, for (?{}) blocks.
+
+ Currently it is not used outside the core code. Best if it stays that way.
+*/
OP *
Perl_sv_compile_2op(pTHX_ SV *sv, OP** startop, const char *code, PAD** padp)
/* sv Text to convert to OP tree. */
/* startop op_free() this to undo. */
/* code Short string id of the caller. */
{
- /* FIXME - how much of this code is common with pp_entereval? */
dVAR; dSP; /* Make POPBLOCK work. */
PERL_CONTEXT *cx;
SV **newsp;