Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tag: perl-5.001n
Commits on Oct 31, 1995
  1. This is my patch patch.1n for perl5.001.

    Andy Dougherty authored
    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
Commits on Jun 22, 1995
  1. This is my patch patch.1m for perl5.001.

    Andy Dougherty authored
    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
Commits on Jun 6, 1995
  1. This is my patch patch.1l for perl5.001.

    Andy Dougherty authored
    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.
  2. This is my patch patch.1k for perl5.001.

    Andy Dougherty authored
    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
Commits on Jun 5, 1995
  1. This is my patch patch.1j for perl5.001.

    Andy Dougherty authored
    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.
Commits on May 30, 1995
  1. This is my patch patch.1i for perl5.001.

    Andy Dougherty authored
    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.
  2. This is my patch patch.1g for perl5.001.

    Andy Dougherty authored
    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.
  3. perl5.001 patch.1f

    Andy Dougherty authored
    This patch only includes updates for perlapi.pod, perlbot.pod,
    perlcall.pod, and perlguts.pod from the authors.
Commits on May 24, 1995
  1. This is my patch patch.1h for perl5.001.

    Andy Dougherty authored
    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 apply patch.1i before
    reConfiguring and rebuilding.
    
    This patch just includes updates to the ext/ subdirectory.
    
    Here are the highlights:
        Grand autoload patch.
    
        Embedded pods.
    
        DB_File and GDBM_File updates.
    
    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:
    
    ext/DB_File/DB_File.pm
        Updated to version 0.2
    
        Embedded pod.
    
    ext/DB_File/DB_File.xs
        Updated to version 0.2
    
    ext/DynaLoader/DynaLoader.pm
        Embedded pod.
    
    ext/DynaLoader/README
        Updated to refer to pod documentation in DynaLoader.pm.
    
    ext/Fcntl/Fcntl.pm
        Grand AutoLoader patch.
    
        Embedded pod.
    
    ext/GDBM_File/GDBM_File.pm
        Grand AutoLoader patch.
    
        Embedded pod.
    
    ext/GDBM_File/GDBM_File.xs
        Added gdbm_sync(), gdbm_exists(), and gdbm_setopt() functions.
    
    ext/POSIX/POSIX.pm
        Grand AutoLoader patch.
    
        Embedded pod.
    
        move tan() into the .xs file.  (It didn't exist before.)
    
        Change usage message for chmod to reflect reality.
    
    ext/POSIX/POSIX.xs
        move tan() into the .xs file.  (It didn't exist before.)
    
    ext/SDBM_File/sdbm/sdbm.c
        Fix type of free prototype.
    
    ext/Socket/Socket.pm
        Grand AutoLoader patch.
    
        Embedded pod.
Commits on Apr 18, 1995
  1. perl5.001 patch.1e

    Andy Dougherty authored
    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.
Commits on Apr 14, 1995
  1. perl5.001 patch.1d

    Andy Dougherty authored
    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.
Commits on Apr 6, 1995
  1. perl5.001 patch.1c

    Andy Dougherty authored
    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.
Commits on Mar 31, 1995
  1. perl5.001 patch.1b: [byacc deps fix, set*id fixes, x2p/walk.c emit_sp…

    Andy Dougherty authored
    …lit()
    
    fix]
    
    This is my patch  patch.1b  for perl5.001.  
    
    [Actually, that's a lie.  This is just a reposting of two of my
    patches (removing some byacc dependencies and fixing some set*id
    stuff) + one version of the x2p/walk.c emit_split() patch.
    I've just usurped the letter 'b' to fit in my patch sequence. 
    You probably have already applied these as well, but again here they
    are all packaged up nice and neatly for storage on ftp sites.]
    
    Here's one possible solution to the byacc problem.  Short summary:
    make will think your perly.[ch] are out of date because perly.c.diff
    has changed.  They aren't really out of date, but the ordering of the
    timestamps in the distribution fools make.   I had put some traps in
    perly.fixer to check to make sure that everything got run only if
    you ran the same version of byacc (1.8) as Larry, but the traps aren't good
    enough:  There's a Cygnus version of byacc out there that also calls
    itself 1.8 (with a +Cygnus xxx note attached).  I don't think I'll
    ever be able to reliably detect all mutant byacc's, so the safest
    course of action seems to be to never run byacc.
    (Yes, the perly.fixer check could be a _lot_ smarter.  Volunteers?)
    
    This simple-minded fix just puts in a 
    perly.c: perly.y
            - touch perly.c
    perly.h: perly.y
            - touch perly.h
    to bring perly.[ch] up to date, if needed.
    The '-' are in case your source is read-only.
    
    It also does the same trick in x2p/Makefile.SH.
    
    WARNING!  Danger!   Larry, if you do this, it means you have to
    explicitly call
            make run_byacc
    whenever you change perly.y, perly.c.diff, or 
            cd x2p; make run_byacc
    if you change x2p/a2p.y.
    
    However, it might be worth it.  I leave it up to you.
Commits on Mar 14, 1995
  1. [fix bug in print]

    Larry Wall authored Andy Dougherty committed
    : In perl 5.001 the print function now only outputs one significant digit for the
    : the results of some mathematical functions.
    : 
    : $ cat mine
    : #!/usr/bin/perl
    : print sqrt(2), "\n";
    : print 4 * atan2(1,1), "\n";
    : print log(2), "\n";
    : $ ./mine
    : 1
    : 3
    : 0
    
    Okay, I understand how this one happened.  This is a case where a
    beneficial fix uncovered a bug elsewhere.  I changed the constant
    folder to prefer integer results over double if the numbers are the
    same.  In this case, they aren't, but it leaves the integer value there
    anyway because the storage is already allocated for it, and it *might*
    be used in an integer context.  And since it's producing a constant, it
    sets READONLY.  Unfortunately, sv_2pv() bogusly preferred the integer
    value to the double when READONLY was set.  This never showed up if you
    just said
    
        print 1.4142135623731;
    
    because in that case, there was already a string value.
    
    Larry
  2. [fix s/// memory leak]

    Larry Wall authored Andy Dougherty committed
    In fixing another bug I installed a nasty memory leak in s///.  Here's the fix.
    
    Larry
  3. cleaner version of the official unofficial patch

    Larry Wall authored Andy Dougherty committed
    : There were some warnings (AIX, xlc compiler):
    
    Here's a cleaner version of the official unofficial patch, based on 5.001.
  4. Okay, here's your official unofficial closure leak patch

    Larry Wall authored Andy Dougherty committed
Commits on Mar 13, 1995
  1. Perl 5.001

    Larry Wall authored
    [See the Changes file for a list of changes]
Commits on Mar 10, 1995
  1. perl5.000 patch.0o: [address] a few more Configure and build nits.

    Andy Dougherty authored
    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.
Commits on Mar 5, 1995
  1. perl5.000 patch.0n: [address Configure and build issues]

    Andy Dougherty authored
    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.
Commits on Feb 27, 1995
  1. perl5.000 patch.0m: [various fixes, hint file updates and documentation]

    Andy Dougherty authored
    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).
Commits on Feb 21, 1995
  1. perl5.000 patch.0l: MakeMaker 4.085 and upgrade Configure to dist3 PL…

    Andy Dougherty authored
    … 51.
    
    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.
Commits on Feb 11, 1995
  1. perl5.000 patch.0k: MakeMaker 4.06 and to fix minor portability and b…

    Andy Dougherty authored
    …uild 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>
Commits on Feb 7, 1995
  1. perl5.000 patch.0j: fix minor portability and build problems remainin…

    Andy Dougherty authored
    …g even 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();
Commits on Jan 26, 1995
  1. perl5.000 patch.0i: fix glaring mistakes in patches a-h

    Andy Dougherty authored
    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.
Commits on Jan 18, 1995
  1. perl5.000 patch.0g: [various portability fixes, and use latest metaco…

    Andy Dougherty authored
    …nfig 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.
  2. perl5.000 patch.0f: [enable metaconfig (PL48) users to regenerate Con…

    Andy Dougherty authored
    …figure]
    
    This patch enables metaconfig (PL48) users to regenerate Configure.  A few
    of the units are considerably enhanced from those distributed with
    perl5.000.  (This patch assumes that you do *not* have the units from
    perl5beta3i installed.  Sorry if that's an inconvenience.)
    
    In particular, *dbm testing also checks for an appropriate
    library function, not just the right header files.
    
    The dynamic loading unit U/dlsrc.U has also been updated to support
    SVR4 dynamic loading.
    
    The U/i_db.U unit now checks for the types for the various structure
    members that have been causing problems.
    
    Note that at a minimum, you need to be sure you have
    the cext='.xs' line from this .package file in your own.  That tells
    metaconfig that it should look in .xs files (as well as the usual
    .[chy] files) for C symbols.
  3. perl5.000 patch.0e: fix various non-broken things in the x2p/ directory

    Andy Dougherty authored
    This patch fixes various non-broken things in the x2p/ directory.
    Mostly, I've supplied function prototypes to satisfy particularly
    picky compilers.
    
    I've also updated Makefile.SH to know that the byacc-generated a2p.c
    is now included with the distribution so that we no longer need to go
    looking for yacc/bison/byacc and deal with various library issues or
    command line options to support those various compiler compilers.
    
    I've included a2p.c generated by byacc-1.9.  Larry, feel free to
    use your own from byacc-1.8 instead.
  4. perl 5.000d : [hint file updates]

    Andy Dougherty authored
    This patch consolidates most of the hint file updates I've been
    collecting since perl5.000's release.  Some of the updates don't make
    any sense until you also apply the Configure patches in patch.0g.
    (A few late arrivals are also in patch.0g.)
Commits on Jan 17, 1995
  1. MakeMaker 3.8

    Tim Bunce authored Andy Dougherty committed
Commits on Jan 11, 1995
  1. [fix crash in regexec.c]

    Larry Wall authored Andy Dougherty committed
    In article <3ekgoo@giga.bga.com> jamshid@ses.com (Jamshid Afshar) writes:
    : I'm getting some unexpected behavior for a small perl script on SunOS
    : 4.1.3 perl 4.0p36.  The same script crashes under perl 5.0 on HP-UX.
    : That script is at the end of this article -- it's as small as I could
    : make it and still reproduce the crash.
    
    Here's an unofficial patch for the problem in Perl 5.
    
    Larry
  2. "unofficial" patches for some of the more spectacular [memory leaks]

    Larry Wall authored Andy Dougherty committed
    To: Simon Parsons <S.Parsons@fulcrum.co.uk>
    
    : I am on a Sun sparc running Solaris 5.3 / 5.4
    :
    : Are there any patches available for perl5.000, or a list of know bugs?
    : I am having problems with a script running out of memory, which may be
    : causes by memory leaks. The process size grows steadily up to approx
    : 8Meg (over a couple of minutes) an then grows to approx 22Meg (in 2 or
    : 3 seconds) before running out of memory. purify indicates memory
    : leaks, but I am not sure whether this is as a result of perl
    : abandoning memory as it exits.
    
    5.001 will contain fixes for a number of memory leaks.  Here are some
    unofficial patches for some of the more spectacular ones.  The one
    for sv.c is the likeliest one to be affecting you, unless you're doing
    a lot of evals.
  3. [return values correctly with G_EVAL]

    Larry Wall authored Andy Dougherty committed
    You need this patch for G_EVAL to return values correctly.
  4. duplicate DESTROY

    Larry Wall authored Andy Dougherty committed
    In order to fix the duplicate DESTROY bug, I need to remove [the
    modified] lines from sv_setsv.
    
    Basically, copying an object shouldn't produce another object without an
    explicit blessing.  I'm not sure if this will break anything.  If Ilya
    and anyone else so inclined would apply this patch and see if it breaks
    anything related to overloading (or anything else object-oriented), I'd
    be much obliged.
    
    By the way, here's a test script for the duplicate DESTROY.  You'll note
    that it prints DESTROYED twice, once for , and once for .  I don't
    think an object should be considered an object unless viewed through
    a reference.  When accessed directly it should behave as a builtin type.
    
    #!./perl
    
     = new main;
     = '';
    
    sub new {
        my ;
        local /tmp/ssh-vaEzm16429/agent.16429 = bless $a;
        local  = ;      # Bogusly makes  an object.
        /tmp/ssh-vaEzm16429/agent.16429;
    }
    
    sub DESTROY {
        print "DESTROYED\n";
    }
    
    Larry
Commits on Dec 29, 1994
  1. MakeMaker 3.7

    Tim Bunce authored Andy Dougherty committed
    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.
Something went wrong with that request. Please try again.