Permalink
Switch branches/tags
Commits on Nov 29, 1996
  1. [inseparable changes from patch from perl5.003_09 to perl5.003_10]

     CORE LANGUAGE CHANGES
    
    Subject: Allow &{sub {...}} without warning
    From: Chip Salzenberg <chip@atlantic.net>
    Files: toke.c
    
    Subject: Make parens optional on [gs]ethost and [gs]et{pw,gr} function
    From: Chip Salzenberg <chip@atlantic.net>
    Files: toke.c
    
    Subject: Fix syntax error with "$x [0]" and "$x {y}" and "@x {y}"
    From: Chip Salzenberg <chip@atlantic.net>
    Files: toke.c
    
     DOCUMENTATION
    
    Subject: Improve documentation for sysread() and syswrite()
    From: Chip Salzenberg <chip@atlantic.net>
    Files: pod/perlfunc.pod
    
    Subject: Document how to use $SIG{ALRM} and alarm()
    Date: Tue, 26 Nov 1996 11:42:49 -0500
    From: Roderick Schertler <roderick@ibcinc.com>
    Files: pod/perlfunc.pod
    Msg-ID: <5898.849026569@eeyore.ibcinc.com>
    
        (applied based on p5p patch as commit 5fa5e7d)
    
     OTHER CORE CHANGES
    
    Subject: Hash key memory corruption fix and naming cleanup
    From: Chip Salzenberg <chip@atlantic.net>
    Files: hv.c hv.h perl.h
    
    Subject: Undo broken perf. patch (PADTMP stealing)
    From: Chip Salzenberg <chip@atlantic.net>
    Files: sv.c
    
    Subject: Make SV unstudied in sv_gets()
    From: Chip Salzenberg <chip@atlantic.net>
    Files: sv.c
    
    Subject: Better support for UVs
    From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
    Files: global.sym old_global.sym perl.h pp.c pp.h proto.h sv.c sv.h
    
    Subject: Minor locale cleanups
    From: Chip Salzenberg <chip@atlantic.net>
    Files: t/lib/posix.t util.c
    
        Accept "POSIX" locale as standard like "C". Reset locale to
        'C' when testing strtod() in t/lib/posix.t.
    
    Subject: Always taint result of sprintf() on float
    From: Chip Salzenberg <chip@atlantic.net>
    Files: doop.c
    
    Subject: Fix spurious warning from bitwise string ops
    From: Chip Salzenberg <chip@atlantic.net>
    Files: doop.c
    
    Subject: Eliminate warning on {,sys}read(,$newvar,)
    From: Chip Salzenberg <chip@atlantic.net>
    Files: doop.c pp_sys.c
    
    Subject: Namespace cleanup
    From: Chip Salzenberg <chip@atlantic.net>
    Files: global.sym old_global.sym perl.h
    
    Subject: Modify perl_exp.SH; create old_perl_exp.SH; document old_*
    From: Chip Salzenberg <chip@atlantic.net>
    Files: Configure INSTALL MANIFEST old_perl_exp.SH perl_exp.SH
    
     PORTABILITY
    
    Subject: Reliable signal patch
    Date: Tue, 26 Nov 1996 05:40:50 -0500 (EST)
    From: Kenneth Albanowski <kjahds@kjahds.com>
    Files: global.sym mg.c old_global.sym perl.h pp_sys.c proto.h util.c
    Msg-ID: <Pine.LNX.3.93.961126053209.294J-100000@kjahds.com>
    
        (applied based on p5p patch as commit 679728958e74b0ccd6d61567d84851f1ef994e1f)
    
    Subject: Emulate missing flock() with either fcntl() or lockf()
    From: Chip Salzenberg <chip@atlantic.net>
    Files: pp_sys.c
    
    Subject: 3_09: minor patches for OS/2
    Date: Wed, 27 Nov 1996 03:30:05 -0500 (EST)
    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
    Files: doio.c global.sym malloc.c old_global.sym os2/Makefile.SHs os2/OS2/ExtAttr/Makefile.PL os2/OS2/PrfDB/Makefile.PL os2/OS2/Process/Makefile.PL os2/OS2/REXX/Makefile.PL os2/os2.c os2/os2ish.h perl.h
    
        Subject: 3_09: minor patches
        
        This patches mostly enable commpilation under OS/2, and fix malloc.c.
        
        Enjoy,
        
        p5p-msgid: <199611270830.DAA04985@monk.mps.ohio-state.edu>
    
    Subject: Re: 5.003_09 and QNX
    Date: Wed, 27 Nov 96 13:36:06 est
    From: Norton Allen <nort@bottesini.harvard.edu>
    Files: Configure MANIFEST README.qnx hints/qnx.sh qnx/ar qnx/cpp t/TEST toke.c util.c x2p/proto.h
    Msg-ID: <9611271836.AA14460@bottesini.harvard.edu>
    
        (applied based on p5p patch as commit c511749)
    Perl 5 Porters committed with Chip Salzenberg Nov 29, 1996
  2. Document how to use $SIG{ALRM} and alarm()

    Subject: Re: reliable signal patch (was Re: Reliable signals)
    
    On Tue, 26 Nov 1996 11:14:03 -0500 (EST), Kenneth Albanowski <kjahds@kjahds.com> said:
    >
    > Thus with restarting being the default, you can restart, if you want,
    > by returning normally from the signal handler, or interrupt by dying.
    
    Thanks, now I get it.  This is even inferred in perlipc(1).  Here's some
    more explicit documentation.
    
    p5p-msgid: <5898.849026569@eeyore.ibcinc.com>
    rosche committed with Chip Salzenberg Nov 26, 1996
  3. Diagnostic cleanup

    Chip Salzenberg committed Nov 28, 1996
  4. Re: 5.003_09 and QNX

    [editor's note: original messages may not have been delivered:
    the included message may be the only remaining trace.
    see note on <9611271732.AA17020@bottesini.harvard.edu>:
    --- |3
      [ There was a set of quite minor patches posted on 11/20; I got 
      them, but who knows who else did, the list being what it is...
      I am also nearly ready to submit a QNX hints file together with
      a couple auxilliary support files.]
    ...
    ]
    
    Subject: QNX Port
    
    Greetings,
    
      QNX is now compiling 5.003_08 successfully and passing all 
      tests except for two which have been identified as library 
      errors and are in the process of being fixed by the vendor.
      
      I'd like to submit a few small patches which makes this 
      work. The patches are accompanied by text describing their 
      motivation.
      
      If I am moving too fast, please tell me slow down. If you have 
      suggestions for other/better approaches, please let me know.
      
      I will follow up with a hints file and a (possibly more 
      controversial) Configure change.
      
        -Norton Allen
    
    Under QNX, I need to include <sys/wait.h> in util.c to prototype
    waitpid(). This appears straightforward to me, but if it causes
    trouble, it could be made OS-dependent.
    
    This patch is against perl5.003_08
    
    p5p-msgid: <9611201749.AA11327@bottesini.harvard.edu>
    private-msgid: <9611271836.AA14460@bottesini.harvard.edu>
    Norton Allen committed with Chip Salzenberg Nov 27, 1996
  5. AutoLoader::AUTOLOAD optimization

    I notice that although *.al are right alongside autosplit.ix the 
    trick AutoLoader::import uses to speed looking for the latter
    is not used to find the *.al files - anyone know why?
    
    On NFS mounted file systems at least, all the failed stats/opens are expensive.
    (Sadly I am testing this at home where everything is local...)
    
    p5p-msgid: <199611231954.TAA09921@ni-s.u-net.com>
    Nick Ing-Simmons committed with Chip Salzenberg Nov 23, 1996
  6. Reliable signal patch

    Subject: reliable signal patch (was Re: Reliable signals)
    
    On Tue, 26 Nov 1996, Kenneth Albanowski wrote:
    
    > > I found that 2 places in perl still use unreliable signals:
    > > 	my_pclose() in util.c
    > > 	pp_system() in pp_sys.c
    > > 
    > > Is this working as designed, or an omission?
    > I guess a new set of signal macros are needed, to reliably save and
    > restore signal settings.
    
    Here is a patch that accomplishes this. It replaces the rsignal
    construction in mg.c with a generalized set of functions: rsignal,
    rsignalsave, rsignalrestore, and rsignalstate. 
    
    Note that global.sym is patched to accomodate the new globally accessible
    functions. They probably will be of use to XSUBs too. 
    
    This was diffed from a slightly messy 5.003_08, but should apply
    acceptably over any 5.003_* series.
    
    p5p-msgid: <Pine.LNX.3.93.961126053209.294J-100000@kjahds.com>
    Kenneth Albanowski committed with Chip Salzenberg Nov 26, 1996
  7. [dummy merge]

    This merge exists so that the p5p version of the patch and the applied
    version are both in the history
    Chip Salzenberg committed Nov 29, 1996
  8. Minor patch to debugger

    (this is the same change as commit 9e0ff5e, but as applied)
    Chip Salzenberg committed Nov 29, 1996
  9. Minor patch to debugger

    This makes the new behaviour a little bit more transparent (now you
    need q to quit), and avoids one malloc/free pair in the signal handler.
    
    p5p-msgid: <199611290533.AAA08053@monk.mps.ohio-state.edu>
    Ilya Zakharevich committed with Chip Salzenberg Nov 29, 1996
  10. Re: updated patch on the sysread, syswrite for VMS

    Subject: Re: updated patch on the sysread, syswrite
    
    > Based on feedback I got, here is an updated patch.  I would appreciate
    > even more feedback as I added a t/op test that exercises the sysread,
    > syswrite.  Especially appreciated experiences on non-UNIX systems like
    > OS/2, VMS, we'll see how portable my very UNIXish ideas of what those
    > two calls should do are... to be applied on top of 3_08.
    
    Looks OK under VMS.  Appended is a patch to the test, which works around
    the fact that file size as returned by -s isn't updated until a file is
    closed.
    
    p5p-msgid: <01ICB648K2XG001A1D@hmivax.humgen.upenn.edu>
    Charles Bailey committed with Chip Salzenberg Nov 26, 1996
  11. Save message when calling __DIE__ hook

    Chip Salzenberg committed Nov 28, 1996
  12. Don't call fcntl(fileno(rsfp)) if !rsfp

    Chip Salzenberg committed Nov 28, 1996
  13. Fix regex matching of chars with high bit set

    Chip Salzenberg committed Nov 28, 1996
  14. [shell changes from patch from perl5.003_09 to perl5.003_10]

    Change from running these commands:
    
     # We'll create new scripts, but patch won't automatically make them
     # executable.
     test -d qnx || mkdir qnx
     touch qnx/ar qnx/cpp
     chmod +x qnx/ar qnx/cpp
     touch old_perl_exp.SH
     chmod +x *.SH *.pl
     exit 0
    Chip Salzenberg committed Nov 29, 1996
