bump patchlevel to 69, various little tweaks (tested on win32, Solaris
Gurusamy Sarathy [Mon, 29 Jun 1998 08:26:36 +0000 (08:26 +0000)]
under several build configurations)

p4raw-id: //depot/perl@1262

Todo.5.005
op.c
patchlevel.h
t/lib/cgi-function.t
t/lib/cgi-request.t
toke.c
win32/Makefile
win32/config_H.bc
win32/config_H.gc
win32/config_H.vc
win32/makefile.mk

index 743e597..bea5d84 100644 (file)
@@ -1,17 +1,12 @@
-Merging
-    oneperl (THIS pointer)
-
 Multi-threading
     $AUTOLOAD. Hmm.
     without USE_THREADS, change extern variable for dTHR
     consistent semantics for exit/die in threads
     SvREFCNT_dec(curstack) in threadstart() in Thread.xs
+    better support for externally created threads
     Thread::Pool
     more Configure support
-
-Miscellaneous
-    rename and alter ISA.pm
-    magic_setisa should be made to update %FIELDS
+    spot-check globals like statcache and global GVs for thread-safety
 
 Compiler
     auto-produce executable
@@ -23,5 +18,48 @@ Compiler
     fix comppadlist (names in comppad_name can have fake SvCUR
        from where newASSIGNOP steals the field)
 
+Namespace cleanup
+    symbol-space: "pl_" prefix for all global vars
+                  "Perl_" prefix for all functions
+    CPP-space:   restrict what we export from headers
+                  stop malloc()/free() pollution unless asked
+    header-space: move into CORE/perl/
+    API-space:    begin list of things that constitute public api
+
+MULTIPLICITY support
+    complete work on safe recursive interpreters, C<Perl->new()>
+
+Configure
+    installation layout changes to avoid overwriting old versions
+
+Reliable Signals
+    alternate runops() for signal despatch
+    figure out how to die() in delayed sighandler
+    add tests for Thread::Signal
+
+Win32 stuff
+    automate maintenance of most PERL_OBJECT code
+    get PERL_OBJECT building under gcc
+    rename new headers to be consistent with the rest
+    sort out the spawnvp() mess
+    work out DLL versioning
+    put perlobject in $ARCHNAME so it can coexist with rest
+    get PERL_OBJECT building on non-win32?
+    style-check
+
+Miscellaneous
+    rename and alter ISA.pm
+    magic_setisa should be made to update %FIELDS [???]
+    be generous in accepting foreign line terminations
+    make filenames 8.3 friendly, where feasible
+    upgrade to newer versions of all independently maintained modules
+    add new modules (Data-Dumper, Storable?)
+    test it with large parts of CPAN
+
 Documentation
-    lots
+    comprehensive perldelta.pod
+    describe new age patterns
+    update perl{guts,call,embed,xs} with additions, changes to API
+    document Win32 choices
+    rework INSTALL to reflect changes in installation structure
+    spot-check all new modules for completeness
diff --git a/op.c b/op.c
index 7c5587e..d5f0bb6 100644 (file)
--- a/op.c
+++ b/op.c
@@ -3057,19 +3057,19 @@ newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont
        CONDOP* range = (CONDOP*) flip->op_first;
        OP* left  = range->op_first;
        OP* right = left->op_sibling;
-       LISTOP* list;
+       LISTOP* listop;
 
        range->op_flags &= ~OPf_KIDS;
        range->op_first = Nullop;
 
-       list = (LISTOP*)newLISTOP(OP_LIST, 0, left, right);
-       list->op_first->op_next = range->op_true;
+       listop = (LISTOP*)newLISTOP(OP_LIST, 0, left, right);
+       listop->op_first->op_next = range->op_true;
        left->op_next = range->op_false;
-       right->op_next = (OP*)list;
-       list->op_next = list->op_first;
+       right->op_next = (OP*)listop;
+       listop->op_next = listop->op_first;
 
        op_free(expr);
-       expr = (OP*)(list);
+       expr = (OP*)(listop);
         null(expr);
        iterflags |= OPf_STACKED;
     }
index a5d7580..a61ebda 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef __PATCHLEVEL_H_INCLUDED__
 #define PATCHLEVEL 4
