summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* This is my patch patch.1n for perl5.001.perl-5.001nAndy Dougherty1995-10-315-1990/+2933
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To apply, change to your perl directory, run the command above, then apply with patch -p1 -N < thispatch. This is a consolidation patch. It contains many of the most commonly applied or agreed-to patches that have been circulating since patch.1m. It also changes the 'unofficial patchlevel' in perl.c. There are some problems (see items marked with '***'). I will attempt to address those in a patch.1o in a few days. This patch contains the following packages: My Jumbo Configure patch vs. 1m, with subsequent patches 1, 2, and 3. Mainly, this provides easier use of local libraries, documents the installation process in a new INSTALL file, moves important questions towards the beginning, and improves detection of signal names (mostly for Linux). xsubpp-1.922. Patches from Larry: eval "1" memory leak patch (as modified by GSAR to apply to 5.001m). NETaa14551 Infinite loop in formats, NETaa13729 scope.c patch (fixed problems on AIX and others) NETaa14138 "substr() & s///" (pp_hot.c) Patches from ftp.perl.com: ftp://ftp.perl.com/pub/perl/src/patches/closure-bug.patch, version of 20 Sep 1995 Includes fix for NETaa14347 (32k limit in regex), and other fixes. ftp://ftp.perl.com/pub/perl/src/patches/debugger.patch, version of 27 Aug 1995 ftp://ftp.perl.com/pub/perl/src/patches/glob-undef.patch, version of 4 Sep 1995 NETaa14421 $_ doesn't undef ftp://ftp.perl.com/pub/perl/src/patches/op-segfault.patch, version of 21 Aug 1995 ftp://ftp.perl.com/pub/perl/src/patches/warn-ref-hash-key.patch, version of 5 Jun 1995 Tim Bunce's Jumbo DynaLoader patch for Perl5.001m, which is NETaa14636 Jumbo DynaLoader patch for Perl5.001m, and Additional patch for NETaa14636 Jumbo DynaLoader patch for Perl5.001m version of 09 Oct 1995. ***This needs some additional parentheses.*** MakeMaker-5.00. Supercedes NETaa13540 (VMS MakeMaker patches). (Updates minimod.PL as well.) ***This has a couple of minor problems. pod2man is run even if it isn't available. LD_RUN_PATH gets set to some mysterious values.*** NETaa14657 Paul Marquess Net::Ping patch. I've included Net-Ping-1.00. NETaa14661 Dean Roehrich DProf. Installed as ext/Devel/DProf. Configure should pick this up automatically. (5 Apr 1995 version.) NETaa13742 Jack Shirazi Socket in 5.001. I've also included his socket.t test in t/lib/socket.t. c2ph-1.7. Dean's perlapi patches of Oct 12, 1995, which superceded those of Oct 8, 1995. This is the one that did mv perlapi.pid perlxs.pod. NETaa14310 Tim Bunce A trivial patch for configpm (handy for shell scripts) DB_File-1.0 patch from Paul Marquess (pmarquess@bfsec.bt.co.uk) last modified 7th October 1995 version 1.0 Added or updated the following hints files: hints/hpux.sh hints/ncr_tower.sh hints/netbsd.sh hints/ultrix.sh Patch and enjoy. Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042
* This is my patch patch.1m for perl5.001.Andy Dougherty1995-06-224-96/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To apply, change to your perl directory, run the command above, then apply with patch -p1 -N < thispatch. Highlights of this patch include: 1. Fixes for $sitelib, $d_stdio_ptr_lval, and $d_stdio_cnt_lval when config.sh is re-used. 2. Move embed.h, keywords.h, and opcode.h dependencies to a special regen_headers target that is ordinarily not used. This is now analogous to the run_byacc target. As a cosmetic side-effect, I transliterated embed_h.sh into embed.pl so that it can run on non-unix systems as well. 3. Tests for gdbm_{sync,exists,setopt} in GDBM_File (needed for Slackware 2.1). For good measure, I've also thrown in the following patches I pulled off the list, mostly unmodified from the originals. 1. Larry's "unofficial official" fix for the subroutine array context problem. 2. Tim's __DATA__ patch. (I kept forgetting about this one.) 3. Malcom's USE_OP_MASK patch to pave the way for his Safe extension. 4. Spider's suggested renaming of regexec to pregexec and regcomp to pregcomp to avoid conflicts with POSIX symbols on Digital Unix. (I only added a brief explanatory comment to the relevant .c files.) 5. Spider's installperl patch to avoid installing *.orig and and the .exists files. (I changed this a little to include patch's ~ suffix, which is used on systems with short file names (in some versions of patch)). 6. Raphael's "safe_unlink" patch to installperl, in case a copy of perl is currently runniung. 7. xsubpp 1.9. 8. Tim's lib.pm module (with patched corrected spelling of 2nd :-). 9. Tim's Exporter module version patches. 10. Tim's MakeMaker patches for make test when LINKTYPE=static. 11. Randal's pod2html patches. 12. Spider's "picky compiler" patches for x2p/util.[ch] 13. Paul's updated source filtering patches. Patch and enjoy. I hope nothing breaks :-). Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042
* This is my patch patch.1l for perl5.001.Andy Dougherty1995-06-061-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To apply, change to your perl directory, run the command above, then apply with patch -p1 -N < thispatch. This patch fixes all the Configure & build problems for which I have a solution. After you apply this patch, I would recommend: make distclean # or at the very least rm config.sh sh Configure [whatever options you use] make depend make make test Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042 Here are the file-by-file contents: Changes.Conf Updated a bit. Configure Now honors hints on <pwd.h>-related things (for CX/UX, in particular). Now honors previous values of d_stdio_ptr_lval and d_stdio_cnt_lval. DB test programs now conditionally include 'const'. MANIFEST Updated. config_H Updated. config_h.SH Include trailing /**/ on STDIO_..._LVALUE defines. hints/cxux.sh Simplified. Include info about failing test. hints/epix.sh A guess at a dynamic loading fix. hints/next_3.sh Add a few comments. lib/Benchmark.pm Ensure numeric context on number of loop iterations. op.c Spider's padlex and goto &$nonesuch patches. perl.c fputs("\tUnofficial patchlevel 1l.\n",stdout); pp_ctl.c pp_hot.c scope.c Spider's padlex and goto &$nonesuch patches.
* This is my patch patch.1k for perl5.001.Andy Dougherty1995-06-064-747/+1541
| | | | | | | | | | | | | | | | | | | | | This patch brings you MakeMaker-4.15. This is MakeMaker-4.13 plus patches to provide the LD_RUN_PATH environment variable for building shared libraries, and the appropriate -I flags for running xsubpp while building perl. To apply, change to your perl directory, run the command above, then apply with patch -p1 -N < thispatch. After you apply this patch, you should apply patch.1l. Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA 18042
* This is my patch patch.1j for perl5.001.Andy Dougherty1995-06-055-60/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To apply, change to your perl directory and apply with patch -p1 -N < thispatch. After you apply this patch, I would recommend: rm config.sh sh Configure [whatever options you use] make depend make make test Here are the highlights: Linux fixes: Now correctly sets & uses stdio _ptr and _cnt tricks only when feasible (Configure, config_h.SH, config_H, doio.c, sv.c x2p/str.c) #!path-to-perl fixed to use $binexp instead of $bin. This should really be fixed to do the correct perl start-up stuff. Volunteers? (c2ph.SH, h2ph.SH, h2xs.SH, makeaperl.SH, perldoc.SH, pod/pod2*.SH, x2p/find2perl.SH, x2p/s2p.SH) hint updates: hints/apollo.sh, hints/linux.sh, hints/freebsd.sh, hints/sco_3.sh. xsubpp version 1.7. (includes CASE support) pod/perlbot updates. my lib/AutoLoader patch (to use @INC). [ON]DBM_File/Makefile.PL now have a few hint files. Other sundry small things. Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College Easton, PA 18042 Here's the file-by-file breakdown of what's included: Configure Checks if File_ptr(fp) and File_cnt(fp) can be assigned to. Fix typo: s/sytem/system/ MANIFEST Include new extension hint files. README Some clarifications, thanks to John Stoeffel. Tell users how to not use dynamic loading. c2ph.SH Use $binexp instead of $bin. config_H Updated to match config_h.SH. config_h.SH Include defines for whether File_ptr(fp) and File_cnt(fp) can be assigned to. doio.c Use defines for whether File_ptr(fp) and File_cnt(fp) can be assigned to. ext/DynaLoader/DynaLoader.pm Improve error messages and a little documentation. ext/NDBM_File/hints/solaris.pl New hint file. ext/ODBM_File/Makefile.PL Removed -ldbm.nfs, since it's now in the sco hint file. ext/ODBM_File/hints/sco.pl ext/ODBM_File/hints/solaris.pl ext/ODBM_File/hints/svr4.pl New hint files. h2ph.SH h2xs.SH Use $binexp instead of $bin. hints/apollo.sh hints/freebsd.sh hints/linux.sh hints/sco_3.sh Updated. lib/AutoLoader.pm Eliminate else clause in sub import. Handle case where @INC contains relative paths. lib/ExtUtils/xsubpp Update to version 1.7. This includes CASE support. lib/I18N/Collate.pm Updated documentation. lib/ftp.pl Look for socket.ph or sys/socket.ph lib/getcwd.pl Use defined(). makeaperl.SH Use $binexp instead of $bin. perl.c fputs("\tUnofficial patchlevel 1j.\n",stdout); perldoc.SH Use $binexp instead of $bin. Turn off debugging messages. pod/perlbot.pod Updated. pod/pod2html.SH pod/pod2latex.SH pod/pod2man.SH Use $binexp instead of $bin. sv.c Use defines for whether File_ptr(fp) and File_cnt(fp) can be assigned to. toke.c Fix spelling of ambiguous. x2p/find2perl.SH x2p/s2p.SH Use $binexp instead of $bin. x2p/str.c Use defines for whether File_ptr(fp) and File_cnt(fp) can be assigned to.
* This is my patch patch.1g for perl5.001.Andy Dougherty1995-05-3028-57/+1388
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch only includes updates to the lib/ directory and the removal of the pod/modpods. The main things are the following: The modpods are now embedded in their corresponding .pm files. The Grand AutoLoader patch. Updates to lib/ExtUtils/xsubpp by Paul Marquess <pmarquess@bfsec.bt.co.uk>. Minor changes to a very few modules and pods. To apply, change to your perl directory, run the commands above, then apply with patch -p1 -N < thispatch. After you apply this patch, you should go on to apply patch.1h and patch.1i before reConfiguring and building. Patch and enjoy, Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA Here's the file-by-file description: lib/AnyDBM_File.pm Embedded pod. lib/AutoLoader.pm Grand AutoLoader patch. Embedded pod. lib/AutoSplit.pm Grand AutoLoader patch. Embedded pod. Skip pod sections when splitting .pm files. lib/Benchmark.pm lib/Carp.pm lib/Cwd.pm lib/English.pm Grand AutoLoader patch. Embedded pod. lib/Exporter.pm Grand AutoLoader patch. Embedded pod. Update comments to match behavior. lib/ExtUtils/MakeMaker.pm Include installation of .pod and .pm files. Space out documentation for better printing with pod2man. lib/ExtUtils/xsubpp Patches from Paul Marquess <pmarquess@bfsec.bt.co.uk>, 22 May 1995. Now at version 1.4. lib/File/Basename.pm Embedded pod. lib/File/CheckTree.pm Embedded pod. lib/File/Find.pm Embedded pod. Included finddepth pod too. lib/FileHandle.pm Embedded pod. lib/Getopt/Long.pm Embedded pod. Fixed PERMUTE order bug. lib/Getopt/Std.pm Embedded pod. Caught accessing undefined element off end of @arg array. lib/I18N/Collate.pm lib/IPC/Open2.pm lib/IPC/Open3.pm lib/Net/Ping.pm Embedded pod. lib/Term/Complete.pm Embedded pod. Changed name from complete to Complete to match documentation and exported name. lib/Text/Abbrev.pm Embedded pod. lib/Text/Tabs.pm Updated. lib/integer.pm lib/less.pm lib/sigtrap.pm lib/strict.pm lib/subs.pm Embedded pod.
* perl5.001 patch.1eAndy Dougherty1995-04-181-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's what's included: Configure Change a few more spots so that ' ' is equivalent to "none". This allows hint files to set empty values for variables. Split cpp-symbol awk command for old awk (Harris Night Hawk). hints/irix_5.sh hints/irix_6.sh Explicitly use 'ld' rather than 'cc' to build dynamic modules. hints/linux.sh Allow users to specify an alternate compiler on the command line, e.g. Configure -Dcc=gcc-elf. lib/ExtUtils/MakeMaker.pm Fix CC substitution to allow c++ and variants as well. perl.c fputs("Unofficial patchlevel 1e.\n",stdout); pod/Makefile Include $(TEX) target for running pod2latex. Include some fixes from Bill Middleton.
* perl5.001 patch.1dAndy Dougherty1995-04-142-38/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is my patch patch.1d for perl5.001. A complete description is given below, but here are the basic changes. 1. Linux: more tweaks so dynamic loading works under ELF or (maybe) under dld. There are so many different dld versions and so many different tool sets, it's hard to be more specific. 2. perl -e '$v=1e19+0' no longer dumps core on Intel x86 processors. 3. pod stuff: a. Wrapped pod2* translators in a 'SH' wrapper so that they have the proper path to perl at the top. b. Fixed pod/ Makefile to call the pod2html translator correctly. (Why do pod2man and pod2html work differently?) c. Include latest (Feb 2, 1995) version of pod2html, fresh from ftp.metronet.com. 4. MakeMaker 4.093. 5. GIMME and installperl patches from Tim Bunce. 6. Miscellaneous hint file updates. Configure Allow ' ' to mean 'none' in a few more places. This provides a way for hint files to set something to an empty value and to ensure that the empty value will be maintained when config.sh is reused. Fix silly ld typo that prevented hint file from actually setting $ld. MANIFEST Now has pod/pod2*.SH. Makefile.SH Remove old libperl.a instead of blindly adding to it. Failure to do this causes a problem if you originally used perl's malloc but later changed your mind. The old malloc.o would still be in libperl.a ext/DynaLoader/dl_dlopen.xs Use strerror(errno) instead of dlerror for NetBSD. handy.h Clarify & rework HAS_BOOL comments and code. No functionality is changed, but I hope this is easier to follow. hints/freebsd.sh hints/isc.sh hints/linux.sh hints/netbsd.sh hints/next_3_0.sh hints/next_3_2.sh hints/sco_3.sh Miscellaneous updates. See the individual comments in the patches. installperl Run ranlib on installed .a libraries. unlink() old versions of files before installing new ones, in case the old ones are are write-protected. lib/ExtUtils/MakeMaker.pm Updated to 4.092 by Andreas Koenig. This features better selection of shared library versions and shorter command lines for static linking of new extensions. It is also more robust against broken csh on Linux. (There's still a glob in the library selection loop, however.) I further updated it to 4.093 because I didn't like the distclean target :-). It's just a sloppy quick fix, but that's all I have time for now. I've also worked on the library version selection stuff and the $(CC) command stuff a little more. lib/TieHash.pm Overdue removal of ambiguous ${pack} construction. perl.h New U_V macro to cast to the UV type (usually unsigned long). pod/Makefile Updated. pod/pod2html.SH Updated. Converted to 'SH' wrapper so correct #!/path/to/perl gets used. pod/pod2latex.SH pod/pod2man.SH Converted to 'SH' wrapper so correct #!/path/to/perl gets used. pp_hot.c GIMME patch from Tim Bunce. pp_sys.c Allow use of F_FREESP fcntl() directive to truncate files. If HAS_MKDIR is not defined, the stat() call to check the result of the system "mkdir" call was failing because the filename pointer no longer pointed to the right location. sv.c Protect some (UV) casts by the new U_V() macro. util.c New cast_uv() function to support the U_V() macro, if needed. cast_iv() and cast_uv() no longer assume 32-bit longs. The various cast_() functions have also been simplified.
* perl5.001 patch.1cAndy Dougherty1995-04-061-63/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure Updated to dist PL53. Fix overlapping memcpy test. Add check for ld. Use $cc instead, if on an ELF system. With -d, don't reuse config.sh unless $myuname matches. Warn more explicitly about changing compilers before reloading old config.sh. Detect Linux ELF format in nm scan. Better detection of d_castneg. (ISC 4.1 was passing the test, but couldn't cast in an argument list.) Suggest -fpic for dynamic loading if you're using GNU CC under any name. No longer test for byacc, fmod, or drem, since they are not used. Makefile.SH Use $ld, not ld (only matters for SVR4) Silence some byacc-related harmless error messages. README Suggest using -Dcc=gcc (or whatever). Warn about reusing old config.sh. (The warning was already there in 5.001; I've just expanded it a little.) Warn against using GNU as and GNU ld on SunOS & Solaris. config.H config_h.SH Updated to match Configure. doio.c Add socket includes. ext/Fcntl/Fcntl.xs Fix typo: s/SETFL/F_SETFL/; handy.h Check _G_HAVE_BOOL, not just if it's defined. hints/dynix.sh hints/hpux_9.sh hints/linux.sh hints/netbsd.sh hints/titanos.sh Updated. ELF on linux should probably work. installperl Install pod2html, pod2latex, and pod2man. lib/ExtUtils/MakeMaker.pm Updated to 4.091. (4.09 + a small writedoc() patch.) myconfig Now includes 'ld' command. perl.c Revised an #elif clause since Pyramid's cpp doesn't understand #elif. perl.h Fix U_L, I_V, and I_32 cast macros to ensure that the cast_ulong(), cast_iv(), and cast_i32() functions (if used) are passed a double. In particular, the FIXSTATUS macros were handing int's to U_L(). Remove unnecessary HAS_FMOD testing (See util.c). proto.h Remove my_fmod() prototype. (See util.c) sv.h Fix GV/CV typo. util.c Simplified cast_i32() and cast_iv() to mimic what *actually* happens on a SPARC running SunOS 4.1.3. (Previously, they did some complicated fmod() calculation. I've since discovered that's not what happens on the SPARC.) With this change, fmod() is no longer necessary. Hence my_fmod is removed. This also means the HAS_FMOD and HAS_DREM tests are no longer needed in Configure, so they are gone too. vms/config.vms Remove unnecessary HAS_FMOD and HAS_DREM defines. x2p/Makefile.SH Silence byacc-related things.
* Perl 5.001perl-5.001Larry Wall1995-03-1220-260/+712
| | | | [See the Changes file for a list of changes]
* perl5.000 patch.0o: [address] a few more Configure and build nits.perl-5.000oAndy Dougherty1995-03-101-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses a few more Configure and build nits. Full details are given below, but the main hightligths are (slightly) better support for nested extensions and DLD and AIX MakeMaker fixes. Configure Detect MachTen. Thanks to Mark Pease <peasem@primenet.com>. Delete some tabs that caused a MachTen /bin/sh core dump! Detect extensions nested 1 level deep, e.g. Devel/DProf/DProf.xs MANIFEST MANIFEST.new Include new hints/machten.sh hint file. Makefile.SH Document why we use ./makedir instead of mkdir. U/Extensions.U Detect extensions nested 1 level deep, e.g. Devel/DProf/DProf.xs U/dist3_051.pat Include MachTen patches. configpm Convert nested extension names from filesytem-dependent Devel/DProf to perl5's internal naming scheme Devel::DProf. doio.c A dup-related buglet fix from Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>. ext/DB_File/DB_File.pm ext/DynaLoader/DynaLoader.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/POSIX/POSIX.pm ext/Socket/Socket.pm Throw a qw() around @ISA elements to show "good style". hints/machten.sh new file. lib/ExtUtils/MakeMaker.pm Bump version number to 4.086. Fix AIX buglet -- needed to specify NAME. Linux/DLD/gcc-2.6.2: We no longer load .sa libraries (except libm.sa, which is apparently still o.k. util.c Another dup-related buglet fix.
* perl5.000 patch.0n: [address Configure and build issues]Andy Dougherty1995-03-051-3/+3
| | | | | | | | | | | | | | | | | | | | This is my patch patch.0n for perl5.000. This _very_ small patch 1. updates the linux and dec_osf hints files, 2. adds sv_isobject to global.sym, 3. updates Configure to deal with recent Linux nm output, and 4. fixes the names in File::Path. This patch addresses only Configure and build issues for which I have tested solutions. It does nothing else. Maybe some of the other patches floating around should be included. Maybe not. I'm afraid I just don't have time to think about them now. Unless something's broken, I hope not to issue any more patches :-) (Yes, I've said that before, but this one's _really_ small, and linux support was broken.:-) Thanks to Kenneth Albanowski for researching, implementing, and testing the Linux patch.
* perl5.000 patch.0m: [various fixes, hint file updates and documentation]Andy Dougherty1995-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is my patch patch.0m for perl5.000. This patch fixes all remaining problems that I am aware of, and for which I have a solution. It also updates some hint files and documentation. Here's what's new: Configure Protect against spaces in uname -m output (unicos). Look in <stdlib.h> for malloctype and freetype. Check if user has void free() or int free(). Look in linux/signal.h for signal names. MANIFEST MANIFEST.new Two new hint files: cxux.sh and PowerUNIX.sh. Sorted. README Indicate what gets installed and where it usually goes. Thanks to Hallvard B. Furuseth <h.b.furuseth@usit.uio.no> for suggesting this. U/Myinit.U Update extliblist comment. U/dist3_051.pat This file contains patches to dist 3 (PL 51) that I used to generate Configure for perl. U/mallocsrc.U Look in <stdlib.h> for malloctype and freetype. Check if user has void free() or int free(). config_h.SH config.H Add Free_t to handle void free() vs. int free(). ext/DynaLoader/README Updated comment. ext/POSIX/POSIX.pm creat() has 2 arguments, not 3 (thanks, Paul). ext/POSIX/POSIX.xs Fix return type of lseek. ext/SDBM_File/sdbm/sdbm.h Add I_STDLIB guard on #include <stdlib.h> ext/util/extliblist Add note indicating this is obsolete. Don't remove it because people might be using it for their own private extensions. hints/PowerUNIX.sh hints/cxux.sh New files. Written by Tom.Horsley@mail.hcsc.com hints/linux.sh Simplified. lib/ExtUtils/MakeMaker.pm Typo fixed, only affected aix? malloc.c Allow for possible int free(). perl.h pp_sys.c util.c If the user is not using vfork, move the #define vfork fork util after various #include files. Since vfork() and fork() might have different prototypes, the #define could cause a conflict in system header files. (Reported for 386bsd.) Makefile.SH make realclean will remove h2xs and makeaperl (but leave behind the .SH versions, of course).
* perl5.000 patch.0l: MakeMaker 4.085 and upgrade Configure to dist3 PL 51.Andy Dougherty1995-02-212-265/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's what's new: Configure Generated by metaconfig PL 51. Correctly set ./mips on a MIPS system. Improved (we hope) handling of $archname. MANIFEST MANIFEST.new Made .SH files out of h2xs and makeaperl so that they get the correct path-to-perl at the top. Makefile.SH Propagate $(perllib) to extensions. U/dist3_051.patches Two patches to apply on top of metaconfig PL 51. I've sent them off for inclusion in the next metaconfig update. config_h.SH config.H Regenerated. Only the order of elements has changed. ext/DB_File/Makefile.PL ext/GDBM_File/Makefile.PL ext/NDBM_File/Makefile.PL Add -L/usr/local/lib to LIBS variable. ext/POSIX/POSIX.xs Place #ifdef around FD_CLOEXEC (needed for Apollo). ext/SDBM_File/sdbm/Makefile.PL Simplified, thanks to MakeMaker enhancements. ext/util/make_ext Pass through $(perllib) argument for cflags. h2xs.SH Changed from h2xs to h2xs.SH. Now finds correct path to perl. hints/next_3_2.sh Updated for hppa. hints/solaris_2.sh Remove potentially problematic -lmalloc from $libswanted. hints/unicos.sh Look in /usr/include/rpcsvc for dbm.h. installperl Install h2xs. lib/Cwd.pm Use 'my' variable to avoid clobbering $_. lib/ExtUtils/MakeMaker.pm Upgraded from 4.06 to 4.085. Lots of documentation improvements. EXE_FILES to refer to an array of executable files to install. Reduce chatter during build process. Don't count a useful -L/path option as a successful search for a particular library. Cleanup handling of aix external symbols. Create/update perllocal.pod to indicate what we've done. makeaperl.SH Changed from makeaperl to makeaperl.SH. Now finds correct path to perl. x2p/util.c Delete unused setenv() and envix() functions. x2p/util.h Delete unused setenv() and envix() prototypes. vms/config.vms Define I_SYS_STAT and I_SYS_TYPES.
* perl5.000 patch.0k: MakeMaker 4.06 and to fix minor portability and build ↵Andy Dougherty1995-02-112-240/+590
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | problems reported even after patches 0a through 0j MakeMaker 4.06 allows you to build extensions away from the source tree with either static or dynamic loading. In a rare act of prescience, I've also fixed some un-reported bugs. Specifically, there were several places where Configure said you could specify things using ~name notation, but, in fact, you couldn't. In detail, here's what's included: Configure Check I_SYS_TYPES for x2p/a2p.h Improve and generalize $osvers detection for DEC Alpha (now will work even for osvers > 3.) No longer override hint-file setting of $archname. Don't tell users ~name is ok for Dynamic loading file. It's not. MANIFEST MANIFEST.new Updated. Makefile.SH Some trailing ' ' removed from lines. New target lib/ExtUtils/Miniperl.pm built. This stashes away miniperlmain.c in the library so new static extensions can be built away from the source tree. Minor cleanup. U/Oldconfig.pat.2 This is a patch to be applied against dist-PL 50 to upgrade the DEC OSF/1 version detection. U/archlib.U Preserve previous value for $archname. Otherwise this is identical to the unit in dist-PL 50. U/dlsrc.U Users may not use ~name notation to find the dynamic loading module. (Back in early alpha days they could, but that hasn't worked since the DynaLoader module was introduced. config.H Updated. config_h.SH Updated. hints/dec_osf.sh Updated. Simplified. Don't use ld -no_archive (at least as the default). It only worked because some versions *ignored* it. hints/mpeix.sh Add a few comments. I should have added more. hints/next_3_0.sh New hint file from Kevin White <klwhite@magnus.acs.ohio-state.edu> hints/ultrix_4.sh Separate out flags not appropriate for gcc. installperl Install sperl.o. lib/ExtUtils/MakeMaker.pm Upgraded from 4.03 to 4.06. Many improvements. Now possible to build and install new extensions outside the source tree, for both static and dynamic loading. lib/File/Path.pm New. Creates or removes a series of directories makeaperl New utility to create a new perl binary from static extensions minimod.PL New. minimod.PL writes the contents of miniperlmain.c into the module ExtUtils::Miniperl for later perusal (when the perl source is deleted) perl.c ARCHLIB and PRIVLIB changed to ARCHLIB_EXP and PRIVLIB_EXP, since perl is not prepared to deal with ~name expansion. The _EXP variables are pre-expanded by Configure. proto.h NeXt 3.0 couldn't handle the #ifdef __attribute line. It said 'illegal #ifdef'. vms/config.vms s/ARCHLIB/ARCHLIB_EXP/; s/PRIVLIB/PRIVLIB_EXP/; Add in I_SYS_STAT and I_SYS_TYPES, since the source now looks for them. vms/ext/MM_VMS.pm New file. x2p/a2p.h Include <sys/types.h>
* perl5.000 patch.0j: fix minor portability and build problems remaining even ↵Andy Dougherty1995-02-071-119/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after patches 0a through 0i Specifically, here's what's included: Configure Regenerated with metaconfig patchlevel 50. This changed a variety of things, mostly related to selecting and changing the installation prefix. Handle csh, sed, and byacc no matter what the setting of d_portable. (This was causing glob problems in patch.0i). Set d_portable to default to 'y'. It doesn't matter anyway, but gives people a warm fuzzy feeling. Remove useless d_group and d_passwd tests. Add check for <sys/stat.h>. Improve & generalize AIX version detection. Consider /opt/man/man1 as a possible place to install man pages. Be a little more robust about OS version changes when deciding if the output of uname -a has really changed. MANIFEST MANIFEST.new Added hints/mpeix.sh. README Tell users the Configure defaults are probably right. Makefile.SH Better detection of whether user has byacc. Use $(MAKE) instead of make. U/Loc_sed.U Works again with d_portable='define'. U/Myinit.U Set d_portable=define as default. U/d_byacc.U Detect whether user has byacc even if d_portable=define. U/d_csh.U Works again with d_portable='define'. U/d_group.U Empty file to avoid useless metaconfig test. U/d_passwd.U Empty file to avoid useless metaconfig test. U/dist.patch This file contains two minor updates to dist3 PL50 that were used to generage Configure. U/i_sysstat.U New test. See if sys/stat.h is available. config.H Updated. config_h.SH Updated to metaconfig patchlevel 50. ext/NDBM_File/Makefile.PL ext/ODBM_File/Makefile.PL Add -lucb for SVR4 systems. handy.h Protect agains g++-2.6.3, which predefines bool. g++ can be used to compile an extension, but not perl itself. Still, the extension will #include "perl.h", which eventually gets "handy.h", which #define's bool. If this happens to you, add -DHAS_BOOL to your ccflags in your extension, or else ensure that _G_config.h is #include'd before perl.h. (_G_config.h will define _G_HAVE_BOOL, if indeed your version of g++ has bool.) hints/aix.sh Updated. Handles AIX 3.2.x and 4.1. Comments included! hints/hpux_9.sh Updated. hints/irix_4.sh Updated. Includes comments for IRIX 4.0.4 hints/linux.sh Updated. Beginnings of ELF support added, but completely untested. hints/mpeix.sh New hint file. hints/solaris_2.sh Useless ccflags="$ccflags" line removed. hints/svr4.sh Updated. installperl Doesn't use Config anymore (it already reads config.sh directly. That's probably backwards, but, oh well. Install perl.exp for AIX. lib/ExtUtils/MakeMaker.pm Upgraded from 4.01 to 4.03. makedepend.SH Use $MAKE instead of plain make. Index: op.c Remove overlapping strcpy(). perl.h Add test for <sys/stat.h>. Delete unused VOIDSIG stuff. Delete unused typedef struct lstring Lstring; perl_exp.SH Add safexxxx calls. pp_sys.c Delete wayward break in HAS_ALARM section. proto.h Change true and false (!) in function prototypes to please g++-2.6.3, which has true and false built in. (See notes for handy.h.) Index: unixish.h Long-overdue housekeeping. HAS_GROUP and HAS_PASSWD are always defined. util.c Yet another (char*) cast for bcmp. vms/config.vms Changed comments to match unixish.h. writemain.SH Now correctly handles nested static extensions. Recent MakeMakers have moved where they get built. x2p/a2p.h More definitions that will doubtless cause trouble somewhere else. x2p/a2py.c x2p/walk.c Remove unprotected char *strchr();
* perl5.000 patch.0i: fix glaring mistakes in patches a-hAndy Dougherty1995-01-265-272/+431
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does the following things: 1. Fix various bonehead errors I introduced in patches a-g. 2. Incorporate MakeMaker changes to bring it up to version 4.01 (mostly). 3. Stick in things I forgot in patches a-g (e.g. AIX). 4. Some minor additional cleanup in x2p/ for even pickier compilers. 5. More hints updates (hpux and next). 6. Include newest dl_hpux.xs. I didn't have time to 1. Fix the overlapping strcpy() in op.c 2. Restore h2xs to Larry's original design to process <>. 3. take out unnecessary "use Config" in installperl. 4. Add in vms patches. I forgot to [If I remembered what i forgot, I wouldn't have forgotten it. :] I deliberately decided *not* to 1. Touch pod/* 2. deal with overloading Specifically, here's what's included: Configure Regenerated to be sure it's up-to-date. Makefile.SH Build extension libraries right into lib/auto/whatever. Don't set CCCDLFLAGS since we don't use it anyway. Take care to avoid modifying lib/Config.pm without reason Visit DynaLoader for `make clean'. (Previously only did so for `make realclean'.) @echo "Note that make realclean does not delete config.sh" Include config.h dependency. U/i_db.U config_h.SH config.H Remove unwanted quotes around db_hashtype and db_prefixtype. configpm Allow specification of alternate name for lib/Config.pm, so the makefile mv-if-diff trick saves needless re-making. ext/DynaLoader/DynaLoader.pm Updated warning messages and comments. ext/DynaLoader/dl_hpux.xs Updated to version 2.1. Now uses bootstrap files. ext/util/make_ext Explicitly use #!/bin/sh to start it up. This is useful for testing make_ext. Improve & simplify Nested::Extension::Processing. More robust handling of `make clean'. hints/hpux_9.sh Support both the bundled and unbundled compilers. hints/next_3_2.sh Back to using -posix rather than POSIX_SOURCE. And that only for ext/POSIX/POSIX.xs. installperl Special ranlib treatment for NeXT, which gets confused about timestamps in libraries, even when you just copy the library. Supply missing '$' in samepath() function. lib/AutoSplit.pm New parameters. lib/ExtUtils/MakeMaker.pm Upgraded from 3.8 to 4.01. lib/ExtUtils/xsubpp Documentation changed from man to pod. lib/Getopt/Long.pm Avoid typo warning. Drop unused $optx. lib/Text/Tabs.pm Fix package name. makedepend.SH Explicitly start with $startsh. Catch cpp that prints # <stdin> instead of line numbers. perl.h Fix bonehead mistake that ended up calling my_fmod even if not needed. perl_exp.SH also add symbols from interp.sym proto.h Delete 2 redundant prototypes (newBINOP and newUNOP). util.c Add (char *) casts to unsigned char args to bcmp. x2p/a2p.h Rearrange order of <string?.h> and bcopy & bzero stuff. Change a few function prototypes to void, to reflect actual usage. x2p/a2py.c Change a few function types to void, to reflect actual usage. x2p/handy.h Make *alloc declarations match those in x2p/util.c. x2p/util.c Make *alloc declarations match those in x2p/handy.h. x2p/walk.c Add a (Size_t) cast for comparison of 1 to the result of strlen(). Thanks to all who's work is included here. Little of it is mine.
* perl5.000 patch.0g: [various portability fixes, and use latest metaconfig ↵Andy Dougherty1995-01-182-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for Configure] This patch incorporates various portability fixes and uses the latest metaconfig to generate Configure (and config_h.SH). It would take a long time to summarize all that I've changed. I haven't included many code changes because I'm trying *not* to duplicate bug fixes Larry may already have applied. Here's an older description I prepared that's still mostly accurate: I've also included a few portability fixes in the main source, but these are certainly not a complete set of everything that's been reported. Don't be put off by the size of the patch. Mostly, it's just rearrangement of the parts in Configure and some cosmetic changes. Since gcc often supports long long, I had started to add quad support to Configure. Since SunOS 4.1.3 defines a conflicting "quad" structure, I changed the name from 'quad' to Quad_t, consistent with other Configure "types." I also changed "QUAD" to "HAS_QUAD". However, it turns out it's pretty hard to actually *use* Quad_t. Neither system I have access to can sprintf() a "long long", nor can they carry one around in an IV, unless I make IV "long long", which I didn't want to force generally. Thus I wonder whether any but a precious few could actually use Quad_t, and dropped the tests from Configure. I left in the s/quad/Quad_t/ and s/QUAD/HAS_QUAD/ stuff in case someone else wants to pick it up, and also because I was too lazy to take it back out :-). Some highlights: Configure Several new options. Use Configure -h to learn more. Also, read the directions Configure prints. :-) Spaces now allowed in -D command line options. New -O option that overrides config.sh. You can start interactively and then change that to accepting all the defaults by specifying &-d at any Configure prompt. This is useful if you have to re-run Configure to only change a few settings. Signal type set correctly for the cast{i32,neg} tests. archname detection improved a bit guard against ksh users who have set -u Oldconfig.U cleaned up and regularized a bit more. Guard against hint files using (and over-writing) $tmp. Command line options now are processed after metaconfig INIT lines. Thus things like Configure -Uuseposix should work now. Various miscellaneous clean-ups. better use/detection of tr. i_db.U now checks for hash and prefix type (I think!) I can't test it here. i_?db*.U now all check for an associated function before deciding to include or not the header. MANIFEST MANIFEST.new Sorted & updated. Makefile.SH Some shells/makes bombed out on test -d lib/auto || mkdir lib/auto Use makedir instead. README Some additional notes that people won't read :-). cflags.SH Now calls $startsh. Weird things were happening on Intergraph, and this might be related. config.H Updated. config_h.SH Regenerated. deb.c Varargs dependencies on STANDARD_C replaced by I_STDARG. doop.c quad stuff. ext/DB_File/DB_File.xs Use the new DB_Hash_t and DB_Prefix_t symbols. ext/SDBM_File/sdbm/sdbm.h Fix #defines to be more robust. mg.c Replace VOIDSIG by metaconfig's Signal_t. opcode.h opcode.pl semop only takes 2 arguments, not 3. perl.c Better guard on getenv() prototype. A hint file can use this, if necessary. Me, I think some compilers are just too picky. perl.h The (very) beginnings of some Quad support. See above. Remove the very troublesome sprintf() prototype. Since we don't _use_ the return value anyway (since it's not portable) this should be o.k. The problem was that some systems CAN_PROTOTYPE but include char *sprintf(); in <stdio.h>. That's incompatible with the version we used to have in perl.h. Most people have a prototype for sprintf() in <stdio.h>. Those that don't probably can get by without it anyway. Protect the timesbuf by the specific HAS_TIMES test. Some older gcc-2.something/Solaris 2.something installations apparently don't have times. pp.c More quad stuff. pp_ctl.c s/STANDARD_C/I_STDARG/ for varargs stuff. pp_sys.c use Signal_t. proto.h Update to match new metaconfig names. util.c s/STANDARD_C/I_STDARG/ for varargs stuff. comment out <unistd.h>. A pause prototype was causing problems on some systems. vms/config.vms Changed to use Signal_t.
* MakeMaker 3.8Tim Bunce1995-01-175-201/+1166
|
* MakeMaker 3.7Tim Bunce1994-12-291-32/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch patches the following: - lib/ExtUtils/MakeMaker.pm Most, if not all, the MakeMaker support for no perl source is now included. Recent ld and mkbootstrap patches applied. -lX11_s suffix fix applied. - Makefile.SH Fix nested module problem which affected make_ext - ext/DynaLoader/DynaLoader.pm Change error message to "Can't load module $module, dynamic loading not available in this perl" - ext/util/make_ext A very minor tweak to allow for Deeply::Nested::Modules - h2xs Major reorganisation. Mainly aimed at simplifying for later enhancements. The constant() and AUTOLOAD functions can no longer be individually enabled or disabled - it never made any sense - they need each other. Header file parsing code has been simplified (may allow prototypes to be parsed later). The .pm file always inherits from AutoLoader. I hope not to issue another MakeMaker patch till after Perl5.001! If you want to play with the (as yet untested) no-perl-source mechanism you'll need to start by doing something like this: cp ext/xsubpp ext/typemap $(PERL_LIB)/ExtUtils cp *.h $(PERL_ARCHLIB)/CORE And then try executing Makefile.PL away from (not under) the perl source code. You should get a 'Unable to locate perl source' warning and the PERL_SRC macro will be undefined. Let me know how it goes but be aware that any problems/fixes are unlikely to turn up in an official MakeMaker patch till after Perl5.001. *Please* test this patch and report your findings back to the list so Larry knows that all is well (or not :-). Best wishes for a Happy New Year to you all. Tim Bunce.
* This is my patch patch.0a for perl5.000.Tim Bunce1994-12-193-455/+1409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Actually, that's a lie. This is just MakeMaker 3.6. I've just usurped the letter 'a' to fit it into my patch sequence.] Andy Dougherty doughera@lafcol.lafayette.edu Dept. of Physics Lafayette College, Easton PA this patch includes: - My recently posted 'Very small patches to AutoSplit.pm and Cwd.pm' (with no changes). - A previous small patch to DynaLoader .bs handling with one addition: ! if (-f $bs) { ! if (-s $bs) { # only read file if it's not empty - A recently posted patch to hints/aix.sh (with cosmetic changes). Hopefully no further changes to MakeMaker will be needed before perl5.001. If any changes are required I intend that they will be release as patches to be applied over this one. This is the last MakeMaker jumbo patch for perl5.000. Patch and enjoy. Regards, Tim Bunce. p.s. I'll be around until about 4pm GMT tomorrow (Tuesday), after that I'm off for Christmas. This has been a great year for me. I have very much enjoyed working with the perl5-porters and I wish you all a wonderful and merry Christmas and a very happy New Year.
* perl 5.000perl-5.000Larry Wall1994-10-17283-4218/+5072
| | | | | | | | | | | [editor's note: this commit combines approximate 4 months of furious releases of Andy Dougherty and Larry Wall - see pod/perlhist.pod for details. Andy notes that; Alas neither my "Irwin AccuTrack" nor my DC 600A quarter-inch cartridge backup tapes from that era seem to be readable anymore. I guess 13 years exceeds the shelf life for that backup technology :-(. ]
* perl 5.0 alpha 9perl-5a9Larry Wall1994-05-04229-94/+2554
| | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed]
* perl 5.0 alpha 8Andy Dougherty1994-04-049-162/+1863
| | | | | [the last one taken from the September '94 InfoMagic CD; a similar style of cleanup as the previous commits was performed]
* perl 5.0 alpha 6Larry Wall1994-03-1813-83/+863
| | | | [editor's note: cleaned up from the September '94 InfoMagic CD, just like the last commit]
* perl 5.0 alpha 5Larry Wall1993-12-103-37/+34
| | | | | | [editor's note: the sparc executables have not been included, and emacs backup files and other cruft such as patch backup files have been removed. This was reconstructed from a tarball found on the September 1994 InfoMagic CD]
* perl 5.0 alpha 4Larry Wall1993-11-104-0/+104
| | | | | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed. This was reconstructed from a tarball found on the September 1994 InfoMagic CD; the date of this is approximate]
* perl 5.0 alpha 3Larry Wall1993-10-102-1/+106
| | | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed]
* perl 5.0 alpha 2perl-5a2Larry Wall1993-10-0716-81/+1201
| | | | [editor's note: from history.perl.org. The sparc executables originally included in the distribution are not in this commit.]
* perl 4.0 patch 36: (combined patch)perl-4.0.36Larry Wall1993-02-044-5/+7
| | | | | | Since Ed Barton sent me a patch for the malignent form of "Malformed cmd links", I finally broke down and made a patch for the various other little things that have been accumulating on version 4.
* perl 4.0 patch 32: patch #20, continuedLarry Wall1992-06-082-10/+14
| | | | See patch #20.
* perl 4.0 patch 31: patch #20, continuedLarry Wall1992-06-082-12/+21
| | | | See patch #20.
* perl 4.0 patch 30: patch #20, continuedLarry Wall1992-06-081-3/+17
| | | | See patch #20.
* perl 4.0 patch 29: patch #20, continuedLarry Wall1992-06-081-10/+24
| | | | See patch #20.
* perl 4.0 patch 28: patch #20, continuedLarry Wall1992-06-082-49/+167
| | | | See patch #20.
* perl 4.0 patch 25: patch #20, continuedLarry Wall1992-06-082-1/+3
| | | | See patch #20.
* perl 4.0 patch 22: patch #20, continuedLarry Wall1992-06-084-37/+37
| | | | See patch #20.
* perl 4.0 patch 21: patch #20, continuedLarry Wall1992-06-082-2/+2
| | | | See patch #20.
* perl 4.0 patch 18: patch #11, continuedLarry Wall1991-11-055-70/+145
| | | | See patch #11.
* perl 4.0 patch 16: patch #11, continuedLarry Wall1991-11-051-12/+44
| | | | See patch #11.
* perl 4.0 patch 15: patch #11, continuedLarry Wall1991-11-051-3/+6
| | | | See patch #11.
* perl 4.0 patch 14: patch #11, continuedLarry Wall1991-11-052-0/+89
| | | | See patch #11.
* perl 4.0 patch 12: patch #11, continuedLarry Wall1991-11-051-0/+333
| | | | See patch #11.
* perl 4.0 patch 11: (combined patch)Larry Wall1991-11-051-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: added eval {} Subject: eval 'stuff' now optimized to eval {stuff} This set of patches doesn't have many enhancements but this is one of them. The eval operator has two distinct semantic functions. First, it runs the parser on some random string and executes it. Second, it traps exceptions and returns them in $@. There are times when you'd like to get the second function without the first. In order to do that, you can now eval a block of code, which is parsed like ordinary code at compile time, but which traps any run-time errors and returns them in the $@ variable. For instance, to trap divide by zero errors: eval { $answer = $foo / $bar; }; warn $@ if $@; Since single-quoted strings don't ever change, they are optimized to the eval {} form the first time they are encountered at run-time. This doesn't happen too often, though some of you have written things like eval '&try_this;'. However, the righthand side of s///e is evaluated as a single-quoted string, so this construct should run somewhat faster now. Subject: added sort {} LIST Another enhancement that some of you have been hankering for. You can now inline the sort subroutine as a block where the subroutine name used to go: @articles = sort {$a <=> $b;} readdir(DIR); Subject: added some support for 64-bit integers For Convexen and Crayen, which have 64-bit integers, there's now pack, unpack and sprintf support for 64-bit integers. Subject: sprintf() now supports any length of s field You can now use formats like %2048s and %-8192.8192s. Perl will totally bypass your system's sprintf() function on these. No, you still probably can't say %2048d. No, I'm not going to change that any time soon. Subject: substr() and vec() weren't allowed in an lvalue list Subject: extra comma at end of list is now allowed in more places (Hi, Felix!) Subject: underscore is now allowed within literal octal and hex numbers Various syntactic relaxations. You can now get away with (substr($foo,0,3), substr($bar,0,3)) = ('abc', 'def'); (1,2,3,)[$x]; $addr = 0x1a20_ff0b; Subject: safe malloc code now integrated into Perl's malloc when possible To save a bunch of subroutine calls. If you use your system's malloc it still has to use wrappers. Subject: added support for dbz By saying "make dbzperl" you can make a copy of Perl that can access C news's dbz files. You still have to follow the dbz rules, though, if you're going to try to write a dbz file. Subject: there are now subroutines for calling back from C into Perl Subject: usub/curses.mus now supports SysV curses More C linkage support. I still haven't got Perl embeddable, but we're getting there. That's too big an enhancement for this update, in which I've been trying to stick to bug fixes, with some success. Subject: prepared for ctype implementations that don't define isascii() A larger percentage of this update consists of code to do consistent ctype processing whether or not <ctype.h> is 8-bit clean. Subject: /$foo/o optimizer could access deallocated data Subject: certain optimizations of //g in array context returned too many values Subject: regexp with no parens in array context returned wacky $`, $& and $' Subject: $' not set right on some //g Subject: grep of a split lost its values Subject: # fields could write outside allocated memory Subject: length($x) was sometimes wrong for numeric $x Recently added or modified stuff that you kind of expect to be a bit flaky still. Well, I do... Subject: passing non-existend array elements to subrouting caused core dump Subject: "foo" x -1 dumped core Subject: truncate on a closed filehandle could dump Subject: a last statement outside any block caused occasional core dumps Subject: missing arguments caused core dump in -D8 code Subject: cacheout.pl could dump core from invalid comparison operator Subject: *foo = undef coredumped Subject: warn '-' x 10000 dumped core Subject: index("little", "longer string") could visit faraway places A bunch of natty little bugs that you wouldn't generally run into unless you're trying to be coy. Subject: hex() didn't understand leading 0x It wasn't documented that it should work, but oct() understands 0x, so why not hex()? I dunno... Subject: "foo\0" eq "foo" was sometimes optimized to true Subject: eval confused by string containing null Yet more holdovers from the time before Perl was 8-bit clean. Subject: foreach on null list could spring memory leak Subject: local(*FILEHANDLE) had a memory leak Kind of slow leaks, as leaks go. Still... Subject: minimum match length calculation in regexp is now cumulative More substitutions can be done in place now because Perl knows that patterns like in s/foo\s+bar/1234567/ have to match a certain number of characters total. It used to be on that particular pattern that it only knew that it had to match at least 3 characters. Now it know it has to match at least 7. Subject: multiple reallocations now avoided in 1 .. 100000 You still don't want to say 1 .. 1000000, but at least it will refrain from allocating intermediate sized blocks while it's constructing the value, and won't do the extra copies implied by realloc. Subject: indirect subroutine calls through magic vars (e.g. &$1) didn't work Subject: defined(&$foo) and undef(&$foo) didn't work Subject: certain perl errors should set EBADF so that $! looks better Subject: stats of _ forgot whether prior stat was actually lstat Subject: -T returned true on NFS directory Subject: sysread() in socket was substituting recv() Subject: formats didn't fill their fields as well as they could Subject: ^ fields chopped hyphens on line break Subject: -P didn't allow use of #elif or #undef Subject: $0 was being truncated at times Subject: forked exec on non-existent program now issues a warning Various things you'd expect to work the way you expect, but didn't when you did, or I did, or something... Subject: perl mistook some streams for sockets because they return mode 0 too Subject: reopening STDIN, STDOUT and STDERR failed on some machines Problems opening files portably. So what's new? Subject: cppstdin now installed outside of source directory Subject: installperl now overrides installer's umask People who used cppstdin for the cpp filter or who had their umask set to 700 will now be happier. (And Configure will now prefer /lib/cpp over cppstdin like it used to. If this gives your machine heartburn because /lib/cpp doesn't set the symbols it should, write a hints file to poke them into ccflags.) Subject: initial .* in pattern had dependency on value of $* An initial .* was optimized to have a ^ on the front to avoid retrying when we know it won't match. Unfortunately this implicit ^ was paying attention to $*, which it shouldn't have been. Subject: certain patterns made use of garbage pointers from uncleared memory Many of you saw this as a failure in t/op/pat.t. Subject: perl now issues warning if $SIG{'ALARM'} is referenced Since the book mentions "SIGALARM", I thought we needed this. Subject: solitary subroutine references no longer trigger typo warnings You can now use -w (more) profitably on programs that require other files. I figured if you mistype a subroutine name you'll get a fatal error anyway, unlike a variable, which just defaults to being undefined. Subject: $foo .= <BAR> could overrun malloced memory Good old-fashioned bug. Subject: \$ didn't always make it through double-quoter to regexp routines Subject: \x and \c were subject to double interpretation in regexps Subject: nested list operators could miscount parens Subject: sort eval "whatever" didn't work Syntactic misfeatures of various sorts. Subject: find2perl produced incorrect code for -group Subject: find2perl could be confused by names containing whitespace Subject: in a2p, split on whitespace produced extra null field Translator stuff. Subject: new complete.pl from Wayne Thompson Subject: assert.pl and exceptions.pl from Tom Christiansen Subject: added Tom's c2ph stuff Subject: getcwd.pl from Brandon S. Allbery Subject: fastcwd.pl from John Basik Subject: chat2.pl from Randal L. Schwartz New contributed stuff. Thanks! (Not that a lot of the other stuff isn't contributed too...) Subject: debugger got confused over nested subroutine definitions Subject: once-thru blocks didn't display right in the debugger Subject: perldb.pl modified to run within emacs in perldb-mode Debugger stuff. The first two were caused by not saving line numbers at exactly the right moment. Subject: documented meaning of scalar(%foo) I also updated the Errata section of the man page. Subject: various portability fixes Subject: random cleanup Subject: saberized perl Type casts, saber warning message suppression, hints files and various metaconfig fiddlehoods.
* perl 4.0 patch 8: patch #4, continuedLarry Wall1991-06-062-2/+49
| | | | See patch #4.
* perl 4.0 patch 7: patch #4, continuedLarry Wall1991-06-061-0/+204
| | | | See patch #4.
* perl 4.0 patch 6: patch #4, continuedLarry Wall1991-06-062-0/+210
| | | | See patch #4.
* perl 4.0 patch 1: (combined patch)Larry Wall1991-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: Configure now handles defaults much better Subject: Configure now knows if config.sh was built on this machine Subject: Configure now checks file existence more efficiently Subject: Configure now handles stupid SCO csh Configure has been heavily revised. Many of the tests that used to simply force a decision now check that decision against the previous value of the variable, and offer to let you change it. The default now is to keep the old value, so that you don't lose information from your previous run. Because of this, it's now more important to know whether, in fact, config.sh was produced on this machine and on this version of the operating system. config.sh now contains a lastuname variable which contains the output of uname -a. If this matches the current output of uname -a, Configure defaults to including the old config.sh. Otherwise not. If there is no valid config.sh, then Configure looks defaults for the current architecture in the hints/ subdirectory instead. The guesswork I've done in this section of code is phenomenal, so you'll have to instruct me where I've misparsed the output of uname (a problem in portability all of its own). Subject: Configure now differentiates getgroups() type from getgid() type Subject: Configure now figures out malloc ptr type Subject: Configure now does better on sprintf() Configure was assuming that the array of values returned from getgroups was the same type as the gids returned by other system calls. Unfortunately, reality set in. Likewise for malloc() and sprintf(), which there is only one portable way to find out the return value of: try it one way or the other, and see if it blows up. Subject: C flags are now settable on a per-file basis Subject: reduced maximum branch distance in eval.c Certain compilers and/or optimizers get bozoed out by large compilation units, or by large structures within those units. Previously, you either had to change the compiler flags for all the files, or do hairy editing in Makefile.SH and remake the Makefile, necessitating a make depend. Now there is a script called cflags.SH whose duty it is to return the proper CFLAGS for any given C file. You can change the flags in just one spot now and they will be immediately reflected in the next make (or even in the current make, if one is running). Eventually I expect that any of the hints files could modify cflags.SH, but I haven't done that yet. The particular problem of long jump offsets in eval.c has been at least partially alleviated by locating some of the labels in the middle of the function instead of at the end. This still doesn't help the poor Vax when you compile with -g, since it puts a jump to the end of the function to allocate the stack frame and then jumps back to the beginning of the function to execute it. For now Vaxen will have to stick with -O or hand assemble eval.c and teval.c with a -J switch. Subject: fixed "Bad free" error Subject: fixed debugger coredump on subroutines Subject: regexec only allocated space for 9 subexpresssions These are problems that were reported on the net and had unofficial patches. Now they have official patches. Be sure to patch a copy of your files without the unofficial patches, or the patch program will get confused. Subject: you may now use "die" and "caller" in a signal handler Someone pointed out that using die to raise an exception out of a signal handler trashed the expression value stack if the exception was caught by eval. While fixing that, I also fixed the longstanding problem that signal handlers didn't have a normal call frame, which prevented the caller function from working. Subject: fixed undefined environ problem Subject: hopefully straightened out some of the Xenix mess Subject: random cleanup in cpp namespace Just keeping up with the current progress in non-standardization. Subject: fixed failed fork to return undef as documented The open function returns undef on failed implicit forks. The Book assumed that the same was true of an explicit fork. I've made the function behave like the Book says. It's a pity there's no way to have an undefined value that returns -1 in a numeric context but false in a boolean context... Subject: generalized the yaccpar fixer some Thanks to Andy Dougherty, perly.fixer now knows how to fix SVR3 2.2's yaccpar code to do dynamic parse stack allocation. He also made it easy for other people to insert their code there. Hooray! Subject: find2perl sometimes needs to stat on the 2nd leg of a -o Subject: find2perl didn't correctly handle switches with an argument of 0 In attempting to delay the lstat to the last moment, in case a filename could be rejected on the basis of its name, find2perl neglected to take into account the fact that control might pass to the 2nd half of a -o without executing all of the 1st half, in particular without executing the lstat. find2perl was wisely removing leading zeroes from numbers that would mistakenly be interpreted as octal numbers by Perl. Unfortunately, this caused it to delete the number 0 entirely. Subject: fixed dumpvar not to dump internal debugging info Subject: substr($ENV{"PATH"},0,0) = "/foo:" didn't modify environment Subject: $foo .= <BAR> could cause core dump for certain lengths of $foo Subject: perl -de "print" wouldn't stop at the first statement Random glitchy little things. Subject: I'm at NetLabs now I'm now working for NetLabs, Inc., and I hadn't changed my address everywhere.
* perl 4.0.00: (no release announcement available)perl-4.0.00Larry Wall1991-03-2114-534/+420
| | | | So far, 4.0 is still a beta test version. For the last production version, look in pub/perl.3.0/kits@44.
* perl 3.0 patch #44 patch #42, continuedperl-3.044Larry Wall1991-01-112-8/+17
| | | | See patch #42.