This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
new perldelta
[perl5.git] / globals.c
index b0c444d..5a78c81 100644 (file)
--- a/globals.c
+++ b/globals.c
@@ -1,6 +1,6 @@
 /*    globals.c
  *
- *    Copyright (c) 1997-2003, Larry Wall
+ *    Copyright (C) 1995, 1999, 2000, 2001, 2008 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -8,30 +8,37 @@
  */
 
 /*
- * "For the rest, they shall represent the other Free Peoples of the World:
- * Elves, Dwarves, and Men." --Elrond
+ * 'For the rest, they shall represent the other Free Peoples of the World:
+ *  Elves, Dwarves, and Men.'                                --Elrond
+ *
+ *     [p.275 of _The Lord of the Rings_, II/iii: "The Ring Goes South"]
  */
 
+/* This file exists to #include "perl.h" _ONCE_ with
+ * PERL_IN_GLOBALS_C defined. That causes various global variables
+ * in perl.h and other files it includes to be _defined_ (and initialized)
+ * rather than just declared.
+*/
+
 #include "INTERN.h"
 #define PERL_IN_GLOBALS_C
 #include "perl.h"
 
-int
-Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
-{
-    dTHXs;
-    va_list(arglist);
-    va_start(arglist, format);
-    return PerlIO_vprintf(stream, format, arglist);
-}
+/* regcomp.h * isn't #included in perl.h, as its only included within a
+ * few specific files such as regcomp.c, regexec.c.  So include it
+ * explicitly to process any data declarations within it.
+ */
+#include "regcomp.h"
+
+/* We need somewhere to declare this. This file seems a good place.
+ * This is not a regular "global" in that we don't know whether it needs to
+ * exist until we include threads.h, and we don't want it as part of any
+ * global struct (if that or something similar is re-introduced. */
 
-int
-Perl_printf_nocontext(const char *format, ...)
-{
-    dTHX;
-    va_list(arglist);
-    va_start(arglist, format);
-    return PerlIO_vprintf(PerlIO_stdout(), format, arglist);
-}
+#if defined(USE_ITHREADS) && defined(PERL_THREAD_LOCAL)
+PERL_THREAD_LOCAL void *PL_current_context;
+#endif
 
-#include "perlapi.h"           /* bring in PL_force_link_funcs */
+/*
+ * ex: set ts=8 sts=4 sw=4 et:
+ */