From: Gurusamy Sarathy Date: Mon, 29 Jun 1998 08:26:36 +0000 (+0000) Subject: bump patchlevel to 69, various little tweaks (tested on win32, Solaris X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5152d7c70255adc94c2a3e2b618f1dda3b081e12;p=p5sagit%2Fp5-mst-13.2.git bump patchlevel to 69, various little tweaks (tested on win32, Solaris under several build configurations) p4raw-id: //depot/perl@1262 --- diff --git a/Todo.5.005 b/Todo.5.005 index 743e597..bea5d84 100644 --- a/Todo.5.005 +++ b/Todo.5.005 @@ -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, Cnew()> + +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 --- 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; } diff --git a/patchlevel.h b/patchlevel.h index a5d7580..a61ebda 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -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. diff --git a/t/lib/cgi-function.t b/t/lib/cgi-function.t index 3fbea1f..ad8b968 100755 --- a/t/lib/cgi-function.t +++ b/t/lib/cgi-function.t @@ -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()"); diff --git a/t/lib/cgi-request.t b/t/lib/cgi-request.t index 12b2e34..8c70c40 100755 --- a/t/lib/cgi-request.t +++ b/t/lib/cgi-request.t @@ -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 --- 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; diff --git a/win32/Makefile b/win32/Makefile index fce1ed0..8cc01bb 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -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 diff --git a/win32/config_H.bc b/win32/config_H.bc index e0efdac..3d8501d 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -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 @@ -1471,7 +1471,7 @@ * 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: @@ -1773,8 +1773,8 @@ * 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 @@ -1820,7 +1820,7 @@ * 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: @@ -1836,8 +1836,8 @@ * 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 diff --git a/win32/config_H.gc b/win32/config_H.gc index 7fde31a..d5ddf5d 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -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 @@ -1471,7 +1471,7 @@ * 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: @@ -1773,8 +1773,8 @@ * 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 @@ -1820,7 +1820,7 @@ * 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: @@ -1836,8 +1836,8 @@ * 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 diff --git a/win32/config_H.vc b/win32/config_H.vc index 81c322e..09a6dbb 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -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 @@ -1471,7 +1471,7 @@ * 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: @@ -1773,8 +1773,8 @@ * 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 @@ -1820,7 +1820,7 @@ * 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: @@ -1836,8 +1836,8 @@ * 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 diff --git a/win32/makefile.mk b/win32/makefile.mk index 3de2c57..60fc2e7 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -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