summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.SH3
-rwxr-xr-xopcode.pl4
2 files changed, 6 insertions, 1 deletions
diff --git a/Makefile.SH b/Makefile.SH
index 09f7f9c8ec..bf98183e06 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -539,6 +539,8 @@ SYM = global.sym globvar.sym perlio.sym pp.sym
SYMH = perlvars.h intrpvar.h thrdvar.h
+CHMOD_W = chmod +w
+
# The following files are generated automatically
# keywords.h: keywords.pl
# opcode.h: opcode.pl
@@ -557,6 +559,7 @@ SYMH = perlvars.h intrpvar.h thrdvar.h
# To force them to run, type
# make regen_headers
regen_headers: FORCE
+ $(CHMOD_W) proto.h warning.h lib/warning.pm
perl keywords.pl
perl opcode.pl
perl embed.pl
diff --git a/opcode.pl b/opcode.pl
index 3f4d7c5ee1..a41ef8b00a 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -296,6 +296,8 @@ sub tab {
# ucfirst etc not OK: TMP arg processed inplace
# 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
+# before other args are processed.
# pp_hot.c
# readline - unknown whether it is safe
@@ -479,7 +481,7 @@ vec vec ck_fun ist@ S S S
index index ck_index isT@ S S S?
rindex rindex ck_index isT@ S S S?
-sprintf sprintf ck_fun_locale mfsT@ S L
+sprintf sprintf ck_fun_locale mfst@ S L
formline formline ck_fun ms@ S L
ord ord ck_fun ifsTu% S?
chr chr ck_fun fsTu% S?