Commits on Sep 2, 1996
  1. perl 5.003_04: [patch introduction and re-organisation]

    # The full description is below.
    # Please execute the following commands before applying this patch.
    # (You can feed this patch to 'sh' to do so.)
    #  Andy Dougherty               <doughera@lafcol.lafayette.edu>
    
    rm -f hints/dnix.sh
    rm -f os2/notes
    
    # We'll create a new test, but patch won't automatically make it
    # executable.
    touch t/op/gv.t
    chmod +x t/op/gv.t
    
    exit 0
    
    
    This is patch perl5.003_04.pat to perl version 5.003_03.
    This takes you from 5.003_03 to 5.003_04.
    
    To apply this patch, run the above commands,
    cd to your perl source directory and then type
    
            patch -p1 -N < perl5.003_04.pat
    
    The changes are described after each /^Index/ line below.  This is
    designed so you can examine each change with a command such as
    
            csplit -k perl5.003_04.pat '/^Index:/' '{99}'
    
    Patch and enjoy,
    
        Andy Dougherty              doughera@lafcol.lafayette.edu
        Dept. of Physics
        Lafayette College, Easton PA 18042
    Andy Dougherty committed Sep 2, 1996
  2. Track SVs for destruction when -DPURIFY

    This patch removes a few obvious redundancies in the source.
    
    This patch changes neither behavior nor performance.  However, it does
    reduce code size and improve maintainability by combining some common
    code in gv_fullname() and gv_efullname().
    
    When checking for memory leaks, I compiled Perl with "-DPURIFY".
    Although that flag improves the leak checking, it also breaks
    destruction of global objects, because SVs aren't kept in captive
    arenas any more.
    
    This patch rectifies the problem by providing an alternative
    method for keeping track of SVs when Perl is compiled for Purify.
    It has no effect on normal operation.
    
    Add comment about assert(len >=0) when len is unsigned anyway.
    Chip Salzenberg committed with Andy Dougherty Sep 2, 1996
Commits on Sep 1, 1996
  1. Patch for LONG_MAX & co.

    This patch changes neither behavior nor performance.  However, it does
    reduce code size and improve maintainability by combining some common
    code in gv_fullname() and gv_efullname().
    Perl 5 Porters committed with Andy Dougherty Sep 1, 1996
  2. FAKE typeglobs seriously busted (with patch)

    Handling of fake typeglobs (scalars that are really globs
    in disguise) is seriously busted since 5.002 (it wasn't
    so in 5.001n).
    The problem is that mg_get() on a glob calls gv_efullname()
    which might coerce its first arg to a string.
    
    Sub-critical patch to conceivably fix some %SIG problems. (Shared hash key
    weren't being properly detected by some of the sig magic, but as shared
    hash keys wouldn't normally be used in %SIG it's unlikely this is a
    significant problem.)
    
    This patch changes neither behavior nor performance.  However, it does
    reduce code size and improve maintainability by combining some common
    code in gv_fullname() and gv_efullname().
    Perl 5 Porters committed with Andy Dougherty Sep 1, 1996
  3. Patch for LONG_MAX & co.

    Sorry about adding yet another #ifdef forest, but hopefully this
    should resolve the *_MAX issues permanently. It adds to the
    previously defined PERL_LONG_MAX, PERL_LONG_MIN, and PERL_ULONG_MAX
    symbols the complete set of
    /PERL_U?(CHAR|SHORT|INT|LONG)_(MAX|MIN)/, and installs aliases to
    those from /(I|U)(8|16|32|V)_(MAX|MIN)/ so that for any standard
    Perl typedef, like I32 or UV, you can reference I32_MAX or UV_MIN,
    and get appropriate figures. All references to LONG_(MIN|MAX) are
    changed appropriately.
    
    The .c changes have the side effect of making cast_uv properly use quad
    limits if quads are in use, but longs aren't 64 bit. Hopefully this all
    works, but I don't have any handy Crays to try it out on.
    
    Add notes on perl's internal types, specifically Quad_t and IV.
    Perl 5 Porters committed with Andy Dougherty Sep 1, 1996
  4. perl 5.003_04: dump.c gv.c op.c pp_ctl.c pp_sys.c proto.h run.c

    This patch changes neither behavior nor performance.  However, it does
    reduce code size and improve maintainability by combining some common
    code in gv_fullname() and gv_efullname().
    Perl 5 Porters committed with Andy Dougherty Sep 1, 1996
Commits on Aug 30, 1996
  1. Patch for LONG_MAX & co.

        __DIE__ (with patch)
    
    sv_2pv() might call croak() (which is not prepared to handle that
    when it calls sv_2pv(), itself).  Likewise for warn() (but under
    slightly more esoteric circumstances--mg_get() in sv_2pv() might
    trigger a call to warn()).
    
    PERL_BADLANG is examined by default before issuing a warning during
        internationalization.
    Perl 5 Porters committed with Andy Dougherty Aug 30, 1996
  2. perl 5.003_04: lib/ExtUtils/xsubpp

    Fix SCOPE?  (See pod/perlxs.pod).
    Up version number to 1.938.
    Perl 5 Porters committed with Andy Dougherty Aug 30, 1996