Commits on Nov 26, 1996
  1. [inseparable changes from patch from perl5.003_08 to perl5.003_09]

     CORE LANGUAGE CHANGES
    
    Subject: Lexical locales
    From: Chip Salzenberg <chip@atlantic.net>
    Files: too many to list
    
        make effectiveness of locales depend on C<use locale>
    
    Subject: Lexical scoping cleanup
    From: Chip Salzenberg <chip@atlantic.net>
    Files: many... but mostly perly.y and toke.c
    
        tighten scoping of lexical variables, somewhat on the
        new constructs and somewhat on the old
    
    Subject: memory corruption / security bug in sysread,syswrite + patch
    Date: Mon, 25 Nov 1996 21:46:31 +0200 (EET)
    From: Jarkko Hietaniemi <jhi@cc.hut.fi>
    Files: MANIFEST pod/perldiag.pod pod/perlfunc.pod pp_sys.c t/op/sysio.t
    Msg-ID: <199611251946.VAA30459@alpha.hut.fi>
    
        (applied based on p5p patch as commit d7090df)
    
     DOCUMENTATION
    
    Subject: perldiag documentation patch.
    Date: Wed, 20 Nov 96 16:07:28 GMT
    From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
    Files: pod/perldiag.pod
    
        private-msgid: <9611201607.AA12729@claudius.bfsec.bt.co.uk>
    
    Subject: a missing perldiag entry
    Date: Thu, 21 Nov 1996 15:24:02 -0500
    From: Gurusamy Sarathy <gsar@engin.umich.edu>
    Files: pod/perldiag.pod
    
        private-msgid: <199611212024.PAA15758@aatma.engin.umich.edu>
    
    Subject: perlfunc patch
    Date: Wed, 20 Nov 96 14:04:08 GMT
    From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
    Files: pod/perlfunc.pod
    
        Following on from the patch to make uc, lc etc default to $_ (as per
        Camel II), here is a followup patch to perlfunc that documents the
        change. I think I have documented all the other cases where $_
        defaulting works as well.
        
        p5p-msgid: <9611201404.AA12477@claudius.bfsec.bt.co.uk>
    
     OTHER CORE CHANGES
    
    Subject: Properly prototype safe{malloc,calloc,realloc,free}.
    From: Chip Salzenberg <chip@atlantic.net>
    Files: proto.h
    
    Subject: UnixWare 2.1 fix for perl5.003_08 - cope with fp->_cnt < -1, allow debugging
    Date: Wed, 20 Nov 1996 14:27:06 +0100
    From: John Hughes <john@AtlanTech.COM>
    Files: sv.c
    
        UnixWare 2.1 has no fp->_base so most of the debugging stuff in sv_gets just
        core dumps.
        
        Also, for some unknown reason fp->_cnt is sometimes < -1, screwing up the
        initial SvGROW in svgets.
        
        Appart from that its io is std.
        
        p5p-msgid: <01BBD6EE.E915C860@malvinas.AtlanTech.COM>
    
    Subject: die -> croak
    Date: Thu, 21 Nov 1996 16:11:21 -0500
    From: Gurusamy Sarathy <gsar@engin.umich.edu>
    Files: pp_ctl.c
    
        private-msgid: <199611212111.QAA17070@aatma.engin.umich.edu>
    
    Subject: Cleanup of {,un}pack('w').
    From: Chip Salzenberg <chip@atlantic.net>
    Files: pp.c
    
    Subject: Cleanups from Ilya.
    From: Chip Salzenberg <chip@atlantic.net>
    Files: gv.c malloc.c pod/perlguts.pod pp_ctl.c
    
    Subject: Fix for unpack('w') on 64-bit systems.
    From: Chip Salzenberg <chip@atlantic.net>
    Files: pp.c
    
    Subject: Re: LC_NUMERIC support is ready + performance
    Date: Mon, 25 Nov 1996 22:08:27 -0500 (EST)
    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
    Files: sv.c
    
        Chip Salzenberg writes:
        > 
        > Having thought about the use of our own gcvt() and atof(), I've run
        > away in horror.  It's just too hairy.
        > 
        > So I've implemented the only viable alternative I know of: Toggling
        > LC_NUMERIC to/from "C" as needed.
        > 
        > Patch follows.
        > 
        > I think _09 is *very* close.
        
        Since _09 is going to be alpha anyway, I reiterate my question:
        	Is there any reason to not include my hash/array performance
        		patches in _09?
        
        Btw, here is the next performance patch. It makes PADTMP values
        stealable too. I do not do by setting TEMP flags on them, since it
        would be a very distributed patch, and it would break some places
        which check for TEMP for some other reasons (yes, I checked ;-).
        
        This patch decreases *twice* the memory usage of
        	perl -e '$a = "a" x 1e6; 1'
        
        Enjoy,
        
        p5p-msgid: <199611260308.WAA02677@monk.mps.ohio-state.edu>
    
    Subject: Hash key sharing improvements from Ilya.
    From: Chip Salzenberg <chip@atlantic.net>
    Files: hv.c hv.h proto.h
    
    Subject: Mortal stack pre-allocation from Ilya.
    From: Chip Salzenberg <chip@atlantic.net>
    Files: pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c
    
     PORTABILITY
    
    Subject: VMS patches post-5.003_08
    Date: Fri, 22 Nov 1996 18:16:31 -0500 (EST)
    From: Charles Bailey <bailey@hmivax.humgen.upenn.edu>
    Files: lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MakeMaker.pm lib/File/Path.pm mg.c pp_ctl.c utils/h2xs.PL vms/config.vms vms/descrip.mms vms/gen_shrfls.pl vms/genconfig.pl vms/perlvms.pod vms/vms.c vms/vmsish.h
    
        Here're diffs to bring a base 5.003_08 up to the current VMS working
        sources.  Nearly all of the changes are VMS-specific, and comprise
        miscellaneous bugfixes accumulated since 5.003_07, rather than any
        particular problem with 5.003_08.  I'm posting them here since some
        of the patches change core files, and I'd like to insure that I
        haven't accidentally created problems for anyone else.
        
        With these and a couple of of the small patches already send to p5p,
        5.003_08 builds clean and passes all tests under VMS.
        
        Thanks, Chip, for all the work.
        
        p5p-msgid: <1996Nov22.181631.1603238@hmivax.humgen.upenn.edu>
    Perl 5 Porters committed with Chip Salzenberg Nov 26, 1996
  2. memory corruption / security bug in sysread,syswrite + patch

    Using a negative offset in sysread() gives interesting results.
    I get either
    
    	assertion botched: OV_MAGIC(op, bucket) == MAGIC
    	zsh: 22828 abort      perl xp1 < /etc/passwd
    
    if the offset is 'mild' or
    
    	panic: realloc at xp2 line 1.
    
    if the offset is 'wild'.
    
    Using a negative offset in syswrite() opens up interesting vistas,
    like, say, your stack :-)
    
    A patch follows. 'Reasonably' small negative values are accepted,
    they count from the end of the data. One possible point of debate:
    should that be +1? That is, if the offset is negative, should that
    mean 1) at the point 2) after the point? For sysread(), "after" might
    sometimes be a better choice?
    
    p5p-msgid: <199611231705.TAA02671@alpha.hut.fi>
    private-msgid: <199611251946.VAA30459@alpha.hut.fi>
    Jarkko Hietaniemi committed with Chip Salzenberg Nov 25, 1996
  3. Fix type mismatches in x2p's safe{alloc,realloc,free}.

    Chip Salzenberg committed Nov 23, 1996
  4. Update locale documentation.

    Chip Salzenberg committed Nov 25, 1996
  5. Patch for pod/perlpod.pod

    This patch documents the E<lt> and E<gt> pod escapes, and adds a section
    on common pod pitfalls (in particular the text that translators add around
    L<> links, since these seem very commonly to be used incorrectly).
    
    p5p-msgid: <Pine.LNX.3.95.961120235016.6666A-100000@hammer.chu.cam.ac.uk>
    private-msgid: <Pine.LNX.3.95.961120235016.6666A-100000@hammer.chu.cam.ac.uk
    Joseph S. Myers committed with Chip Salzenberg Nov 20, 1996
  6. [dummy merge]

    This merge exists so that the p5p version of the patch and the applied
    version are both in the history
    Chip Salzenberg committed Nov 26, 1996
  7. Re: blib

    (this is the same change as commit be9cdb8, but as applied)
    Chip Salzenberg committed Nov 26, 1996
  8. blib

    Chip Salzenberg <chip@atlantic.net> writes:
    >According to Karl Glazebrook:
    >> How about putting blib.pm in 5.004? It's a darn useful utility and only
    >> consumes a few bytes.
    >
    >Um, where/what is it?
    
    It allows 
    
    perl -Mblib script
    
    to be used to test script on pre-installed extension when things are still
    in MakeMaker's 'blib' area.
    Here is my current version. It now puts absolute paths in @INC to speed 
    Auto/Dyna loading and to allow script to chdir()
    
    p5p-msgid: <199611230917.JAA00471@ni-s.u-net.com>
    Nick Ing-Simmons committed with Chip Salzenberg Nov 23, 1996
  9. Socket test improvement from Ilya.

    Chip Salzenberg committed Nov 25, 1996
  10. minimal timelocal.pl for _09

    private-msgid: <9611191854.AA19586@o09.rosat.mpe-garching.mpg.de>
    Achim Bohnet committed with Chip Salzenberg Nov 19, 1996
  11. Fix bitwise op test; clean up a couple of others

    Chip Salzenberg committed Nov 23, 1996
  12. Update documentation and warning in I18N::Collate.

    Chip Salzenberg committed Nov 23, 1996
  13. Elide spurious space in db-hash.t

    Chip Salzenberg committed Nov 23, 1996
  14. Another HP "patch" that didn't make it (new hints file)

    p5p-msgid: <199611252116.AA245766577@hpcc123.corp.hp.com>
    Jeff Okamoto committed with Chip Salzenberg Nov 25, 1996
  15. HP patches didn't make it into _08

    There are two fixes for HP-UX that didn't make it into the _08 release.  I'd
    like to ask that they be added into the _09 release.  The first is the patch
    to dl_hpux.xs that adds some debugging options.  The second was a new hints
    file.  Here's the patch, and I'll send the hints file under separate cover.
    
    p5p-msgid: <199611252114.AA245686448@hpcc123.corp.hp.com>
    private-msgid: <199611260215.AA100414526@hpcc123.corp.hp.com>
    Jeff Okamoto committed with Chip Salzenberg Nov 26, 1996
  16. 5.003_08: OS/2-specific bugs/enhancements

    This patch modifies the following files:
    	hints/os2.sh 
    		New flags added.
    	os2/Changes
    		Documentation...
    	os2/Makefile.SHs
    		perl_init_i18nl10n is now in main list of symbols.
    	os2/OS2/PrfDB/PrfDB.pm
    		@ISA corrected.
    	os2/os2.c
    		reliable signals used, popen not used any more.
    		May work under OS/2 2.1 again.
    	README.os2
    		misprints and minor additions.
    
    p5p-msgid: <199611241147.GAA00490@monk.mps.ohio-state.edu>
    Ilya Zakharevich committed with Chip Salzenberg Nov 24, 1996
  17. Add new symbols to old_global.sym, too.

    Chip Salzenberg committed Nov 25, 1996
  18. Patch for embed.pl when !EMBED && !MULTIPLICITY

    Chip Salzenberg committed Nov 23, 1996
  19. "static" call to UNIVERSAL::can

    Is there some reason why 'can' does not allow a class name,
    but (silently) insists on an instance?
    
    I wanted to do this : 
    
    sub Construct
    {
     my $class = (caller(0))[0];
    
     if ($class->can('Something'))
      {
       ...
      }
     else
      {
       ...
      }
    }
    
    can just returns undef in this case, even if class has method in
    question.
    
    Anyone object to a patch?
    
    p5p-msgid: <199611211407.OAA14645@pluto>
    private-msgid: <199611211547.PAA15878@pluto>
    Nick Ing-Simmons committed with Chip Salzenberg Nov 21, 1996