-#define SUBVERSION 68
+#define SUBVERSION 69
 
 /*
        local_patches -- list of locally applied less-than-subversion patches.
index 3fbea1f..ad8b968 100755 (executable)
@@ -10,6 +10,7 @@ BEGIN {
 
 BEGIN {$| = 1; print "1..24\n"; }
 END {print "not ok 1\n" unless $loaded;}
+use Config;
 use CGI (':standard','keywords');
 $loaded = 1;
 print "ok 1\n";
@@ -64,16 +65,21 @@ $ENV{QUERY_STRING}='mary+had+a+little+lamb';
 test(21,join(' ',keywords()) eq 'mary had a little lamb','CGI::keywords');
 test(22,join(' ',param('keywords')) eq 'mary had a little lamb','CGI::keywords');
 
-CGI::_reset_globals;
-$test_string = 'game=soccer&game=baseball&weather=nice';
-$ENV{REQUEST_METHOD}='POST';
-$ENV{CONTENT_LENGTH}=length($test_string);
-$ENV{QUERY_STRING}='big_balls=basketball&small_balls=golf';
-if (open(CHILD,"|-")) {  # cparent
-    print CHILD $test_string;
-    close CHILD;
-    exit 0;
+if (!$Config{d_fork} or $^O eq 'MSWin32' or $^O eq 'VMS') {
+    for (23,24) { print "ok $_ # Skipped: fork n/a\n" }
+}
+else {
+    CGI::_reset_globals;
+    $test_string = 'game=soccer&game=baseball&weather=nice';
+    $ENV{REQUEST_METHOD}='POST';
+    $ENV{CONTENT_LENGTH}=length($test_string);
+    $ENV{QUERY_STRING}='big_balls=basketball&small_balls=golf';
+    if (open(CHILD,"|-")) {  # cparent
+       print CHILD $test_string;
+       close CHILD;
+       exit 0;
+    }
+    # at this point, we're in a new (child) process
+    test(23,param('weather') eq 'nice',"CGI::param() from POST");
+    test(24,url_param('big_balls') eq 'basketball',"CGI::url_param()");
 }
-# at this point, we're in a new (child) process
-test(23,param('weather') eq 'nice',"CGI::param() from POST");
-test(24,url_param('big_balls') eq 'basketball',"CGI::url_param()");
index 12b2e34..8c70c40 100755 (executable)
@@ -10,6 +10,7 @@ BEGIN {
 
 BEGIN {$| = 1; print "1..31\n"; }
 END {print "not ok 1\n" unless $loaded;}
+use Config;
 use CGI ();
 $loaded = 1;
 print "ok 1\n";
@@ -71,17 +72,22 @@ test(26,$q->param('foo') eq 'bar','CGI::param() redux');
 test(27,$q=new CGI({'foo'=>'bar','bar'=>'froz'}),"CGI::new() redux 2");
 test(28,$q->param('bar') eq 'froz',"CGI::param() redux 2");
 
-$q->_reset_globals;
-$test_string = 'game=soccer&game=baseball&weather=nice';
-$ENV{REQUEST_METHOD}='POST';
-$ENV{CONTENT_LENGTH}=length($test_string);
-$ENV{QUERY_STRING}='big_balls=basketball&small_balls=golf';
-if (open(CHILD,"|-")) {  # cparent
-    print CHILD $test_string;
-    close CHILD;
-    exit 0;
+if (!$Config{d_fork} or $^O eq 'MSWin32' or $^O eq 'VMS') {
+    for (29..31) { print "ok $_ # Skipped: fork n/a\n" }
+}
+else {
+    $q->_reset_globals;
+    $test_string = 'game=soccer&game=baseball&weather=nice';
+    $ENV{REQUEST_METHOD}='POST';
+    $ENV{CONTENT_LENGTH}=length($test_string);
+    $ENV{QUERY_STRING}='big_balls=basketball&small_balls=golf';
+    if (open(CHILD,"|-")) {  # cparent
+       print CHILD $test_string;
+       close CHILD;
+       exit 0;
+    }
+    # at this point, we're in a new (child) process
+    test(29,$q=new CGI,"CGI::new() from POST");
+    test(30,$q->param('weather') eq 'nice',"CGI::param() from POST");
+    test(31,$q->url_param('big_balls') eq 'basketball',"CGI::url_param()");
 }
-# at this point, we're in a new (child) process
-test(29,$q=new CGI,"CGI::new() from POST");
-test(30,$q->param('weather') eq 'nice',"CGI::param() from POST");
-test(31,$q->url_param('big_balls') eq 'basketball',"CGI::url_param()");
diff --git a/toke.c b/toke.c
index 1c098ab..24bf27d 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -4715,9 +4715,8 @@ checkcomma(register char *s, char *name, char *what)
 STATIC SV *
 new_constant(char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type) 
 {
-    HV *table = perl_get_hv("\10", FALSE); /* ^H */
-    dTHR;
     dSP;
+    HV *table = perl_get_hv("\10", FALSE); /* ^H */
     BINOP myop;
     SV *res;
     bool oldcatch = CATCH_GET;
index fce1ed0..8cc01bb 100644 (file)
@@ -25,7 +25,7 @@ INST_TOP      = $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER       = \5.00468
+INST_VER       = \5.00469
 
 #
 # uncomment to enable threads-capabilities
index e0efdac..3d8501d 100644 (file)
@@ -34,8 +34,8 @@
  *     This symbol is the filename expanded version of the BIN symbol, for
  *     programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.00468\\bin\\MSWin32-x86"      /**/