Commits on Aug 29, 1996
  1. document xsubpp SCOPE:

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  2. perl 5.003_04: perlio.c

    Removes an incorrect prototype for setlinebuf from
    perlio.c because it conflicts with the correct declaration in
    MachTen's stdio.h (and possibly other stdio's as well).
    
    Secondly, the code in perlio.c is not handling the (!PERLIO_IS_STDIO &
    HAS_F[GS]ETPOS) case.  The patch fixes this omission (in a rather lumpen
    manner).  I don't think this should affect platforms which try to hack a
    different path through the #ifdef forest, but this assertion would benefit
    from testing...
    
    Dominic Dunlop
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  3. perl 5.003_04: os2/os2ish.h

    SH_PATH_INI added (needed to redefine SH_PATH for binary
        distribution).
    SH_PATH is redefined.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  4. SH_PATH_INI vs. BIN_SH

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  5. perllib vs. LIBPERL

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  6. Updated. See opcode.pl.

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  7. Update perlio-related variables.

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  8. perl 5.003_04: malloc.c

    A patch to perl5.003_02/malloc to give a sensible error abort() message
    in ANSI C, and to give it to stderr instead of stdout.
    
    Use config_h's STRINGIFY macro instead of pre-ANSI "p".
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  9. perl 5.003_04: lib/Test/Harness.pm

    Add a return value to runtests - non-zero if all tests ran ok,
    zero otherwise.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  10. .C$(obj_ext) removed under OS/2 - conflicts with .c$(obj_ext).

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  11. perl 5.003_04: hints/ultrix_4.sh

    Don't call optimize=-g, just call optimize=none.  The -g
    pulls in -DDEBUGGING, which might not be wanted.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  12. Fixes for sh vs. bin_sh + cleanup.

    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  13. perl 5.003_04: hints/irix_6_2.sh hints/mpeix.sh

    Change optimize=-g to optimize=none to avoid pulling in -DDEBUGGING,
    unless that's what the user really wants.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  14. perl 5.003_04: ext/IO/lib/IO/File.pm

    This patch fixes a bug observed by Tom Christiansen: IO::File::new
    didn't allow for file permissions after the file mode.  Here's a patch.
    
    This patch documents the behavior of IO::File::{new,open} with
    regard to open modes.  It also documents the exportation of Fcntl
    constants.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  15. perl 5.003_04: ext/FileHandle/FileHandle.pm

    This patch documents the behavior of FileHandle::{new,open} with
    regard to open modes.  It also documents the exportation of Fcntl
    constants.
    
    This patch fixes a bug observed by Tom Christiansen: FileHandle::new
    didn't allow for file permissions after the file mode.  Here's a patch.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
  16. perl 5.003_04: config_h.SH

    Change /*#define../**/ into /*#define../ **/
    to make IBM's xlc compiler shut up about nested comments.
    The /*#define FOO /**/ is a perfectly legal un-nested comment, and
    I wish IBM would fix it's blasted compiler instead.  In the meantime
    we'll take mercy on the poor AIX user and get rid of the screenfulls
    of stupid warning messages.  Thanks to Hallvard B Furuseth
    <h.b.furuseth@usit.uio.no> for the fix.
    Perl 5 Porters committed with Andy Dougherty Aug 29, 1996
Commits on Aug 28, 1996
  1. perl 5.003_04: utils/perldoc.PL

    Use col -x to filter out half-line feeds (ESC-9) from
    HP-UX nroff -man output.  (col -x isn't portable -- SunOS
    doesn't support the -x option.)
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  2. Make leading =head NAME item a paragraph so pod2man finds it.

    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  3. lval substr() coredumps with refs (with patch)

    substr() in lvalue context interacts in buggy fashion with SVs that
    are !SvOK.  This manifests itself with lexicals that have a REFCNT of
    1, since these are merely "cleared in place" by setting SvOK_off.
    
    substr() coredumps with a target that is a ref, when it is used in
    an lvalue context.
    The patch below corrects the problem by stringifying the reference
    first (and emitting a warning when appropriate).
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  4. FAKE typeglobs seriously busted (with patch)

    Handling of fake typeglobs (scalars that are really globs
    in disguise) is seriously busted since 5.002 (it wasn't
    so in 5.001n).
    
    The problem is that mg_get() on a glob calls gv_efullname()
    which might coerce its first arg to a string.
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  5. Re: truncate with file name does not work (with patch)

    The prototype for truncate was changed so that perl won't die
    with C<use strict;> when the first arg is a bareword (filehandle).
    I think it was Tom (as in "tchrist") who brought this up.
    
    Here's a patch that undoes the damage, makes it work with
    C<use strict;>, and adds to the testsuite.
    
    The "not implemented" branch is missing a "\n".
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  6. Patch for LONG_MAX & co.

    substr() in lvalue context interacts in buggy fashion with SVs that
    are !SvOK.  This manifests itself with lexicals that have a REFCNT of
    1, since these are merely "cleared in place" by setting SvOK_off.
    
    substr() coredumps with a target that is a ref, when it is used in
    an lvalue context.
    The patch below corrects the problem by stringifying the reference
    first (and emitting a warning when appropriate).
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  7. lval substr() coredumps with refs (with patch)

    substr() coredumps with a target that is a ref, when it is used in
    an lvalue context.
    The patch below corrects the problem by stringifying the reference
    first (and emitting a warning when appropriate).
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  8. Re: truncate with file name does not work (with patch)

    The prototype for truncate was changed so that perl won't die
    with C<use strict;> when the first arg is a bareword (filehandle).
    I think it was Tom (as in "tchrist") who brought this up.
    
    Here's a patch that undoes the damage, makes it work with
    C<use strict;>, and adds to the testsuite.
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  9. perl 5.003_04: lib/perl5db.pl

    Ilya's debugger patch.
    Undefined subroutine &Carp::longmess called at
        /opt/perl5.003_03/lib/perl5db.pl line 1423.
    
    Make perl5db compatible with the recent 'strict refs' enforcement
    in %SIG.
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  10. Remove the d_bsdpgrp hint. The defaults should be ok.

    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996
  11. Re: glob in Safe compartment allows shell access

    I've moved the glob op into the same opcode tag as backticks and system
    and added a comment.
    Perl 5 Porters committed with Andy Dougherty Aug 28, 1996