The TODO 'Tidy up global variables' can go, replaced with a second
Nicholas Clark [Sat, 4 Feb 2006 18:48:09 +0000 (18:48 +0000)]
paragraph on 'Ordering of "global" variables'.

p4raw-id: //depot/perl@27083

pod/perltodo.pod

index 1e1d452..d8d8a00 100644 (file)
@@ -334,18 +334,6 @@ such that it's trivial for the Pumpking to flag "this is an official release"
 when making a tarball, yet leave the default source saying "I'm not the
 official release".
 
-=head2 Tidy up global variables
-
-There's a note in F<intrpvar.h>
-
-  /* These two variables are needed to preserve 5.8.x bincompat because
-     we can't change function prototypes of two exported functions.
-     Probably should be taken out of blead soon, and relevant prototypes
-     changed.  */
-
-So doing this, and removing any of the unused variables still present would
-be good.
-
 =head2 Ordering of "global" variables.
 
 F<thrdvar.h> and F<intrpvarh> define the "global" variables that need to be
@@ -361,6 +349,12 @@ typically requiring 4 byte alignment, and then an odd C<bool> later on.
 to review the ordering of the variables, to see how much alignment padding can
 be removed.
 
+It's also worth checking that all variables are actually used. Perl 5.8.0
+shipped with C<PL_nrs> still defined in F<thrdvar.h>, despite it being unused
+since a change over a year earlier. Had this been spotted before release, it
+could have been removed, but now it has to remain in the 5.8.x releases to
+keep the structure the same size, to retain binary compatibility.
+
 =head2 am I hot or not?
 
 The idea of F<pp_hot.c> is that it contains the I<hot> ops, the ops that are