diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 2000-01-02 21:37:29 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 2000-01-02 21:37:29 +0000 |
commit | 69b47968fa00dfccb6aab68633e778fed2de80ea (patch) | |
tree | 172ea60712feb722b7efb33f51e593a9975d3918 /opcode.pl | |
parent | 6f7d0078e68bc6a1f2a59d66e229fb67ce3fbb40 (diff) | |
download | perl-69b47968fa00dfccb6aab68633e778fed2de80ea.tar.gz |
disable optimization in change#3612 for join() and quotemeta()--this
removes all the gross hacks for the special cases in that change; fix
pp_concat() for when TARG == arg (modified version of patch suggested
by Ilya Zakharevich)
p4raw-link: @3612 on //depot/perl: b162f9ead0a98db35cdcfc8c889e344c040c8d8e
p4raw-id: //depot/perl@4749
Diffstat (limited to 'opcode.pl')
-rwxr-xr-x | opcode.pl | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -298,6 +298,7 @@ sub tab { # ref not OK (RETPUSHNO) # trans not OK (dTARG; TARG = sv_newmortal();) # ucfirst etc not OK: TMP arg processed inplace +# quotemeta not OK (unsafe when TARG == arg) # each repeat not OK too due to array context # pack split - unknown whether they are safe # sprintf: is calling do_sprintf(TARG,...) which can act on TARG @@ -314,6 +315,7 @@ sub tab { # readline - unknown whether it is safe # match subst not OK (dTARG) # grepwhile not OK (not always setting) +# join not OK (unsafe when TARG == arg) # Suspicious wrt "additional mode of failure": concat (dealt with # in ck_sassign()), join (same). @@ -506,7 +508,7 @@ ucfirst ucfirst ck_fun_locale fstu% S? lcfirst lcfirst ck_fun_locale fstu% S? uc uc ck_fun_locale fstu% S? lc lc ck_fun_locale fstu% S? -quotemeta quotemeta ck_fun fsTu% S? +quotemeta quotemeta ck_fun fstu% S? # Arrays. @@ -531,7 +533,7 @@ hslice hash slice ck_null m@ H L unpack unpack ck_fun @ S S pack pack ck_fun mst@ S L split split ck_split t@ S S S -join join ck_join msT@ S L +join join ck_join mst@ S L # List operators. |