This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove THREADSV_NAMES, part of 5005 threads that the chainsaw missed.
authorNicholas Clark <nick@ccl4.org>
Wed, 27 Oct 2010 20:25:54 +0000 (22:25 +0200)
committerNicholas Clark <nick@ccl4.org>
Wed, 27 Oct 2010 20:25:54 +0000 (22:25 +0200)
Also remove the documentation of OPf_SPECIAL for OP_ENTERITER, as that was only
for 5.005 threads. Stop B::Deparse misinterpreting OPf_SPECIAL on OP_ENTERITER.

dist/B-Deparse/Deparse.pm
op.h
perl.h

index 89d6277..51deed8 100644 (file)
@@ -2692,7 +2692,8 @@ sub loop_common {
            $ary = $self->deparse($ary, 1);
        }
        if (null $var) {
-           if ($enter->flags & OPf_SPECIAL) { # thread special var
+           if (($enter->flags & OPf_SPECIAL) && ($] < 5.009)) {
+               # thread special var, under 5005threads
                $var = $self->pp_threadsv($enter, 1);
            } else { # regular my() variable
                $var = $self->pp_padsv($enter, 1);
diff --git a/op.h b/op.h
index dba5f08..a10069b 100644 (file)
--- a/op.h
+++ b/op.h
@@ -123,7 +123,6 @@ Deprecated.  Use C<GIMME_V> instead.
                                /*  On OP_ENTERSUB || OP_NULL, saw a "do". */
                                /*  On OP_EXISTS, treat av as av, not avhv.  */
                                /*  On OP_(ENTER|LEAVE)EVAL, don't clear $@ */
-                               /*  On OP_ENTERITER, loop var is per-thread */
                                /*  On pushre, rx is used as part of split, e.g. split " " */
                                /*  On regcomp, "use re 'eval'" was in scope */
                                /*  On OP_READLINE, was <$filehandle> */
diff --git a/perl.h b/perl.h
index 41ea32e..be0c8ff 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -4218,9 +4218,6 @@ typedef OP* (*PPADDR_t[]) (pTHX);
 typedef bool (*destroyable_proc_t) (pTHX_ SV *sv);
 typedef void (*despatch_signals_proc_t) (pTHX);
 
-/* _ (for $_) must be first in the following list (DEFSV requires it) */
-#define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@"
-
 /* NeXT has problems with crt0.o globals */
 #if defined(__DYNAMIC__) && \
     (defined(NeXT) || defined(__NeXT__) || defined(PERL_DARWIN))