Merge latest mainline
Nick Ing-Simmons [Sat, 18 Jul 1998 20:50:26 +0000 (20:50 +0000)]
p4raw-id: //depot/ansiperl@1536

1  2 
ext/Thread/Thread.xs
op.h
patchlevel.h
util.c

Simple merge
diff --cc op.h
--- 1/op.h
--- 2/op.h
+++ b/op.h
@@@ -81,10 -81,14 +81,14 @@@ typedef U32 PADOFFSET
                                /*  On OP_ENTERITER, loop var is per-thread */
  
  /* old names; don't use in new code, but don't break them, either */
- #define OPf_LIST      1
- #define OPf_KNOW      2
+ #define OPf_LIST      OPf_WANT_LIST
+ #define OPf_KNOW      OPf_WANT
  #define GIMME \
-         (PL_op->op_flags & OPf_KNOW ? PL_op->op_flags & OPf_LIST : dowantarray())
 -        (op->op_flags & OPf_WANT                                      \
 -         ? ((op->op_flags & OPf_WANT) == OPf_WANT_LIST                \
++        (PL_op->op_flags & OPf_WANT                                   \
++         ? ((PL_op->op_flags & OPf_WANT) == OPf_WANT_LIST             \
+             ? G_ARRAY                                                 \
+             : G_SCALAR)                                               \
+          : dowantarray())
  
  /* Private for lvalues */
  #define OPpLVAL_INTRO 128     /* Lvalue must be localized */
diff --cc patchlevel.h
@@@ -40,6 -40,6 +40,7 @@@
  static        char    *local_patches[] = {
        NULL
        ,"DEVEL_BETA_ISSUE_1 - 5.005 Public Beta, Issue 1"
++      ,"PL_ prefix on vars"
        ,NULL
  };
  
diff --cc util.c
--- 1/util.c
--- 2/util.c
+++ b/util.c
@@@ -2772,38 -2772,38 +2772,38 @@@ new_struct_thread(struct perl_thread *t
         See comments in scope.h    
         Initialize top entry (as in perl.c for main thread)
       */
 -    start_env.je_prev = NULL;
 -    start_env.je_ret = -1;
 -    start_env.je_mustcatch = TRUE;
 -    top_env  = &start_env;
 +    PL_start_env.je_prev = NULL;
 +    PL_start_env.je_ret = -1;
 +    PL_start_env.je_mustcatch = TRUE;
 +    PL_top_env  = &PL_start_env;
  
 -    in_eval = FALSE;
 -    restartop = 0;
 +    PL_in_eval = FALSE;
 +    PL_restartop = 0;
  
-     PL_tainted = t->Ttainted;
-     PL_curpm = t->Tcurpm;         /* XXX No PMOP ref count */
-     PL_nrs = newSVsv(t->Tnrs);
-     PL_rs = SvREFCNT_inc(PL_nrs);
-     PL_last_in_gv = (GV*)SvREFCNT_inc(t->Tlast_in_gv);
-     PL_ofslen = t->Tofslen;
-     PL_ofs = savepvn(t->Tofs, PL_ofslen);
-     PL_defoutgv = (GV*)SvREFCNT_inc(t->Tdefoutgv);
-     PL_chopset = t->Tchopset;
-     PL_formtarget = newSVsv(t->Tformtarget);
-     PL_bodytarget = newSVsv(t->Tbodytarget);
-     PL_toptarget = newSVsv(t->Ttoptarget);
+     tainted = t->Ttainted;
+     curpm = t->Tcurpm;         /* XXX No PMOP ref count */
+     nrs = newSVsv(t->Tnrs);
+     rs = SvREFCNT_inc(nrs);
+     last_in_gv = Nullgv;
+     ofslen = t->Tofslen;
+     ofs = savepvn(t->Tofs, ofslen);
+     defoutgv = (GV*)SvREFCNT_inc(t->Tdefoutgv);
+     chopset = t->Tchopset;
+     formtarget = newSVsv(t->Tformtarget);
+     bodytarget = newSVsv(t->Tbodytarget);
+     toptarget = newSVsv(t->Ttoptarget);
  
 -    statname = NEWSV(66,0);
 -    maxscream = -1;
 -    regcompp = FUNC_NAME_TO_PTR(pregcomp);
 -    regexecp = FUNC_NAME_TO_PTR(regexec_flags);
 -    regindent = 0;
 -    reginterp_cnt = 0;
 -    lastscream = Nullsv;
 -    screamfirst = 0;
 -    screamnext = 0;
 -    reg_start_tmp = 0;
 -    reg_start_tmpl = 0;
 +    PL_statname = NEWSV(66,0);
 +    PL_maxscream = -1;
 +    PL_regcompp = FUNC_NAME_TO_PTR(pregcomp);
 +    PL_regexecp = FUNC_NAME_TO_PTR(regexec_flags);
 +    PL_regindent = 0;
 +    PL_reginterp_cnt = 0;
 +    PL_lastscream = Nullsv;
 +    PL_screamfirst = 0;
 +    PL_screamnext = 0;
 +    PL_reg_start_tmp = 0;
 +    PL_reg_start_tmpl = 0;
      
      /* Initialise all per-thread SVs that the template thread used */
      svp = AvARRAY(t->threadsv);