various little tweaks; most globals are now in intrpvar.h, ninterps
Gurusamy Sarathy [Fri, 11 Jun 1999 23:13:54 +0000 (23:13 +0000)]
is temporarily gone

p4raw-id: //depot/perl@3535

embed.pl
intrpvar.h
perl.c
perlvars.h
pod/perldelta.pod
proto.h
win32/perllib.c

index 452a4de..eb0d42c 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -1402,7 +1402,7 @@ p |int    |runops_standard
 p      |int    |runops_debug
 
 #if defined(WIN32)
-p      |int&   |ErrorNo
+p      |int*   |ErrorNo
 #endif
 p      |void   |sv_catpvf_mg   |SV *sv|const char* pat|...
 p      |void   |sv_catpv_mg    |SV *sv|const char *ptr
index f41433b..744ff31 100644 (file)
@@ -352,6 +352,28 @@ PERLVAR(Iuudmap[256],      char)
 PERLVAR(Ibitcount,     char *)
 PERLVAR(Ifilter_debug, int)
 
+#ifdef USE_THREADS
+PERLVAR(Ithr_key,      perl_key)       /* For per-thread struct perl_thread* */
+PERLVAR(Isv_mutex,     perl_mutex)     /* Mutex for allocating SVs in sv.c */
+PERLVAR(Imalloc_mutex, perl_mutex)     /* Mutex for malloc */
+PERLVAR(Ieval_mutex,   perl_mutex)     /* Mutex for doeval */
+PERLVAR(Ieval_cond,    perl_cond)      /* Condition variable for doeval */
+PERLVAR(Ieval_owner,   struct perl_thread *)
+                                       /* Owner thread for doeval */
+PERLVAR(Inthreads,     int)            /* Number of threads currently */
+PERLVAR(Ithreads_mutex,        perl_mutex)     /* Mutex for nthreads and thread list */
+PERLVAR(Inthreads_cond,        perl_cond)      /* Condition variable for nthreads */
+PERLVAR(Isvref_mutex,  perl_mutex)     /* Mutex for SvREFCNT_{inc,dec} */
+PERLVARI(Ithreadsv_names,char *,       THREADSV_NAMES)
+#ifdef FAKE_THREADS
+PERLVAR(Icurthr,       struct perl_thread *)
+                                       /* Currently executing (fake) thread */
+#endif
+
+PERLVAR(Icred_mutex,   perl_mutex)     /* altered credentials in effect */
+
+#endif /* USE_THREADS */
+
 #ifdef PERL_OBJECT
 PERLVARI(piMem,                IPerlMem*,  NULL)
 PERLVARI(piENV,                IPerlEnv*,  NULL)
diff --git a/perl.c b/perl.c
index 29eba5b..6be4342 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -83,7 +83,6 @@ perl_construct(register PerlInterpreter *my_perl)
 #endif
 
 #ifdef MULTIPLICITY
-    ++PL_ninterps;
     Zero(my_perl, 1, PerlInterpreter);
 #endif
 
@@ -308,10 +307,6 @@ perl_destruct(register PerlInterpreter *my_perl)
     LEAVE;
     FREETMPS;
 
-#ifdef MULTIPLICITY
-    --PL_ninterps;
-#endif
-
     /* We must account for everything.  */
 
     /* Destroy the main CV and syntax tree */
index c1a0dd4..664164d 100644 (file)
 
 /* global state */
 PERLVAR(Gcurinterp,    PerlInterpreter *)
-                                       /* currently running interpreter */
-#ifdef USE_THREADS
-PERLVAR(Gthr_key,      perl_key)       /* For per-thread struct perl_thread* */
-PERLVAR(Gsv_mutex,     perl_mutex)     /* Mutex for allocating SVs in sv.c */
-PERLVAR(Gmalloc_mutex, perl_mutex)     /* Mutex for malloc */
-PERLVAR(Geval_mutex,   perl_mutex)     /* Mutex for doeval */
-PERLVAR(Geval_cond,    perl_cond)      /* Condition variable for doeval */
-PERLVAR(Geval_owner,   struct perl_thread *)
-                                       /* Owner thread for doeval */
-PERLVAR(Gnthreads,     int)            /* Number of threads currently */
-PERLVAR(Gthreads_mutex,        perl_mutex)     /* Mutex for nthreads and thread list */
-PERLVAR(Gnthreads_cond,        perl_cond)      /* Condition variable for nthreads */
-PERLVAR(Gsvref_mutex,  perl_mutex)     /* Mutex for SvREFCNT_{inc,dec} */
-PERLVARI(Gthreadsv_names,char *,       THREADSV_NAMES)
-#ifdef FAKE_THREADS
-PERLVAR(Gcurthr,       struct perl_thread *)
-                                       /* Currently executing (fake) thread */
-#endif
-
-PERLVAR(Gcred_mutex,   perl_mutex)     /* altered credentials in effect */
-
-#endif /* USE_THREADS */
-
-PERLVAR(Gninterps,     int)            /* number of active interpreters */
-PERLVARI(Gdo_undump,   bool,   FALSE)  /* -u or dump seen? */
+                                       /* currently running interpreter
+                                        * XXX this needs to be in TLS */
 
 /* constants (these are not literals to facilitate pointer comparisons) */
 PERLVARIC(GYes,                char *, "1")
 PERLVARIC(GNo,         char *, "")
 PERLVARIC(Ghexdigit,   char *, "0123456789abcdef0123456789ABCDEF")
 PERLVARIC(Gpatleave,   char *, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}")
+
+/* XXX does anyone even use this? */
+PERLVARI(Gdo_undump,   bool,   FALSE)  /* -u or dump seen? */
index b330e5d..3f2214a 100644 (file)
@@ -296,11 +296,6 @@ Verify operations that access pad objects (lexicals and temporaries).
 
 =over 4
 
-=item caller
-
-Allows modules to inherit pragmatic attributes from the caller's
-context.  C<utf8> is currently the only supported attribute.
-
 =item Dumpvalue
 
 Added Dumpvalue module provides screen dumps of Perl data.
@@ -429,6 +424,10 @@ See L<perldbmfilter> for further information.
 
 C<use utf8> to enable UTF-8 and Unicode support.
 
+C<use caller 'encoding'> allows modules to inherit pragmatic attributes
+from the caller's context.  C<encoding> is currently the only supported
+attribute.
+
 Lexical warnings pragma, C<use warning;>, to control optional warnings.
 
 C<use filetest> to control the behaviour of filetests (C<-r> C<-w> ...).
diff --git a/proto.h b/proto.h
index 3d17fea..222654c 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -647,7 +647,7 @@ void        Perl_yydestruct(pTHX_ void *ptr);
 int    Perl_runops_standard(pTHX);
 int    Perl_runops_debug(pTHX);
 #if defined(WIN32)
-int&   Perl_ErrorNo(pTHX);
+int*   Perl_ErrorNo(pTHX);
 #endif
 void   Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...);
 void   Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
index 255ad39..452fcdf 100644 (file)
@@ -28,8 +28,6 @@ RunPerl(int argc, char **argv, char **env, void *iosubsystem)
 
     PERL_SYS_INIT(&argc,&argv);
 
-    init_i18nl10n(1);
-
     if (!(my_perl = perl_alloc()))
        return (1);
     perl_construct( my_perl );