-#define BIN_EXP "c:\\perl\\5.00468\\bin\\MSWin32-x86"  /**/
+#define BIN "c:\\perl\\5.00469\\bin\\MSWin32-x86"      /**/
+#define BIN_EXP "c:\\perl\\5.00469\\bin\\MSWin32-x86"  /**/
 
 /* CPPSTDIN:
  *     This symbol contains the first part of the string which will invoke
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.00468\\lib\\MSWin32-x86"          /**/
+#define ARCHLIB "c:\\perl\\5.00469\\lib\\MSWin32-x86"          /**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* CAT2:
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "c:\\perl\\5.00468\\lib"               /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.00468"))     /**/
+#define PRIVLIB "c:\\perl\\5.00469\\lib"               /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.00469"))     /**/
 
 /* SIG_NAME:
  *     This symbol contains a list of signal names in order of
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.00468\\lib\\MSWin32-x86"           /**/
+#define SITEARCH "c:\\perl\\site\\5.00469\\lib\\MSWin32-x86"           /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
  *     This symbol contains the ~name expanded version of SITELIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "c:\\perl\\site\\5.00468\\lib"         /**/
-#define SITELIB_EXP (win32_get_sitelib("5.00468"))     /**/
+#define SITELIB "c:\\perl\\site\\5.00469\\lib"         /**/
+#define SITELIB_EXP (win32_get_sitelib("5.00469"))     /**/
 
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
index 7fde31a..d5ddf5d 100644 (file)
@@ -34,8 +34,8 @@
  *     This symbol is the filename expanded version of the BIN symbol, for
  *     programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.00468\\bin\\MSWin32-x86"      /**/
-#define BIN_EXP "c:\\perl\\5.00468\\bin\\MSWin32-x86"  /**/
+#define BIN "c:\\perl\\5.00469\\bin\\MSWin32-x86"      /**/
+#define BIN_EXP "c:\\perl\\5.00469\\bin\\MSWin32-x86"  /**/
 
 /* CPPSTDIN:
  *     This symbol contains the first part of the string which will invoke
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.00468\\lib\\MSWin32-x86"          /**/
+#define ARCHLIB "c:\\perl\\5.00469\\lib\\MSWin32-x86"          /**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* CAT2:
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "c:\\perl\\5.00468\\lib"               /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.00468"))     /**/
+#define PRIVLIB "c:\\perl\\5.00469\\lib"               /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.00469"))     /**/
 
 /* SIG_NAME:
  *     This symbol contains a list of signal names in order of
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.00468\\lib\\MSWin32-x86"           /**/
+#define SITEARCH "c:\\perl\\site\\5.00469\\lib\\MSWin32-x86"           /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
  *     This symbol contains the ~name expanded version of SITELIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "c:\\perl\\site\\5.00468\\lib"         /**/
-#define SITELIB_EXP (win32_get_sitelib("5.00468"))     /**/
+#define SITELIB "c:\\perl\\site\\5.00469\\lib"         /**/
+#define SITELIB_EXP (win32_get_sitelib("5.00469"))     /**/
 
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
index 81c322e..09a6dbb 100644 (file)
@@ -34,8 +34,8 @@
  *     This symbol is the filename expanded version of the BIN symbol, for
  *     programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.00468\\bin\\MSWin32-x86"      /**/
-#define BIN_EXP "c:\\perl\\5.00468\\bin\\MSWin32-x86"  /**/
+#define BIN "c:\\perl\\5.00469\\bin\\MSWin32-x86"      /**/
+#define BIN_EXP "c:\\perl\\5.00469\\bin\\MSWin32-x86"  /**/
 
 /* CPPSTDIN:
  *     This symbol contains the first part of the string which will invoke
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.00468\\lib\\MSWin32-x86"          /**/
+#define ARCHLIB "c:\\perl\\5.00469\\lib\\MSWin32-x86"          /**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* CAT2:
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "c:\\perl\\5.00468\\lib"               /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.00468"))     /**/
+#define PRIVLIB "c:\\perl\\5.00469\\lib"               /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.00469"))     /**/
 
 /* SIG_NAME:
  *     This symbol contains a list of signal names in order of
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.00468\\lib\\MSWin32-x86"           /**/
+#define SITEARCH "c:\\perl\\site\\5.00469\\lib\\MSWin32-x86"           /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
  *     This symbol contains the ~name expanded version of SITELIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITELIB "c:\\perl\\site\\5.00468\\lib"         /**/
-#define SITELIB_EXP (win32_get_sitelib("5.00468"))     /**/
+#define SITELIB "c:\\perl\\site\\5.00469\\lib"         /**/
+#define SITELIB_EXP (win32_get_sitelib("5.00469"))     /**/
 
 /* DLSYM_NEEDS_UNDERSCORE:
  *     This symbol, if defined, indicates that we need to prepend an
index 3de2c57..60fc2e7 100644 (file)
@@ -29,7 +29,7 @@ INST_TOP      *= $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER       *= \5.00468
+INST_VER       *= \5.00469
 
 #
 # uncomment to enable threads-capabilities