| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add -Wl,rpath option for irix* to find the installed shared
libperl.so
Add /shlib to libpth. It is used by Digital Unix 4.0.
Date: Mon, 30 Sep 1996 14:01:05 +0100
From: Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
Detect Cygnus Win32, or at least don't let Configure get fooled
into thinking it's OS/2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow command line or hint-file overrides of $afs.
Allow trailing spaces in nm output for HPUX10.
Check for newer BIND 'search' directives in /etc/resolv.conf as well
as older 'domain' directive.
Enhance detection of [gs]etpgrp() variants. Some systems have
BSD-style behavior for one and POSIX for the other. Use
[gs]etpgid() instead, whenever possible.
Include -s in the -h summary of available options.
Allow command-line override of $afs.
Handle trailing spaces in nm-output on HPUX10.
Set shrpenv for handling LD_RUN_PATH, if needed. (This used to
be in Makefile.SH. Now it's available for other modules too.)
When using shared libperl, avoid LD_RUN_PATH if possible by adding
correct ld flags. Currently, Solaris and NetBSD get the correct
-R $archlibexp/CORE, and Linux gets its
-Wl,-rpath,$archlibexp/CORE flag. Other contributions are
welcome.
|
|
|
|
|
|
|
|
| |
Change name of shared libperl library back to libperl.so.xxx,
so that a simple -lperl picks up either libperl.a or
libperl.so.xxx.
Check if $sh='' in case we've reloaded an old config.sh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relaxed warning about ksh on exotic machines.
Changed usesafe to useopcode.
Add search for gzip and zip.
Look more carefully for $sh (the Bourne-ish shell).
Use that info to set $startsh correctly.
Change prompts for PerlIO interface. See INSTALL
for how this is supposed to work. The default is
still the same as in 5.003_02, namely don't use
any fancy new PerlIO stuff.
Don't look for sigvec() since we don't actually use it.
(Plus, it used to print an alarming misleading message about
race conditions.)
Look for stdio's _filbuf under the possible names of
_filbuf, __filbuf, and _fill.
New $useshrplib variable to control whether we build a shared
libperl.so. The name of the library is in $libperl.
Always install it in $installarchlib/CORE/$libperl.
Check for <sys/resource.h> and <sys/wait.h> for NetBSD.
Replace old $altmake stuff with newer autoconf-ish
$make_set_make, which checks if $make sets $(MAKE). Now you
choose an alternate make with sh Configure -Dmake=gmake (or
whatever).
Remove 'ln' for the list of essential commands. Simulate
it with 'cp' if necessary.
Change `logname` prompts to handle extra gratuitous spaces in
Ultrix output.
Autodetect os2.
Fix silly bug in checking for fully-qualified names in /etc/hosts.
Generalize Gconvert tests. Give correct and more useful
error messages.
Use $obj_ext instead of literal '.o' in the dynaloader test.
Include appropriate header files in bcopy() and memcpy()
tests. Note whether memmove is available.
Check whether struct sigaction works (needed for Solaris 2.5
with -Xc).
Include appropriate header files for randbits test.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Added MAB support for Next
Correct recognition of irix 6
Use C locale when obtaining Perl version for arch-dependent dir names
Insure that config.sh is writeable
Improve test for broken gconvert()
Set cc and ld switches properly for shared libraries under linux and irix
Correct dynamic loading test so that $dlext=o doesn't break it
|
|
|
|
|
|
|
| |
Use SUBVERSION in default value for $archlib, so development
and production architecture-dependent libs can coexist
(Sorry; I don't have metaconfig, so this is a direct patch
against Configure.)
|
|
|
|
|
| |
[editor's note: changes seem to be mostly module updates,
documentation changes and some perl API macro additions]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove d_vms and d_unlnkallvers constants. These should be set
in vmsish.h (and optionally undef'd in unixish.h, dosish.h).
Send the &-d info to >&4 so you see it even with -s.
Update unixism comments.
Introduce new nm_so_opt variable that holds options that might be
required for use with nm on shared libraries but that are fatal
if used on archive libraries.
Move suid question closer to top. This also shuffled a few other
units.
Start varargs testing script with $startsh.
Start O_NONBLOCK testing script with $startsh.
Detect OS/2 early on.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[editor's note: no patch file was found for this release, so no
fine-grained changes]
I can't find the password for our ftp server, so I had to drop it into
ftp://ftp.sems.com/pub/incoming/perl5.002b3.tar.gz, which is a drop
directory you can't ls.
The current plan is that Andy is gonna whack on this a little more, and
then release a gamma in a few days when he's happy with it. So don't get
carried away. This is now *late* beta.
In other words, have less than the appropriate amount of fun. :-)
Larry
|
|
|
|
|
| |
Use nm -D on Linux with shared libraries, if the system
supports nm -D.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upgraded to metaconfig patchlevel 60.
Add in usesafe variable to include or exclude the Safe extension.
Test for sigaction().
Check for pager. This was actually accidental since perldoc.PL
mentions $pager and metaconfig has a unit to check for the
user's pager. In retrospect, I decided the Configure check
didn't do any harm and some extension writers might decide to
use it.
Always put man1dir under $prefix unless a command line
override is used.
Allow command-line overrides of $man1ext and $man3ext.
Allow man1dir and man3dir names like .../man.1 instead of
just .../man1.
Lots of rearrangements of various pieces of Configure.
This might be because I ran metaconfig on a different
architecture.
libc searching now honors $libpth. Previously, it (almost)
always looked in /usr/lib before checking /lib.
Only prompt user if voidflags is not 15. If voidflags is 15, then
we presume all is well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cd to your perl source directory, execute the command above, and type
patch -p1 -N < patch.2b1f
This patch includes patches for the following items:
Changes.Conf
Configure
MANIFEST
Makefile.SH
XSUB.h
ext/POSIX/POSIX.pm
ext/POSIX/POSIX.pod
ext/POSIX/POSIX.xs
ext/Socket/Socket.pm
gv.c
lib/Cwd.pm
lib/Sys/Syslog.pm
lib/diagnostics.pm
t/lib/socket.t
toke.c
The changes are described after each /^Index/ line below.
These are each described in detail below, after the corresponding
index line.
Patch and enjoy,
Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cd to your perl source directory and type
patch -p1 -N < patch.2b1a
This patch includes patches for the following items:
NETaa14710: Included bsdi_bsdos.sh hint file.
pod/perlre.pod: Mention 32bit limit.
Configure Updates.
Update Socket.xs to version 1.5. This handles
systems that might not have <sys/un.h>.
Fix missing quotes in h2ph.PL
These are each described in detail below, after the corresponding
index line.
Patch and enjoy,
Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you're adventurous, have a look at
ftp://ftp.sems.com/pub/outgoing/perl5.0/perl5.002beta1.tar.gz
Many thanks to Andy for doing the integration.
Obviously, if you consult the bugs database, you'll note there are
still plenty of buglets that need fixing, and several enhancements that
I've intended to put in still haven't made it in (Hi, Tim and Ilya).
But I think it'll be pretty stable. And you can start to fiddle around
with prototypes (which are, of course, still totally undocumented).
Packrats, don't worry too much about readvertising this widely.
Nowadays we're on a T1 here, so our bandwidth is okay.
Have the appropriate amount of jollity.
Larry
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To apply, change to your perl directory, run the commands above, then
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:
All pod documentation now installed, along with corresponding man
pages, if possible (Configure allows you to change this).
cppstdin no longer points back to the build directory. This
necessitated two changes to the test suite: comp/cpp.t is now a
front end that punts if cppstdin is not yet available (the old
perl4 trick doesn't work for perl5). The op/misc.t test
./perl -P -e 'use POSIX;' has been dropped since I couldn't think
of an elegant way to bypass it for systems that need the cppstdin
wrapper.
Grand autoload patch included (minus the installperl, lib/, and
ext/ changes). The lib/ changes are in patch.1g, and the
ext/ changes are in patch.1h.
Better detection and use of stdio variants, especially on SVR4.
Sarathy's consolidated patches (for ties) included.
New filter stuff included.
Three patches from Larry (gv.c, toke.c, pp_ctl.c)
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:
Changes.Conf
Document changes in the Configure & build process.
Configure
Upgrade to metaconfig PL55.
Add /opt hierarchy to paths searched for programs.
Tye McQueen's updated std stdio testing.
Prompting for installation info for perl module pages.
Add possible SITELIB to include site-specific include directories.
By default this is disabled, but it seemed a neat idea now that
the standard perl library is getting so big.
Check that the compiler chosen exists and actually supports the
options the user specified.
Correctly sort multiple shared library version numbers.
Use a compile & link test for gconvert(), dlopen(), and dlerror().
Do not include build directory name in cppstdin wrapper.
MANIFEST
Updated.
Makefile.SH
Reorganized a bit to support separate install.perl and install.man
targets to use the new installman script and to accomodate those who
don't want to install the man pages.
Organize cleanup of .SH files a little better.
No longer automatically make the pod/*.man files. This is done by
installman only if requested.
Include additional error messages and info for regenerating the
automatically maintained header files.
Add 'minitest' target.
README
Updated.
README.vms
Fix perl5-porters subscription info.
config_H
Updated.
config_h.SH
Updated.
configpm
Embedded pod.
configure
GNU configure-like front end to metaconfig's Configure.
Only supports a few options.
doio.c
Updated to use new std stdio testing.
embed.h
Add new symbols for filtering.
global.sym
see embed.h.
gv.c
C<sub method;> patch from lwall.
hints/README.hints
Updated.
hints/aux.sh
Updated.
hints/cxux.sh
Updated.
hints/epix.sh
New file.
hints/freebsd.sh
Updated.
hints/irix_4.sh
Updated.
hints/irix_5.sh
Updated.
hints/irix_6.sh
Updated.
hints/linux.sh
Updated.
hints/powerunix.sh
Updated.
installman
New file to install pod/*.pod and lib/*.p(m|od) man pages.
installperl
Move installation of man pages over to installman script.
Install pod/*.pod files in $privlib/pod/.
Preserve timestamps on .a files.
makedepend.SH
Now includes . and .. in PATH to explicitly find cppstdin wrapper.
opcode.h
opcode.pl
shmwrite fix.
perl.c
Changed unofficial patchlevel message.
Included optional SITELIB directory.
perl.h
#include <memory.h>
cryptswitch gone/filters added.
EUNICE replaced by UNLINK_ALL_VERSIONS. Only matters for VMS.
perldoc.SH
New file.
pod/perl.pod
Describe where modpods are.
pp_ctl.c
sort bug fix from lwall.
pp_hot.c
csh glob bug fix from tchrist.
Sarathy's consolidated "tie" patch for NETaa13753 N 2 trey
pp_sys.c
Emulate flock with lockf, if possible.
Use new std stdio unit.
proto.h
Filters stuff.
prototype for unlnk() is only needed #if UNLINK_ALL_VERSIONS
sv.c
Sarathy's consolidated "tie" patch for NETaa13753 N 2 trey
Sarathy's consolidated patch for nested ties.
Use new std stdio unit.
t/comp/cpp.aux
New file. This only gets called if cppstdin is avaiable.
t/comp/cpp.t
Calls cpp.aux test only if cppstdin is available.
t/op/misc.t
Drop
perl -P -e 'use POSIX;' test.
it couldn't work on systems without the cppstdin wrapper
installed, and is usually misleading when it fails anyway.
toke.c
filter stuff.
fix for NETaa13798 from lwall.
unixish.h
undef UNLINK_ALL_VERSIONS since it's irrelevant for unix.
util.c
s/EUNICE/UNLINK_ALL_VERSIONS/ for the unlnk() function.
vms/config.vms
VMS updates from Charles Bailey.
std stdio updates to match changes in perl sources.
add UNLINK_ALL_VERSIONS constant, but leave it #undef.
vms/ext/MM_VMS.pm
vms/ext/VMS/stdio/stdio.xs
vms/perlvms.pod
vms/vms.c
VMS updates from Charles Bailey.
x2p/Makefile.SH
Updated to match man page Configure questions.
Slight clean-up on .SH targets.
x2p/str.c
Use new std stdio unit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
[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 :-(.
]
|
|
|
|
| |
[editor's note: the sparc executables have not been included,
and emacs backup files have been removed]
|
|
|
|
|
| |
[the last one taken from the September '94 InfoMagic CD; a similar
style of cleanup as the previous commits was performed]
|
|
|
|
| |
[editor's note: from history.perl.org. The sparc executables
originally included in the distribution are not in this commit.]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Subject: bad interaction between backslash and hyphen in tr///
Among other things, tr/\040-\126/ / was not doing a character range,
due to a earlier botched fix to make \- work right.
Subject: Configure test for presence of nroff was wrong
If Loc doesn't find nroff, it sets $nroff to 'nroff'. The man
page test was tesing against the null string.
Subject: installperl error message printed file mode in decimal, not octal
A real, honest-to-goodnes nit.
Subject: fixed up some filenames in MANIFEST
Erroneously contained "pstruct", omitted hints/isc_3_2_3.sh.
|
|
|
|
|
|
| |
Here's the typical cleanup patch that follows any large
set of patches. My testing organization is either too large
or too small, depending on how you look at it, sigh...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ENHANCEMENTS
Subject: relaxed requirement for semicolon at the end of a block
Subject: scalar keys %array now counts keys for you
Subject: added ... as variant on ..
Subject: get*by* routines now return something useful in a scalar context
Subject: form feed for formats is now specifiable via $^L
Subject: PERLLIB now supports multiple directories
Subject: paragraph mode now skips extra newlines automatically
MANPAGE
Subject: documented that numbers may contain underline
Subject: clarified that DATA may only be read from main script
Subject: documented need for 1; at the end of a required file
Subject: extended bracket-style quotes to two-arg operators: s()() and tr()()
Subject: documented PERLLIB and PERLDB
Subject: documented limit on size of regexp
CONFIGURATION
Subject: bcopy() and memcpy() now tested for overlap safety
Subject: isascii() may now be supplied by a library routine
Subject: Configure now allows optional continuation with files missing
Subject: many more hints files added
Subject: many more hints added
Subject: hints now auto selected on uname -s as well as uname -m
Subject: OSF/1 support added
Subject: Configure growing-library-list bug fixed
Subject: seekdir(), telldir() and rewinddir() now checked for independently
Subject: cray didn't give enough memory to /bin/sh
Subject: perl -P now uses location of sed determined by Configure
Subject: SH files didn't work well with symbolic links
Subject: makefiles now display new shift/reduce expectations
Subject: support added to installperl for cross-compilation
Subject: a2p was installed unexecutable
Subject: installperl didn't warn on failed manpage installation
Subject: disabled cpp test if cppstdin not yet installed
PORTABILITY
Subject: O_PIPE conflicted with Atari
Subject: config.H updated to reflect more recent config.h
Subject: removed implicit int declarations on functions
Subject: added Atari ST portability
Subject: some machines don't define ENOTSOCK in errno.h
Subject: added explicit time_t support
Subject: alternate config.h files upgraded
Subject: new OS/2 support
COMPILER
Subject: various error messages have been clarified
Subject: the switch optimizer didn't do anything in subroutines
Subject: clarified debugging output for literals and double-quoted strings
Subject: new warning for use of x with non-numeric right operand
Subject: illegal lvalue message could be followed by core dump
Subject: new warning for ambiguous use of unary operators
Subject: eval "1 #comment" didn't work
Subject: semantic compilation errors didn't abort execution
Subject: an expression may now start with a bareword
Subject: if {block} {block} didn't work any more
Subject: "$var{$foo'bar}" didn't scan subscript correctly
Subject: an EXPR may now start with a bareword
Subject: print $fh EXPR can now expect term rather than operator in EXPR
Subject: new warning on spurious backslash
Subject: new warning on missing $ for foreach variable
Subject: "foo"x1024 now legal without space after x
Subject: new warning on print accidentally used as function
Subject: 2. now eats the dot
Subject: <@ARGV> now notices @ARGV
Subject: tr/// now lets you say \-
RUNTIME
Subject: an eval block containing a null block or statement could dump core
Subject: modulus with highest bit in left operand set didn't always work
Subject: join() now pre-extends target string to avoid excessive copying
Subject: subroutines didn't localize $`, $&, $', $1 et al correctly
Subject: usersub routines didn't reclaim temp values soon enough
Subject: ($<,$>) = ... didn't work on some architectures
Subject: fixed memory leak on system() for vfork() machines
Subject: @ in unpack failed too often
Subject: slice on null list in scalar context returned random value
Subject: splice with negative offset didn't work with $[ = 1
Subject: fixed some memory leaks in splice
Subject: dbmclose(%array) didn't work
Subject: delete could cause %array to give too low a count of buckets filled
Subject: hash tables now split only if the memory is available to do so
Subject: realloc(0, size) now does malloc in case library routines call it
Subject: running taintperl explicitly now does checks even if $< == $>
Subject: fixed memory leak in doube-quote interpretation
Subject: a splice on non-existent array elements could dump core
Subject: tr/stuff// wasn't working right
I/O
Subject: new warnings for failed use of stat operators on filenames with \n
Subject: wait failed when STDOUT or STDERR reopened to a pipe
Subject: end of file latch not reset on reopen of STDIN
Subject: seek(HANDLE, 0, 1) went to eof because of ancient Ultrix workaround
Subject: h_errno now accessible via $?
REGEXP
Subject: pattern modifiers i and o didn't interact right
Subject: g pattern modifer sometimes returned extra values
Subject: m/$pattern/g didn't work
Subject: /^stuff/ wrongly assumed an implicit $* == 1
Subject: /x{0}/ was wrongly interpreted as /x{0,}/
Subject: added \W, \S and \D inside /[...]/
Subject: pattern modifiers i and g didn't interact right
Subject: in some cases $` and $' didn't get set by match
Subject: made /\$$foo/ look for literal '$foo'
LIBRARIES
Subject: big*.pl library files upgraded
Subject: better support in chat2 for multiple children
Subject: &ctime didn't handle $[ != 0
Subject: find.pl got confused by unreadable directories
Subject: new version of newgetopt.pl
Subject: Tom's famous double-ended pipe opener, open2(), is now included
Subject: support added to pwd.pl to strip automounter crud
Subject: &shellwords looped on bad input, and used inefficient regular exprs
Subject: termcap.pl didn't parse termcap terminal names right
Subject: timelocal could loop on bad input
Subject: timelocal now calculates DST itself
Subject: &getcap eventually dumped core in bsdcurses
DEBUGGER
Subject: support for MSDOS folded into perldb.pl
Subject: perldb couldn't debug file containing '-', such as STDIN designator
Subject: the debugger now warns you on lines that can't set a breakpoint
Subject: the debugger made perl forget the last pattern used by //
Subject: fixed double debug break in foreach with implicit array assignment
Subject: debugger sometimes displayed wrong source line
INTERSTICES
Subject: Perl now distinguishes overlapped copies from non-overlapped
Subject: fixed confusion between a *var's real name and its effective name
Subject: deleted some minor memory leaks
Subject: couldn't require . files
Subject: -e 'cmd' no longer fails silently if /tmp runs out of space
Subject: function key support added to curses.mus
TRANSLATORS
Subject: find2perl assumed . in PATH
Subject: find2perl didn't output portable startup code
Subject: find2perl didn't always stat at the right time
Subject: s2p didn't output portable startup code
Subject: s2p didn't translate s/pat/\&/ or s/pat/\$/ or s/pat/\\1/ right
Subject: in a2p, getline should allow variable to be array element
Subject: in a2p, now warns about spurious backslashes
Subject: in a2p, now allows [ to be backslashed in pattern
Subject: in a2p, now allows numbers of the form 2.
Subject: in a2p, simplified the filehandle model
Subject: in a2p, made RS="" translate to $/ = "\n\n"
Subject: in a2p, do {...} while ... was missing some reconstruction code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ok, here's the cleanup patch I suggested you wait for. Have at it...
Subject: added little-endian pack/unpack options
This is the only enhancement in this patch, but it seemed unlikely
to bust anything else, and added functionality that it was very
difficult to do any other way. Compliments of David W. Sanderson.
Subject: op/regexp.t failed from missing arg to bcmp()
Subject: study was busted by 4.018
Subject: sort $subname was busted by changes in 4.018
Subject: default arg for shift was wrong after first subroutine definition
Things that broke in 4.018. Shame on me.
Subject: do {$foo ne "bar";} returned wrong value
A bug of long standing. How come nobody saw this one? Or if you
did, why didn't you report it before now? Or if you did, why did
I ignore you? :-)
Subject: some machines need -lsocket before -lnsl
Subject: some earlier patches weren't propagated to alternate 286 code
Subject: compile in the x2p directory couldn't find cppstdin
Subject: more hints for aix, isc, hp, sco, uts
Subject: installperl no longer updates unchanged library files
Subject: uts wrongly defines S_ISDIR() et al
Subject: too many preprocessors can't expand a macro right in #if
The usual pastiche of portability kludges.
Subject: deleted some unused functions from usersub.c
And fixed the spelling of John Macdonald's name, and included his
suggested workaround for a certain vendor's stdio bug...
Subject: added readdir test
Subject: made op/groups.t more reliable
Subject: added test for sort $subname to op/sort.t
Subject: added some hacks to op/stat.t for weird filesystem architectures
Improvements (hopefully) to the regression tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Random patches, mostly bugs and portability stuff. //g is the
only major new feature. Additionally, there is now an alternate
license you can distribute Perl under.
|
| |
|
|
|
|
| |
So far, 4.0 is still a beta test version. For the last production
version, look in pub/perl.3.0/kits@44.
|
|
|
|
| |
See patch #42.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of these patches are pretty self-explanatory. Much of this
is random cleanup in preparation for version 4.0, so I won't talk
about it here. A couple of things should be noted, however.
First, there's a new -0 option that allows you to specify (in octal)
the initial value of $/, the record separator. It's primarily
intended for use with versions of find that support -print0 to
delimit filenames with nulls, but it's more general than that:
null
^A
default
CR
paragraph mode
file slurp mode
This feature is so new that it didn't even make it into the book.
The other major item is that different patchlevels of perl can
now coexist in your bin directory. The names "perl" and "taintperl"
are just links to "perl3.044" and "tperl3.044". This has several
benefits. The perl3.044 invokes the corresponding tperl3.044 rather
than taintperl, so it always runs the correct version. Second, you can
"freeze" a script by putting a #! line referring to a version that
it is known to work with. Third, you can put a new version out
there to try out before making it the default perl. Lastly, it
sells more disk drives. :-)
Barring catastrophe, this will likely be the last patch before
version 4.0 comes out.
|
|
|
|
| |
Forget the description, it's too late at night...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I tried to take the strlen of an integer on systems without wait4()
or waitpid(). For some reason this didn't work too well...
In hash.c there was a call to dbm_nextkey() which needed to be
ifdefed on old dbm systems.
A pattern such as /foo.*bar$/ was wrongly optimized to do
tail matching on "foo". This was a longstanding bug that
was unmasked by patch 36.
Some systems have some SYS V IPC but not all of it. Configure
now figures this out.
Patch 36 put the user's PATH in front of Configures, but to make
it work right I needed to change all calls of loc to ./loc in
Configure.
$cryptlib needed to be mentioned in the Makefile.
Apollo 10.3 and Sun 3.5 have some compilation problems, so I
mentioned them in README.
Cray has weird restrictions on setjmp locations--you can't say
if (result = setjmp(...))
Random typos and cleanup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This set of patches pretty much brings you up to the functionality
that version 4.0 will have. The Perl Book documents version 4.0.
Perhaps these should be called release notes... :-)
Enhancements:
Many of the changes relate to making the debugger work better.
It now runs your scripts at nearly full speed because it no longer
calls a subroutine on every statement. The debugger now doesn't
get confused about packages, evals and other filenames. More
variables (though still not all) are available within the debugger.
Related to this is the fact that every statement now knows which
package and filename it was compiled in, so package semantics are
now much more straightforward. Every variable also knows which
package it was compiled in. So many places that used to print
out just the variable name now prefix the variable name with the
package name. Notably, if you print *foo it now gives *package'foo.
Along with these, there is now a "caller" function which returns
the context of the current subroutine call. See the man page for
more details.
Chip Salzenberg sent the patches for System V IPC (msg, sem and shm)
so I dropped them in.
There was no way to wait for a specific pid, which was silly, since
Perl was already keeping track of the information. So I added
the waitpid() call, which uses Unix's wait4() or waitpid() if
available, and otherwise emulates them (at least as far as letting
you wait for a particular pid--it doesn't emulate non-blocking wait).
For use in sorting routines, there are now two new operators,
cmp and <=>. These do string and numeric comparison, returning
-1, 0 or 1 when the first argument is less than, equal to or
greater than the second argument.
Occasionally one finds that one wants to evaluate an operator in
a scalar context, even though it's part of a LIST. For this purpose,
there is now a scalar() operator. For instance, the approved
fix for the novice error of using <> in assigning to a local is now:
local($var) = scalar(<STDIN>);
Perl's ordinary I/O is done using standard I/O routines. Every
now and then this gets in your way. You may now access the system
calls read() and write() via the Perl functions sysread() and
syswrite(). They should not be intermixed with ordinary I/O calls
unless you know what you're doing.
Along with this, both the sysread() and read() functions allow you
an optional 4th argument giving an offset into the string you're
reading into, so for instance you can easily finish up partial reads.
As a bit of syntactic sugar, you can now use the file tests -M, -A
and -C to determine the age of a file in (possibly fractional) days
as of the time the script started running. This makes it much
easier to write midnight cleanup scripts with precision.
The index() and rindex() functions now have an optional 3rd argument
which tells it where to start looking, so you can now iterate through
a string using these functions.
The substr() function's 3rd argument is now optional, and if omitted,
the function returns everything to the end of the string.
The tr/// translation function now understands c, d and s options, just
like the tr program. (Well, almost just like. The d option only
deletes characters that aren't in the replacement string.) The
c complementes the character class to match and the s option squishes
out multiple occurrences of any replacement class characters.
The reverse function, used in a scalar context, now reverses its
scalar argument as a string.
Dale Worley posted a patch to add @###.## type fields to formats.
I said, "Neat!" and dropped it in, lock, stock and sinker.
Kai Uwe Rommel sent a bunch of MSDOS and OS/2 updates, which I (mostly)
incorporated. I can't vouch for them, but they look okay.
Any data stored after the __END__ marker can be accesses now via
the DATA filehandle, which is automatically opened onto the script
at that point. (Well, actually, it's just kept open, since it
was already open to read the script.)
The taintperl program now checks for world writable PATH components,
and complains if any are found (if PATH is used).
Bug fixes:
It used to be that you could get core dumps by such means as
@$foo=();
@foo[42];
(1,2,3)[42];
$#foo = 50;
foreach $elem (@foo) {
$elem = 1;
}
This is no longer so. (For those who are up on Perl internals, the
stack policy no longer allows Nullstr--all undefined values must
be passed as &str_undef.)
If you say something like
local($foo,$bar);
or
local($initialized,$foo,$bar) = ('one value');
$foo and $bar are now initialized to the undefined value, rather
than the defined null string.
Array assignment to special arrays is now better supported. For
instance, @ENV = () clears the environment, and %foo = () will
now clear any dbm file bound to %foo.
On the subject of dbm files, the highly visible bugs at patchlevel
28 have been fixed. You can now open dbm files readonly, and you
don't have to do a dummy assignment to make the cache allocate itself.
The modulus operator wasn't working right on negative values because
of a misplaced cast. For instance, -5 % 5 was returning
the value 5, which is clearly wrong.
Certain operations coredumped if you didn't supply a value:
close;
eof;
Previously, if the subroutine supplied for a sort operation didn't
exist, it failed quietly. Now it produces a fatal error.
The bitwise complement operator ~ didn't work on vec() strings longer
than one byte because of failure to increment a loop variable.
The oct and hex functions returned a negative result if the highest
bit was set. They now return an unsigned result, which seems a
little less confusing. Likewise, the token 0x80000000 also produces
an unsigned value now.
Some machines didn't like to see 0x87654321 in an #ifdef because
they think of the symbols as signed. The tests have been changed
to just look at the lower 4 nybbles of the value, which is sufficient
to determine endianness, at least as far as the #ifdefs are concerned.
The unshift operator did not return the documented value, which
was the number of elements in the new array. Instead it returned
the last unshifted argument, more or less by accident.
-w sometimes printed spurious warnings about ARGV and ENV when
referencing the arrays indirectly through shift or exec. This
was because the typo test was misplaced before the code that
exempts special variables from the typo test.
If you said 'require "./foo.pl"', it would look in someplace like
/usr/local/lib/perl/./foo.pl instead of the current directory. This
works more like people expect now. The require error messages also
referred to wrong file, if they worked at all.
The h2ph program didn't translate includes right--it should have
changed .h to .ph.
Patterns with multiple short literal strings sometimes failed.
This was a problem with the code that looks for a maximal literal
string to feed to the Boyer-Moore searching routine. The code
was gluing together literal strings that weren't continuous.
The $* variable controls multi-line pattern matching. When it's
0, patterns are supposed to match as if the string contained a
single line. Unfortunately, /^pat/ occasionally matched in middle
of string under certain conditions.
Recently the regular expression routines were upgraded to do
{n,m} more efficiently. In doing this, however, I manufactured
a couple of bugs: /.{n,m}$/ could match with fewer than n characters
remaining on the line, and patterns like /\d{9}/ could match more
than 9 characters.
The undefined value has an actual physical location in Perl, and
pointers to it are passed around. By certain circuitous routes
it was possible to clobber the undefined value so that it
was no longer undefined--kind of like making /dev/null into
a real file. Hopefully this can't happen any more.
op.stat could fail if /bin/0 existed, because of a while (<*>) {...
This has been changed to a while (defined($_ = <*>)) {...
The length of a search pattern was limited by the length of
tokenbuf internally. This restriction has been removed.
The null character gave the tokener indigestion when used as
a delimiter for m// or s///.
There was a bunch of other cleanupish things that are too trivial
to mention here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Certain systems, notable Ultrix, set the close-on-exec flag
by default on dup'ed file descriptors. This is anti-social
when you're creating a new STDOUT. The flag is now forced
off for STDIN, STDOUT and STDERR.
Some yaccs report 29 shift/reduce conflicts and 59 reduce/reduce
conflicts, while other yaccs and bison report 27 and 61. The
Makefile now says to expect either thing. I'm not sure if there's
a bug lurking there somewhere.
The defined(@array) and defined(%array) ended up defining
the arrays they were trying to determine the status of. Oops.
Using the status of NSIG to determine whether <signal.h> had
been included didn't work right on Xenix. A fix seems to be
beyond Configure at the moment, so we've got some OS dependent
#ifdefs in there.
There were some syntax errors in the new code to determine whether
it is safe to emulate rename() with unlink/link/unlink. Obviously
heavily tested code... :-)
Patch 27 introduced the possibility of using identifiers as
unquoted strings, but the code to warn against the use of
totally lowercase identifiers looped infinitely.
I documented that you can't interpolate $) or $| in pattern.
It was actually implied under s///, but it should have been
more explicit.
Patterns with {m} rather than {m,n} didn't work right.
Tests io.fs and op.stat had difficulties under AFS. They now
ignore the tests in question if they think they're running under
/afs.
The shift/reduce expectation message was off for a2p's Makefile.
|