Merge maint-5.004 branch (5.004_01) with mainline.
Malcolm Beattie [Tue, 30 Sep 1997 15:11:07 +0000 (15:11 +0000)]
p4raw-id: //depot/perl@84

22 files changed:
1  2 
MANIFEST
Makefile.SH
Porting/makerel
Porting/patchls
doio.c
embed.h
global.sym
mg.c
op.c
perl.c
perl.h
perl_exp.SH
pod/roffitall
pp.c
pp_ctl.c
pp_hot.c
pp_sys.c
proto.h
regcomp.c
regexec.c
sv.c
util.c

diff --cc MANIFEST
Simple merge
diff --cc Makefile.SH
index dc5111a,61d2ca4..e18c3d6
mode 100644,100755..100644
diff --cc Porting/makerel
index 0000000,0476ab5..0476ab5
mode 000000,100755..100644
--- /dev/null
diff --cc Porting/patchls
index 0000000,b3e968d..b3e968d
mode 000000,100755..100644
--- /dev/null
diff --cc doio.c
Simple merge
diff --cc embed.h
Simple merge
diff --cc global.sym
Simple merge
diff --cc mg.c
Simple merge
diff --cc op.c
--- 1/op.c
--- 2/op.c
+++ b/op.c
@@@ -1031,14 -980,15 +1031,15 @@@ I32 type
      OP *kid;
      SV *sv;
  
 -    if (!op || error_count)
 -      return op;
 +    if (!o || error_count)
 +      return o;
  
 -    switch (op->op_type) {
 +    switch (o->op_type) {
      case OP_UNDEF:
+       modcount++;
 -      return op;
 +      return o;
      case OP_CONST:
 -      if (!(op->op_private & (OPpCONST_ARYBASE)))
 +      if (!(o->op_private & (OPpCONST_ARYBASE)))
            goto nomod;
        if (eval_start && eval_start->op_type == OP_CONST) {
            compiling.cop_arybase = (I32)SvIV(((SVOP*)eval_start)->op_sv);
@@@ -2063,10 -2006,11 +2064,11 @@@ OP *repl
      PMOP *pm;
      LOGOP *rcop;
  
 -    if (op->op_type == OP_TRANS)
 -      return pmtrans(op, expr, repl);
 +    if (o->op_type == OP_TRANS)
 +      return pmtrans(o, expr, repl);
  
+     hints |= HINT_BLOCK_SCOPE;
 -    pm = (PMOP*)op;
 +    pm = (PMOP*)o;
  
      if (expr->op_type == OP_CONST) {
        STRLEN plen;
diff --cc perl.c
Simple merge
diff --cc perl.h
Simple merge
diff --cc perl_exp.SH
index ef79876,06b587f..06b587f
mode 100644,100755..100644
diff --cc pod/roffitall
index d69054f,cbd19af..cbd19af
mode 100644,100755..100644
diff --cc pp.c
Simple merge
diff --cc pp_ctl.c
Simple merge
diff --cc pp_hot.c
Simple merge
diff --cc pp_sys.c
Simple merge
diff --cc proto.h
Simple merge
diff --cc regcomp.c
+++ b/regcomp.c
@@@ -1663,19 -1661,25 +1665,25 @@@ char *o
        p = "NBOUNDL";
        break;
      case CURLY:
 -      sv_catpvf(sv, "CURLY {%d,%d}", ARG1(op), ARG2(op));
 +      sv_catpvf(sv, "CURLY {%d,%d}", ARG1(o), ARG2(o));
        break;
      case CURLYX:
 -      sv_catpvf(sv, "CURLYX {%d,%d}", ARG1(op), ARG2(op));
 +      sv_catpvf(sv, "CURLYX {%d,%d}", ARG1(o), ARG2(o));
        break;
      case REF:
 -      sv_catpvf(sv, "REF%d", ARG1(op));
 +      sv_catpvf(sv, "REF%d", ARG1(o));
        break;
+     case REFF:
 -      sv_catpvf(sv, "REFF%d", ARG1(op));
++      sv_catpvf(sv, "REFF%d", ARG1(o));
+       break;
+     case REFFL:
 -      sv_catpvf(sv, "REFFL%d", ARG1(op));
++      sv_catpvf(sv, "REFFL%d", ARG1(o));
+       break;
      case OPEN:
 -      sv_catpvf(sv, "OPEN%d", ARG1(op));
 +      sv_catpvf(sv, "OPEN%d", ARG1(o));
        break;
      case CLOSE:
 -      sv_catpvf(sv, "CLOSE%d", ARG1(op));
 +      sv_catpvf(sv, "CLOSE%d", ARG1(o));
        p = NULL;
        break;
      case STAR:
diff --cc regexec.c
Simple merge
diff --cc sv.c
Simple merge
diff --cc util.c
Simple merge