summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-11 23:13:54 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-11 23:13:54 +0000
commit43165c0500446fb6e4a036657f82b50e22c886e0 (patch)
treebdc4939f4aa7e19724f7f5de06a0d626bf476a33
parentf3aa04c29a85dd63d563ae8e27316ff34501ccd5 (diff)
downloadperl-43165c0500446fb6e4a036657f82b50e22c886e0.tar.gz
various little tweaks; most globals are now in intrpvar.h, ninterps
is temporarily gone p4raw-id: //depot/perl@3535
-rwxr-xr-xembed.pl2
-rw-r--r--intrpvar.h22
-rw-r--r--perl.c5
-rw-r--r--perlvars.h30
-rw-r--r--pod/perldelta.pod9
-rw-r--r--proto.h2
-rw-r--r--win32/perllib.c2
7 files changed, 33 insertions, 39 deletions
diff --git a/embed.pl b/embed.pl
index 452a4dec54..eb0d42c5a7 100755
--- 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
diff --git a/intrpvar.h b/intrpvar.h
index f41433b8cd..744ff31450 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -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 29eba5bab0..6be4342ddf 100644
--- 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 */
diff --git a/perlvars.h b/perlvars.h
index c1a0dd41cc..664164dbcd 100644
--- a/perlvars.h
+++ b/perlvars.h
@@ -19,34 +19,14 @@
/* 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? */
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index b330e5d4b9..3f2214a987 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -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 3d17fea32b..222654cb9c 100644
--- 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);
diff --git a/win32/perllib.c b/win32/perllib.c
index 255ad39040..452fcdf11e 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -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 );