| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
p4raw-id: //depot/perl@3518
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
perl-mvs:
From: Neale Ferguson <neale@VMA.TABNSW.COM.AU>
Subject: Re: Can't find Data/Dumper.pm
Date: Mon, 28 Sep 1998 07:40:49 +1300
Message-ID: <360E86B0.23847AF4@mailbox.tabnsw.com.au>
private email:
From: Neale Ferguson <neale@VMA.TABNSW.COM.AU>
Subject: Re: Perl thread problems in VM/ESA
Date: Thu, 15 Oct 1998 07:18:35 +1300
Message-ID: <3624EAFA.16163A2B@mailbox.tabnsw.com.au>
and private email:
From: Neale Ferguson <NEALE@PUCC.PRINCETON.EDU>
Subject: perl archive
Date: Sun, 11 Oct 1998 19:28:54 EDT
Message-Id: <19981011233112Z67215-26626+1513@outbound.Princeton.EDU>
which gave a pointer to
http://pucc.princeton.edu/~neale/perl.tar
(based on Perl 5.005_51)
p4raw-id: //depot/cfgperl@2006
|
|
|
|
|
|
| |
Message-Id: <199808010903.MAA09371@alpha.hut.fi>
Subject: [PATCH] 5.005_01: OE MVS
p4raw-id: //depot/maint-5.005/perl@1697
|
|
|
|
|
| |
in this version of gcc!)
p4raw-id: //depot/win32/perl@529
|
|
|
|
|
|
|
|
|
|
| |
- build and install x2p
- fix installperl warnings on win32
- `make install` now does puts the archlibs in right places
- makefiles don't default to USE_THREADS anymore
- sync config.{b,g,v}c
- sync makefile.mk -> Makefile
p4raw-id: //depot/win32/perl@416
|
|
|
|
|
| |
with gcc -x c++.
p4raw-id: //depot/ansiperl@196
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Strictly follow lexical context of C<eval ''> and nested subs
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Make ::SUPER and UNIVERSAL work together
From: Chip Salzenberg <chip@perl.com>
Files: gv.c pod/perlguts.pod
CORE PORTABILITY
Subject: OS/2 patches
Date: Wed, 5 Mar 1997 22:08:43 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t
Msg-ID: 199703060308.WAA22211@monk.mps.ohio-state.edu
(applied based on p5p patch as commit eda4d5189d403b15f244b4696a710fb91d15053e)
Subject: VMS patches
Date: Wed, 05 Mar 1997 23:10:24 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h t/op/runlevel.t t/op/taint.t vms/descrip.mms vms/perly_c.vms vms/sockadapt.c vms/sockadapt.h vms/vms_yfix.pl
private-msgid: 01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu
DOCUMENTATION
Subject: Add taint checks and srand to perldelta
Date: Sun, 2 Mar 1997 11:56:08 -0800 (PST)
From: Tom Phoenix <rootbeer@teleport.com>
Files: pod/perldelta.pod
Msg-ID: Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com
(applied based on p5p patch as commit b28e0bc0aa3232e18d1bacb3efcbfb755ad100e0)
Subject: Don't call FileHandle 'deprecated'
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
Subject: Improve sample module header
Date: Sat, 01 Mar 1997 10:32:31 -0700
From: Tom Christiansen <tchrist@jhereg.perl.com>
Files: pod/perlmod.pod
Msg-ID: 199703011732.KAA14693@jhereg.perl.com
(applied based on p5p patch as commit 3e1e15658152387f41e00ded4796cede4e1e10d3)
Subject: Update list of CPAN sites
Date: Sun, 2 Mar 1997 16:54:22 +0200 (EET)
From: Jarkko Hietaniemi <jhi@iki.fi>
Files: pod/perlmod.pod
Msg-ID: 199703021454.QAA07446@alpha.hut.fi
(applied based on p5p patch as commit 9423903e60e6c92c1893f5f4cab2476f403f8a4b)
Subject: Enhance description of 'server error'
Date: Tue, 4 Feb 1997 21:03:23 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: pod/perldiag.pod
private-msgid: 199702041903.VAA16070@alpha.hut.fi
Subject: Regularize format of E-Mail addresses in *.pod
From: Chip Salzenberg <chip@perl.com>
Files: pod/*.pod
LIBRARY AND EXTENSIONS
Subject: Use IV instead of double for tms structure members
From: Chip Salzenberg <chip@perl.com>
Files: ext/POSIX/POSIX.xs
OTHER CORE CHANGES
Subject: Make sure $^X is tainted when ARG_ZERO_IS_SCRIPT
From: Chip Salzenberg <chip@perl.com>
Files: toke.c
Subject: Clarify '-T too late' error
From: Chip Salzenberg <chip@perl.com>
Files: perl.c pod/perldiag.pod
Subject: Warn when redefining or undefining a constant sub
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod pp.c sv.c
Subject: Don't generate spurious 'not imported' warning
From: Chip Salzenberg <chip@perl.com>
Files: gv.c t/pragma/strict-vars pod/perldiag.pod
Subject: Clarify message re: @host in string
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod pod/perltrap.pod toke.c
Subject: Disconnect refs that are targets of pp_readline
From: Chip Salzenberg <chip@perl.com>
Files: pp_hot.c
Subject: Fix typo in test of HvFILL()
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Allow for pad name array to be shorter than pad array
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Eliminate format-string type warnings
Date: Mon, 3 Mar 1997 10:15:11 +0100 (MET)
From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
Files: doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c pp_hot.c run.c sv.c x2p/a2py.c
private-msgid: 199703030915.KAA11634@bombur2.uio.no
Subject: Update copyright dates
From: Chip Salzenberg <chip@perl.com>
Files: *.[hc] x2p/*.[hc] win32/EXTERN.h vms/vmsish.h vms/vms.c
TESTS
Subject: Smarter t/op/taint.t
Date: Mon, 3 Mar 1997 10:31:54 -0800 (PST)
From: Tom Phoenix <rootbeer@teleport.com>
Files: t/op/taint.t
private-msgid: Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com
Subject: Fix taint test for systems without csh
From: Chip Salzenberg <chip@perl.com>
Files: t/op/taint.t
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD PROCESS
Subject: Make configure.gnu a copy of configure; make configure writea
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST configure.gnu
Subject: Regen Configure with metaconfig: +ARCHNAME, -FILE_filbuf
From: Chip Salzenberg <chip@perl.com>
Files: Configure config_H config_h.SH hints/lynxos.sh os2/diff.configure os2/os2ish.h plan9/config.plan9 sv.c utils/perlbug.PL vms/config.vms vms/fndvers.com
Subject: Compile with optimization when testing memory functions
From: Chip Salzenberg <chip@atlantic.net>
Files: Configure
CORE LANGUAGE CHANGES
Subject: Disallow changing $_[0] in __DIE__ handlers
From: Chip Salzenberg <chip@atlantic.net>
Files: pod/perlfunc.pod util.c
Subject: Fix overloading with inheritance and AUTOLOAD
Date: Mon, 20 Jan 1997 17:26:32 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: gv.c lib/diagnostics.pm lib/overload.pm pod/perldebug.pod pod/perldiag.pod pod/perlfunc.pod pod/perlop.pod pod/perlre.pod pod/perltoc.pod pod/perlxs.pod
Msg-ID: <199701202226.RAA05072@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit e7ea3e70155d0bea30720ba41eb6bb6742aac0d1)
Subject: Nested here-docs
Date: Mon, 20 Jan 1997 15:13:42 -0800
From: Larry Wall <larry@wall.org>
Files: toke.c
Msg-ID: <199701202313.PAA11693@wall.org>
(applied based on p5p patch as commit fd2d0953290ddd46f0820dbd6c87245486b7ab28)
Subject: Revert $^X to old behavior (plus HP-UX bug fix)
From: Chip Salzenberg <chip@atlantic.net>
Files: hints/hpux.sh toke.c
Subject: Protect against '0' in 'stmt while <HANDLE>'
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
Subject: Don't warn when closure uses var at file scope
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
CORE PORTABILITY
Subject: VMS patches for _22
Date: Mon, 20 Jan 1997 22:50:21 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: ext/POSIX/POSIX.xs lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp lib/Test/Harness.pm toke.c vms/Makefile vms/descrip.mms vms/genconfig.pl vms/perly_c.vms vms/vmsish.h x2p/a2p.h vms/Makefile vms/config.vms vms/descrip.mms vms/perly_c.vms
private-msgid: <01IEGBJ2TMYS003PCL@hmivax.humgen.upenn.edu>
Subject: Plan9 update
From: Luther Huffman <lutherh@stratcom.com>
Files: plan9/config.plan9 plan9/mkfile
Subject: hints & Configure changes to build perl on DC/OSx
Date: Thu, 16 Jan 1997 16:43:52 -0800
From: Stephen Zander <stephen.zander@interlock.mckesson.com>
Files: Configure MANIFEST hints/dcosx.sh
Msg-ID: <199701170043.QAA25985@wsbip1.mckesson.com>
(applied based on p5p patch as commit 23f8769697279d7912be5943de9fdf93f6aa3013)
DOCUMENTATION
Subject: Additional docs for __DIE__ and __WARN__
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perlfunc.pod pod/perlrun.pod pod/perlvar.pod
Subject: Document #line directive
Date: Fri, 24 Jan 1997 04:08:44 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perlsyn.pod pod/perltoc.pod
private-msgid: <199701240908.EAA23846@aatma.engin.umich.edu>
Subject: delta for perldelta
Date: Fri, 24 Jan 1997 07:57:43 -0800
From: Tom Christiansen <tchrist@mox.perl.com>
Files: pod/perlnews.pod pod/perltoc.pod
private-msgid: <804.854121463@jinete>
Subject: Updates to perldelta
Date: Mon, 20 Jan 1997 06:48:49 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perlnews.pod pod/perltoc.pod
private-msgid: <199701211610.LAA06227@monk.mps.ohio-state.edu>
Subject: perlnews.pod diff for the Fcntl
Date: Tue, 21 Jan 1997 18:00:56 +0200 (EET)
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Files: pod/perlnews.pod
private-msgid: <199701211600.SAA30117@alpha.hut.fi>
Subject: Rename perlnews -> perldelta per Tom's request
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod pod/perldelta.pod pod/perltoc.pod pod/roffitall
LIBRARY AND EXTENSIONS
Subject: Refresh IO to 1.15 (plus DESTROY and new_tmpfile fixes)
From: Chip Salzenberg <chip@atlantic.net>
Files: ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Seekable.pm ext/IO/lib/IO/Socket.pm t/lib/io_pipe.t
Subject: Allow IO.xs to remain at 1.15 while $VERSION is 1.1501
From: Chip Salzenberg <chip@atlantic.net>
Files: XSUB.h ext/IO/Makefile.PL ext/IO/lib/IO/Handle.pm
Subject: Add E* and SA_* constants
Date: Wed, 22 Jan 1997 21:36:07 -0500
From: Roderick Schertler <roderick@gate.net>
Files: ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs
private-msgid: <23338.853986967@eeyore.ibcinc.com>
OTHER CORE CHANGES
Subject: Make PERL5LIB and -I work like C<use lib>
Date: Thu, 23 Jan 1997 15:23:27 +0000
From: Tim Bunce <Tim.Bunce@ig.co.uk>
Files: lib/lib.pm perl.c
private-msgid: <9701231523.AA26613@toad.ig.co.uk>
Subject: Fix /\G.a/
From: Chip Salzenberg <chip@atlantic.net>
Files: regcomp.c regcomp.h regexec.c regexp.h toke.c
Subject: Extend stack in pp_undef (!)
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c
Subject: Allow for sub to be redefined while executing
From: Chip Salzenberg <chip@atlantic.net>
Files: cop.h pp_hot.c t/op/misc.t
Subject: Eliminate redundant flag CVf_FORMAT
From: Chip Salzenberg <chip@atlantic.net>
Files: cv.h op.c perl.c perly.c perly.y proto.h sv.c toke.c
Subject: Generate IVs when possible in abs() and int()
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c
Subject: Efficiency patchlet for pp_aassign()
Date: Mon, 20 Jan 1997 22:05:39 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pp_hot.c
Msg-ID: <199701210305.WAA05451@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 7e42bd57a6867e174bc3bc555c3268b485940a98)
Subject: Remove "suidperl security patch" message
From: Chip Salzenberg <chip@atlantic.net>
Files: perl.c
TESTS
Subject: Fix tests of $^X and $0 to work with QNX
From: Chip Salzenberg <chip@atlantic.net>
Files: t/lib/io_pipe.t t/lib/open2.t t/lib/open3.t t/op/magic.t
Subject: Patch tests for systems without fork()
Date: Thu, 23 Jan 1997 23:51:28 +0100
From: "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
Files: t/io/pipe.t t/lib/filehand.t t/lib/io_pipe.t t/lib/io_sock.t t/lib/open2.t t/lib/open3.t t/op/fork.t
private-msgid: <77724697@Armageddon.meb.uni-bonn.de>
Subject: Test patches for OS/2
Date: Thu, 16 Jan 1997 23:48:18 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: os2/OS2/ExtAttr/t/os2_ea.t os2/OS2/PrfDB/t/os2_prfdb.t os2/OS2/REXX/t/rx_cmprt.t os2/OS2/REXX/t/rx_dllld.t os2/OS2/REXX/t/rx_objcall.t os2/OS2/REXX/t/rx_sql.test os2/OS2/REXX/t/rx_tiesql.test os2/OS2/REXX/t/rx_tievar.t os2/OS2/REXX/t/rx_tieydb.t os2/OS2/REXX/t/rx_varset.t os2/OS2/REXX/t/rx_vrexx.t t/README t/cmd/while.t t/comp/colon.t t/comp/multiline.t t/io/argv.t t/lib/anydbm.t t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t t/op/cmp.t t/op/magic.t
Msg-ID: <199701170448.XAA28948@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit bbad36071d5a6d4be3588f0f10c88247439076d8)
UTILITIES
Subject: Translate \200 to È in pod2html
From: Chip Salzenberg <chip@atlantic.net>
Files: pod/pod2html.PL
Subject: VMS patches: '.com' extension on scripts
Date: Fri, 24 Jan 1997 18:42:29 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: pod/checkpods.PL pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL utils/splain.PL vms/Makefile vms/descrip.mms x2p/find2perl.PL x2p/s2p.PL
private-msgid: <01IELNPDLYJM003E7J@hmivax.humgen.upenn.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD PROCESS
Subject: Make MachTen hints file warn about db-recno failures
Date: Wed, 8 Jan 1997 12:07:18 +0100
From: Dominic Dunlop <domo@slipper.ip.lu>
Files: hints/machten.sh
Msg-ID: <v03010d00aef92fba6aca@[194.51.248.78]>
(applied based on p5p patch as commit a4c70ab8da3ec1d87c83e5c617f4550814ec1724)
Subject: 5.003_20, FreeBSD 3.0 and minor patch
Date: Wed, 8 Jan 1997 14:37:47 +0100
From: Ollivier Robert <roberto@eurocontrol.fr>
Files: Configure
Msg-ID: <Mutt.19970108143747.roberto@caerdonn.eurocontrol.fr>
(applied based on p5p patch as commit 50e0d465254be88fb90ac23584812a529741b4b1)
CORE LANGUAGE CHANGES
Subject: Fix overloading via inherited autoloaded functions
Date: Mon, 13 Jan 1997 05:22:47 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: gv.c lib/overload.pm pod/perldiag.pod t/pragma/overload.t
Msg-ID: <199701131022.FAA22830@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit a9bc755754f0db5e848e65dfd2e63a96af50ffd4)
Subject: Method call fixes: Don't cache in alias, don't skip undef
From: Chip Salzenberg <chip@atlantic.net>
Files: global.sym gv.c gv.h hv.c op.c pod/perlguts.pod pod/perltoc.pod pp.c pp_ctl.c pp_hot.c proto.h scope.c sv.c t/op/method.t
Subject: Formats can be closures
From: Chip Salzenberg <chip@atlantic.net>
Files: cv.h op.c perly.c perly.c.diff perly.y pp_sys.c sv.h
Subject: Quote 'foo' in C<$x{-foo}>
From: Chip Salzenberg <chip@atlantic.net>
Files: toke.c
Subject: Forbid C< x->{y} > and C< x->[0] > under C<strict refs>
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c pod/perldiag.pod t/pragma/strict-refs
Subject: Allow <=> to return undef when operands are not ordered
From: Chip Salzenberg <chip@perl.com>
Files: MANIFEST pp.c t/op/cmp.t
CORE PORTABILITY
Subject: Re: Perl 5.003_20: OS/2 patches
Date: Fri, 10 Jan 1997 06:02:16 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: hints/os2.sh os2/Changes os2/os2.c os2/os2ish.h pp_sys.c
Msg-ID: <199701101102.GAA19051@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 9a3e71f668bd84b1cf53dd3ea10f588d59ecfebb)
Subject: VMS patches for _20
Date: Tue, 14 Jan 1997 17:34:43 -0500 (EST)
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: configpm dosish.h os2/os2ish.h plan9/plan9ish.h proto.h t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t toke.c unixish.h vms/Makefile vms/config.vms vms/descrip.mms vms/genconfig.pl vms/perly_c.vms vms/test.com vms/vmsish.h x2p/a2p.h x2p/str.c
private-msgid: <01IE7MGK7ULQ003K5M@hmivax.humgen.upenn.edu>
Subject: Irix 6.3 & 6.4 and perl5.003_20
Date: Mon, 13 Jan 1997 17:42:50 -0500 (EST)
From: John Stoffel <jfs@fluent.com>
Files: MANIFEST hints/irix_6_3.sh hints/irix_6_4.sh
Msg-ID: <199701132242.RAA14601@jfs.Fluent.COM>
(applied based on p5p patch as commit 8a1e91d771b51ae31eed1ac5944c63934213fb07)
Subject: Patch: MachTen hints, Configure
Date: Tue, 14 Jan 1997 13:43:13 +0100
From: Dominic Dunlop <domo@slipper.ip.lu>
Files: Configure hints/machten.sh
private-msgid: <v03010d00af0123a93670@[194.51.248.75]>
Subject: Rename aux.sh to aux_3.sh for MS-LOSS
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST hints/aux_3.sh
DOCUMENTATION
Subject: Full documentation generation patch
Date: Wed, 15 Jan 97 11:16:28 +0100
From: Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
Files: MANIFEST pod/roffitall pod/rofftoc
Msg-ID: <15309.853323388@lyon.grenoble.hp.com>
(applied based on p5p patch as commit a3270a1d7469cab9221ab0050a0e6695bd0047d8)
Subject: Document use of pos() and /\G/
Date: Mon, 13 Jan 1997 15:13:12 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pod/perlfunc.pod pod/perlnews.pod pod/perlop.pod pod/perlre.pod pod/perltoc.pod pod/perltrap.pod
Msg-ID: <199701132013.PAA26606@aatma.engin.umich.edu>
(applied based on p5p patch as commit b2a07c1c241ec86f010fc0ea3bfa54c8ec28be90)
Subject: Document new closure warnings
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c pod/perldiag.pod
Subject: Misc. doc patches missing in _20
Date: Tue, 07 Jan 1997 22:55:33 -0500
From: Roderick Schertler <roderick@gate.net>
Files: pod/perlsub.pod pod/perltoc.pod pod/perlvar.pod
Msg-ID: <102.852695733@eeyore.ibcinc.com>
(applied based on p5p patch as commit b88f04ff2985d0899964b90ae56789d88f6b353e)
LIBRARY AND EXTENSIONS
Subject: Localize info about filesystems being case-forgiving
From: Chip Salzenberg <chip@atlantic.net>
Files: lib/File/Basename.pm pod/checkpods.PL pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL utils/perldoc.PL utils/pl2pm.PL utils/splain.PL x2p/find2perl.PL x2p/s2p.PL
Subject: Eliminate warning from C<use overload>
From: Chip Salzenberg <chip@atlantic.net>
Files: lib/overload.pm
OTHER CORE CHANGES
Subject: Fix C< eval { my $x; eval '$x' } >
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c t/op/misc.t
Subject: Don't warn if eval '' uses outer func's lexicals
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
Subject: Avoid memory wastage in wait(); make pidstatus global
From: Chip Salzenberg <chip@atlantic.net>
Files: global.sym interp.sym perl.c perl.h pp_sys.c
Subject: Forbid ++ and -- on readonly values
Date: Fri, 10 Jan 1997 19:47:16 -0800 (PST)
From: "John Q. Linux" <jql@accessone.com>
Files: pp.c pp_hot.c
Msg-ID: <Pine.LNX.3.95.970110193330.11249D-100000@jql.accessone.com>
(applied based on p5p patch as commit 74c80e585086695d5428ab316ca82fd6931aeabd)
Subject: Keep array from dying during foreach(@array)
From: Chip Salzenberg <chip@atlantic.net>
Files: cop.h pp_ctl.c
Subject: Fix C< $a="simple"; split /($a)/o >
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c t/op/misc.t
Subject: Fix for anon-lists with tied entries coredump
Date: Fri, 10 Jan 1997 02:45:11 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pp.c
Msg-ID: <199701100745.CAA13057@aatma.engin.umich.edu>
(applied based on p5p patch as commit d976ac8220f8890bb7663152c4870f60e8e018c8)
Subject: Don't set SVf_PADBUSY on immortal SVs
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c
Subject: Patch for Object subroutines
Date: Tue, 7 Jan 1997 20:56:02 -0500 (EST)
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: cop.h
Msg-ID: <199701080156.UAA15366@monk.mps.ohio-state.edu>
(applied based on p5p patch as commit 174150afa5efdafc0e94a18211d3c9aa06b15cd9)
Subject: Use an SVt_PVLV to hold stacked OP pointers when debugging
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c pp_hot.c
Subject: Undo change that freed large pad vars
From: Chip Salzenberg <chip@atlantic.net>
Files: scope.c
TESTS
Subject: UNIVERSAL tests
From: Roderick Schertler <roderick@gate.net>
Files: MANIFEST t/op/universal.t
Subject: Test deletion of array during foreach
From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
Files: t/op/misc.t
UTILITIES
Subject: Don't search for pod if path is already valid
Date: Wed, 08 Jan 1997 15:25:19 -0800
From: Wayne Scott <wscott@ichips.intel.com>
Files: utils/perldoc.PL
Msg-ID: <199701082325.PAA04521@pdxlx008.intel.com>
(applied based on p5p patch as commit 88f0eda82bb679b4e6445ccb17e18d0781c6a5da)
Subject: Yet another perldoc option
Date: Thu, 3 Oct 1996 00:00:35 +0200
From: Gisle Aas <aas@aas.no>
Files: utils/perldoc.PL
Msg-ID: <199610022200.AAA15334@furubotn.sn.no>
(applied based on p5p patch as commit a2333f3625faa17fb193cfa25c3d598cb59f105f)
Subject: Re: perldoc, temp files, async pagers
Date: 07 Jan 1997 22:54:14 -0500
From: Roderick Schertler <roderick@gate.net>
Files: utils/perldoc.PL
Msg-ID: <pzwwtoom8p.fsf@eeyore.ibcinc.com>
(applied based on p5p patch as commit 7c36043de26da560a0f7eb04f36d232762c0092c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CORE LANGUAGE CHANGES
Subject: Bitwise op sign rationalization
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c opcode.pl pod/perlop.pod pod/perltoc.pod pp.c pp.h pp_hot.c proto.h sv.c t/op/bop.t
Make bitwise ops result in unsigned values, unless C<use
integer> is in effect. Includes initial support for UVs.
Subject: Defined scoping for C<my> in control structures
From: Chip Salzenberg <chip@atlantic.net>
Files: op.c perly.c perly.c.diff perly.h perly.y proto.h toke.c
Finally defines semantics of "my" in control expressions,
like the condition of "if" and "while". In all cases, scope
of a "my" var extends to the end of the entire control
structure. Also adds new construct "for my", which
automatically declares the control variable "my" and limits
its scope to the loop.
Subject: Fix ++/-- after int conversion (e.g. 'printf "%d"')
From: Chip Salzenberg <chip@atlantic.net>
Files: pp.c pp_hot.c sv.c
This patch makes Perl correctly ignore SvIVX() if either
NOK or POK is true, since SvIVX() may be a truncated or
overflowed version of the real value.
Subject: Make code match Camel II re: functions that use $_
From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
Files: opcode.pl
Subject: Provide scalar context on left side of "->"
From: Chip Salzenberg <chip@atlantic.net>
Files: perly.c perly.y
Subject: Quote bearword package/handle FOO in "funcname FOO => 'bar'"
From: Chip Salzenberg <chip@atlantic.net>
Files: toke.c
OTHER CORE CHANGES
Subject: Warn on overflow of octal and hex integers
From: Chip Salzenberg <chip@atlantic.net>
Files: proto.h toke.c util.c
Subject: If -w active, warn for commas and hashes ('#') in qw()
From: Chip Salzenberg <chip@atlantic.net>
Files: toke.c
Subject: Fixes for pack('w')
From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
Files: pp.c t/op/pack.t
Subject: More complete output from sv_dump()
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: sv.c
Subject: Major '..' and debugger patches
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: lib/perl5db.pl op.c pp_ctl.c scope.c scope.h
Subject: Fix for formline()
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: global.sym mg.c perl.h pod/perldiag.pod pp_ctl.c proto.h sv.c t/op/write.t
Subject: Fix stack botch in untie and binmode
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: pp_sys.c
Subject: Complete EMBED, including symbols from interp.sym
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST embed.pl ext/DynaLoader/dlutils.c ext/SDBM_File/sdbm/sdbm.h global.sym handy.h malloc.c perl.h pp_sys.c proto.h regexec.c toke.c util.c x2p/Makefile.SH x2p/a2p.h x2p/handy.h x2p/util.h
New define EMBEDMYMALLOC makes embedding total by
avoiding "Mymalloc" etc.
Subject: Support old embedding for people who want it
From: Chip Salzenberg <chip@atlantic.net>
Files: MANIFEST Makefile.SH old_embed.pl old_global.sym
PORTABILITY
Subject: Miscellaneous VMS fixes
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Files: lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm lib/Math/Complex.pm lib/Time/Local.pm lib/timelocal.pl perl.h perl_exp.SH proto.h t/TEST t/io/read.t t/lib/findbin.t t/lib/getopt.t util.c utils/h2xs.PL vms/Makefile vms/config.vms vms/descrip.mms vms/ext/Stdio/Stdio.pm vms/ext/Stdio/Stdio.xs vms/perlvms.pod vms/test.com vms/vms.c
Subject: DJGPP patches (MS-DOS)
From: "Douglas E. Wegscheid" <wegscd@whirlpool.com>
Files: doio.c dosish.h ext/SDBM_File/sdbm/sdbm.c handy.h lib/AutoSplit.pm lib/Cwd.pm lib/File/Find.pm malloc.c perl.c perl.h pp_sys.c proto.h sv.c util.c
Subject: Patch to make Perl work under AmigaOS
From: "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
Files: MANIFEST hints/amigaos.sh installman lib/File/Basename.pm lib/File/Find.pm pod/pod2man.PL pp_sys.c util.c
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you're adventurous, have a look at
ftp://ftp.sems.com/pub/outgoing/perl5.0/perl5.002beta1.tar.gz
Many thanks to Andy for doing the integration.
Obviously, if you consult the bugs database, you'll note there are
still plenty of buglets that need fixing, and several enhancements that
I've intended to put in still haven't made it in (Hi, Tim and Ilya).
But I think it'll be pretty stable. And you can start to fiddle around
with prototypes (which are, of course, still totally undocumented).
Packrats, don't worry too much about readvertising this widely.
Nowadays we're on a T1 here, so our bandwidth is okay.
Have the appropriate amount of jollity.
Larry
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To apply, change to your perl directory, run the command above, then
apply with
patch -p1 -N < thispatch.
This is a consolidation patch. It contains many of the most commonly
applied or agreed-to patches that have been circulating since
patch.1m.
It also changes the 'unofficial patchlevel' in perl.c.
There are some problems (see items marked with '***').
I will attempt to address those in a patch.1o in a few days.
This patch contains the following packages:
My Jumbo Configure patch vs. 1m, with subsequent patches 1, 2, and 3.
Mainly, this provides easier use of local libraries, documents
the installation process in a new INSTALL file, moves important
questions towards the beginning, and improves detection of
signal names (mostly for Linux).
xsubpp-1.922.
Patches from Larry:
eval "1" memory leak patch (as modified by GSAR to apply to 5.001m).
NETaa14551 Infinite loop in formats,
NETaa13729 scope.c patch (fixed problems on AIX and others)
NETaa14138 "substr() & s///" (pp_hot.c)
Patches from ftp.perl.com:
ftp://ftp.perl.com/pub/perl/src/patches/closure-bug.patch,
version of 20 Sep 1995
Includes fix for NETaa14347 (32k limit in regex), and other
fixes.
ftp://ftp.perl.com/pub/perl/src/patches/debugger.patch,
version of 27 Aug 1995
ftp://ftp.perl.com/pub/perl/src/patches/glob-undef.patch,
version of 4 Sep 1995
NETaa14421 $_ doesn't undef
ftp://ftp.perl.com/pub/perl/src/patches/op-segfault.patch,
version of 21 Aug 1995
ftp://ftp.perl.com/pub/perl/src/patches/warn-ref-hash-key.patch,
version of 5 Jun 1995
Tim Bunce's Jumbo DynaLoader patch for Perl5.001m, which is
NETaa14636 Jumbo DynaLoader patch for Perl5.001m, and
Additional patch for NETaa14636 Jumbo DynaLoader patch for Perl5.001m
version of 09 Oct 1995.
***This needs some additional parentheses.***
MakeMaker-5.00. Supercedes NETaa13540 (VMS MakeMaker patches).
(Updates minimod.PL as well.)
***This has a couple of minor problems.
pod2man is run even if it isn't available.
LD_RUN_PATH gets set to some mysterious values.***
NETaa14657 Paul Marquess Net::Ping patch. I've included
Net-Ping-1.00.
NETaa14661 Dean Roehrich DProf. Installed as ext/Devel/DProf.
Configure should pick this up automatically. (5 Apr 1995
version.)
NETaa13742 Jack Shirazi Socket in 5.001. I've also included
his socket.t test in t/lib/socket.t.
c2ph-1.7.
Dean's perlapi patches of Oct 12, 1995, which superceded those
of Oct 8, 1995. This is the one that did
mv perlapi.pid perlxs.pod.
NETaa14310 Tim Bunce A trivial patch for configpm (handy for shell scripts)
DB_File-1.0 patch from Paul Marquess (pmarquess@bfsec.bt.co.uk)
last modified 7th October 1995
version 1.0
Added or updated the following hints files:
hints/hpux.sh
hints/ncr_tower.sh
hints/netbsd.sh
hints/ultrix.sh
Patch and enjoy.
Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
problems reported even after patches 0a through 0j
MakeMaker 4.06 allows you to build extensions away from the source
tree with either static or dynamic loading.
In a rare act of prescience, I've also fixed some un-reported bugs.
Specifically, there were several places where Configure said you could
specify things using ~name notation, but, in fact, you couldn't.
In detail, here's what's included:
Configure
Check I_SYS_TYPES for x2p/a2p.h
Improve and generalize $osvers detection for DEC Alpha
(now will work even for osvers > 3.)
No longer override hint-file setting of $archname.
Don't tell users ~name is ok for Dynamic loading file. It's not.
MANIFEST
MANIFEST.new
Updated.
Makefile.SH
Some trailing ' ' removed from lines.
New target lib/ExtUtils/Miniperl.pm built. This stashes away
miniperlmain.c in the library so new static extensions can be
built away from the source tree.
Minor cleanup.
U/Oldconfig.pat.2
This is a patch to be applied against dist-PL 50 to upgrade
the DEC OSF/1 version detection.
U/archlib.U
Preserve previous value for $archname. Otherwise this is
identical to the unit in dist-PL 50.
U/dlsrc.U
Users may not use ~name notation to find the dynamic loading
module. (Back in early alpha days they could, but that hasn't
worked since the DynaLoader module was introduced.
config.H
Updated.
config_h.SH
Updated.
hints/dec_osf.sh
Updated. Simplified. Don't use ld -no_archive (at least as
the default). It only worked because some versions *ignored* it.
hints/mpeix.sh
Add a few comments. I should have added more.
hints/next_3_0.sh
New hint file from Kevin White <klwhite@magnus.acs.ohio-state.edu>
hints/ultrix_4.sh
Separate out flags not appropriate for gcc.
installperl
Install sperl.o.
lib/ExtUtils/MakeMaker.pm
Upgraded from 4.03 to 4.06. Many improvements. Now possible
to build and install new extensions outside the source tree,
for both static and dynamic loading.
lib/File/Path.pm
New. Creates or removes a series of directories
makeaperl
New utility to create a new perl binary from static extensions
minimod.PL
New. minimod.PL writes the contents of miniperlmain.c into the
module ExtUtils::Miniperl for later perusal (when the perl
source is deleted)
perl.c
ARCHLIB and PRIVLIB changed to ARCHLIB_EXP and PRIVLIB_EXP,
since perl is not prepared to deal with ~name expansion. The
_EXP variables are pre-expanded by Configure.
proto.h
NeXt 3.0 couldn't handle the #ifdef __attribute line.
It said 'illegal #ifdef'.
vms/config.vms
s/ARCHLIB/ARCHLIB_EXP/;
s/PRIVLIB/PRIVLIB_EXP/;
Add in I_SYS_STAT and I_SYS_TYPES, since the source now looks
for them.
vms/ext/MM_VMS.pm
New file.
x2p/a2p.h
Include <sys/types.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
after patches 0a through 0i
Specifically, here's what's included:
Configure
Regenerated with metaconfig patchlevel 50. This changed
a variety of things, mostly related to selecting and changing
the installation prefix.
Handle csh, sed, and byacc no matter what the setting of
d_portable. (This was causing glob problems in patch.0i).
Set d_portable to default to 'y'. It doesn't matter anyway,
but gives people a warm fuzzy feeling.
Remove useless d_group and d_passwd tests.
Add check for <sys/stat.h>.
Improve & generalize AIX version detection.
Consider /opt/man/man1 as a possible place to install man pages.
Be a little more robust about OS version changes when deciding
if the output of uname -a has really changed.
MANIFEST
MANIFEST.new
Added hints/mpeix.sh.
README
Tell users the Configure defaults are probably right.
Makefile.SH
Better detection of whether user has byacc.
Use $(MAKE) instead of make.
U/Loc_sed.U
Works again with d_portable='define'.
U/Myinit.U
Set d_portable=define as default.
U/d_byacc.U
Detect whether user has byacc even if d_portable=define.
U/d_csh.U
Works again with d_portable='define'.
U/d_group.U
Empty file to avoid useless metaconfig test.
U/d_passwd.U
Empty file to avoid useless metaconfig test.
U/dist.patch
This file contains two minor updates to dist3 PL50 that were used
to generage Configure.
U/i_sysstat.U
New test. See if sys/stat.h is available.
config.H
Updated.
config_h.SH
Updated to metaconfig patchlevel 50.
ext/NDBM_File/Makefile.PL
ext/ODBM_File/Makefile.PL
Add -lucb for SVR4 systems.
handy.h
Protect agains g++-2.6.3, which predefines bool. g++ can be
used to compile an extension, but not perl itself. Still, the
extension will #include "perl.h", which eventually gets
"handy.h", which #define's bool. If this happens to you, add
-DHAS_BOOL to your ccflags in your extension, or else ensure that
_G_config.h is #include'd before perl.h. (_G_config.h will define
_G_HAVE_BOOL, if indeed your version of g++ has bool.)
hints/aix.sh
Updated. Handles AIX 3.2.x and 4.1. Comments included!
hints/hpux_9.sh
Updated.
hints/irix_4.sh
Updated. Includes comments for IRIX 4.0.4
hints/linux.sh
Updated. Beginnings of ELF support added, but completely
untested.
hints/mpeix.sh
New hint file.
hints/solaris_2.sh
Useless ccflags="$ccflags" line removed.
hints/svr4.sh
Updated.
installperl
Doesn't use Config anymore (it already reads config.sh
directly. That's probably backwards, but, oh well.
Install perl.exp for AIX.
lib/ExtUtils/MakeMaker.pm
Upgraded from 4.01 to 4.03.
makedepend.SH
Use $MAKE instead of plain make.
Index: op.c
Remove overlapping strcpy().
perl.h
Add test for <sys/stat.h>.
Delete unused VOIDSIG stuff.
Delete unused typedef struct lstring Lstring;
perl_exp.SH
Add safexxxx calls.
pp_sys.c
Delete wayward break in HAS_ALARM section.
proto.h
Change true and false (!) in function prototypes to please
g++-2.6.3, which has true and false built in. (See notes for
handy.h.)
Index: unixish.h
Long-overdue housekeeping.
HAS_GROUP and HAS_PASSWD are always defined.
util.c
Yet another (char*) cast for bcmp.
vms/config.vms
Changed comments to match unixish.h.
writemain.SH
Now correctly handles nested static extensions. Recent
MakeMakers have moved where they get built.
x2p/a2p.h
More definitions that will doubtless cause trouble somewhere
else.
x2p/a2py.c
x2p/walk.c
Remove unprotected char *strchr();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch does the following things:
1. Fix various bonehead errors I introduced in patches a-g.
2. Incorporate MakeMaker changes to bring it up to version 4.01 (mostly).
3. Stick in things I forgot in patches a-g (e.g. AIX).
4. Some minor additional cleanup in x2p/ for even pickier compilers.
5. More hints updates (hpux and next).
6. Include newest dl_hpux.xs.
I didn't have time to
1. Fix the overlapping strcpy() in op.c
2. Restore h2xs to Larry's original design to process <>.
3. take out unnecessary "use Config" in installperl.
4. Add in vms patches.
I forgot to
[If I remembered what i forgot, I wouldn't have forgotten it. :]
I deliberately decided *not* to
1. Touch pod/*
2. deal with overloading
Specifically, here's what's included:
Configure
Regenerated to be sure it's up-to-date.
Makefile.SH
Build extension libraries right into lib/auto/whatever.
Don't set CCCDLFLAGS since we don't use it anyway.
Take care to avoid modifying lib/Config.pm without reason
Visit DynaLoader for `make clean'. (Previously only did
so for `make realclean'.)
@echo "Note that make realclean does not delete config.sh"
Include config.h dependency.
U/i_db.U
config_h.SH
config.H
Remove unwanted quotes around db_hashtype and db_prefixtype.
configpm
Allow specification of alternate name for lib/Config.pm,
so the makefile mv-if-diff trick saves needless re-making.
ext/DynaLoader/DynaLoader.pm
Updated warning messages and comments.
ext/DynaLoader/dl_hpux.xs
Updated to version 2.1. Now uses bootstrap files.
ext/util/make_ext
Explicitly use #!/bin/sh to start it up. This is useful
for testing make_ext.
Improve & simplify Nested::Extension::Processing.
More robust handling of `make clean'.
hints/hpux_9.sh
Support both the bundled and unbundled compilers.
hints/next_3_2.sh
Back to using -posix rather than POSIX_SOURCE. And that only
for ext/POSIX/POSIX.xs.
installperl
Special ranlib treatment for NeXT, which gets confused about
timestamps in libraries, even when you just copy the library.
Supply missing '$' in samepath() function.
lib/AutoSplit.pm
New parameters.
lib/ExtUtils/MakeMaker.pm
Upgraded from 3.8 to 4.01.
lib/ExtUtils/xsubpp
Documentation changed from man to pod.
lib/Getopt/Long.pm
Avoid typo warning.
Drop unused $optx.
lib/Text/Tabs.pm
Fix package name.
makedepend.SH
Explicitly start with $startsh.
Catch cpp that prints # <stdin> instead of line numbers.
perl.h
Fix bonehead mistake that ended up calling my_fmod even if
not needed.
perl_exp.SH
also add symbols from interp.sym
proto.h
Delete 2 redundant prototypes (newBINOP and newUNOP).
util.c
Add (char *) casts to unsigned char args to bcmp.
x2p/a2p.h
Rearrange order of <string?.h> and bcopy & bzero stuff.
Change a few function prototypes to void, to reflect actual
usage.
x2p/a2py.c
Change a few function types to void, to reflect actual usage.
x2p/handy.h
Make *alloc declarations match those in x2p/util.c.
x2p/util.c
Make *alloc declarations match those in x2p/handy.h.
x2p/walk.c
Add a (Size_t) cast for comparison of 1 to the result of strlen().
Thanks to all who's work is included here. Little of it is mine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
[editor's note: this commit combines approximate 4 months of furious
releases of Andy Dougherty and Larry Wall - see pod/perlhist.pod for
details. Andy notes that;
Alas neither my "Irwin AccuTrack" nor my DC 600A quarter-inch cartridge
backup tapes from that era seem to be readable anymore. I guess 13 years
exceeds the shelf life for that backup technology :-(.
]
|
|
|
|
| |
[editor's note: from history.perl.org. The sparc executables
originally included in the distribution are not in this commit.]
|
|
|
|
| |
See patch #20.
|
|
|
|
| |
See patch #4.
|
|
|
|
| |
So far, 4.0 is still a beta test version. For the last production
version, look in pub/perl.3.0/kits@44.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Well, I didn't quite fix 100 things--only 94. There are still
some other things to do, so don't think if I didn't fix your
favorite bug that your bug report is in the bit bucket. (It
may be, but don't think it. :-)
There are very few enhancements here. One is the new pipe()
function. There was just no way to emulate this using the
current operations, unless you happened to have socketpair()
on your system. Not even syscall() was useful in this respect.
Configure now determines whether volatile is supported, since
some compilers implement volatile but don't define __STDC__.
Some compilers can put structure members and global variables
into registers, so more variables had to be declared volatile
to avoid clobbering during longjmp().
Some systems have wanted routines stashed away in libBSD.a and
libPW.a. Configure can now find them.
A number of Configure tests create a file called "try" and then
execute it. Unfortunately, if there was a "try" elsewhere in PATH
it got that one instead. All references are now to "./try".
On Ultrix machines running the Mips cpu, some header files define
things differently for assembly language than for the C language.
To differentiate these, cc passes a -DLANGUAGE_C to the C preprocessor.
Unfortunately, Configure, makedepend and perl want to use the
preprocessor independently of cc. Configure now defaults to
adding -DLANGUAGE_C on machines containing that symbol in signal.h.
In Configure, some libraries were getting into the list more than
once, causing extra extraction overhead. The names are now
uniquified.
Someone has invented yet another output format for nm. Sigh.
Why do people assume that only people read the output of programs?
Due to commentary between a declaration and its semicolon, some
standard versions of stdio weren't being considered standard, and the
type of char used by stdio was being misidentified.
People trying to use bison instead of yacc ran into two problems.
One, lack of alloca(), is solved on some machines by finding libPW.a.
The other is that you have to supply a -y switch to bison to get
it to emulate yacc naming conventions. Configure now prompts
correctly for bison -y.
The make clean had a rm -f $suidperl where it just wanted
a rm -f suidperl
In the README, documented more weirdities on various machines,
including a pointer to the JMPCLOBBER symbol.
In the construct
OUTER: foreach (1,2,3) {
INNER: foreach (4,5) {
...
next OUTER;
}
}
the inner loop was not getting reset to the first element. This
was one of those bugs that arise because longjmp() doesn't
execute exit handlers as it unwinds the stack.
Perl reallocs many things as they grow, including the stack (its
stack, not the C program's stack). This means that routines
have to be careful to retreive the new stack when they call
subroutines that can do such a realloc. In cmd.c there was
such code but it was hidden inside an #ifdef JMPCLOBBER that
it should have been outside of, so you could get bad return
values of JMPCLOBBER wasn't defined. If you defined JMPCLOBBER
to work around this problem, you should consider undefining
it if your compiler guarantees that register variables get the value
they had either at setjmp() or longjmp() time. Perl runs
slightly faster without JMPCLOBBER defined.
The longjmp()s that perl does return known values, but as a
paranoid programming measure, it now checks that the values
are one of the expected ones.
If you say something like
while (s/ /_/) {}
the substitution almost always succeeds (on normal text). There
is an optimization that quickly discovers and bypasses operations
that are going to fail, but does nothing to help generally successful
ones such as the one above. So there's a heuristic that disables
the optimization if it isn't buying us anything. Unfortunately,
in the above case, it's in the conditional of a while loop,
which is duplicated by another optimization to be a
last unless s/ /_/;
at the end of the loop, to avoid unnecessary subroutine calls.
Because the conditional was duplicated (not the expression itself,
just the structure pointing to it), the heuristic mentioned above
tried to disable the first optimization twice, resulting in the
label stack getting corrupted.
Some subroutines which mix both return mechanisms like this:
sub foo {
local($foo);
return $foo if $whatever;
$foo;
}
This clobbered the return value of $foo when the end of the scope
of the local($foo) was reached. This was because such a routine
turns into something like this internally:
sub foo {
_SUB_: {
local($foo);
if ($whatever) {
$foo; last _SUB_;
}
$foo;
}
}
Because the outer _SUB_ block was manufactured by non-standard
means, it wasn't getting marked as an expression that could
return a value, ie a terminal expression. So the return value
wasn't getting properly saved off to the side before the local()
exited.
The internal label on subroutine blocks used to be SUB, but I
changed it to _SUB_ to avoid possible confusion. Evals now have
labels too, so they are labelled with _EVAL_. The reason evals
now have a label is that nested evals need separate longjmp
environments, or fatal errors end up getting a longjmp() botch.
So eval now uses the same label stack as loops and subroutines.
The eval routine used to always return undef on failure. In an
array context, however, this makes a non-null array, which when
assigned is TRUE, which is counter-intuitive. It now returns
a null array upon failure in an array context.
When a foreach operator works on a non-array, the compiler translates
foreach (1,2,3) {
into something like
@_GEN_0 = (1,2,3); foreach (@_GEN_0) {
Unfortunately, the line number was not correctly propagated to both
command structures, so huge line numbers could appear in error
messages and while debugging.
The x operator was stupidly written, just calling the internal
routine str_scat() multiple times, and not preextending the
string to the known new length. It now preextends the string
and calls a special routine to replicate the string quickly.
On long strings like '\0' x 1024, the operator is more than
10 times faster.
The split operator is supposed to split into @_ if called in
a scalar context. Unfortunately, it was also splitting into @_
in an array context that wasn't a real array, such as assignment
to a list:
($foo,$bar) = split;
This has now been fixed.
The split and substitute operators have a check to make sure
that it isn't looping endlessly. Unfortunate, they had a hardwired
limit of 10000 iterations. There are applications conceivable
where you could work on longer values than that, so they
now calculate a reasonable limit based on the length of the arguments.
Pack and unpack called atoi all the time on the template fields.
Since there are usually at most one or two digits of number,
this wasted a lot of time on machines with slow subroutine calls.
It now picks up the number itself.
There were several places that casts could blow up. In particular,
it appears that a sun3 can't cast a negative float to an unsigned
integer. Appropriate measure have been taken--hopefully this
won't blow someone else up.
A local($.) didn't work right because the actual value of the
current line number is derived from the last input filehandle.
This has been fixed by causing the last input filehandle to
be restored after the scope of a local($.) to what it was when
the local was executed.
Assignment is supposed to return the final value of the left
hand side. In the case of array assignment (in an array context),
it was actually returning the right hand side. This showed up in
things that referred to the actual elements of an array value,
such as grep(s/foo/bar/, @abc = @xyz), which modified @xyz rather
than @abc.
The syscall() function was returning a garbage value (the index of
the top of the stack, actually) rather than value of system call.
There was some discussion about how to open files with arbitrary
characters in the filename. In particular, the open function strips
trailing spaces. There was no way to suppress this. Now you can
put an explicit null at the end of the string
open(FOO,"$filename\0")
and this will hide any spaces on the end of the filename. The Unix
open() function will of course treat the null as the trailing delimiter.
As a hangover from when Perl was not useful on binary files, there
was a check to make sure that the file being opened was a normal
file or character special file or socket. Now that Perl can
handle binary data, this is useless, and has been removed.
Some versions of utime.h have microseconds specified as acusec and
modusec. Perl was referring to these in order to zero out the
fields. But not everyone has these. Perl now just bzero's out
the structure and refers only to fields that everyone has.
You used to have to say
($foo) = unpack("L",$bar);
Now you can say
$foo = unpack("L",$bar);
and it will just unpack the first thing specified by the template;
The subscripts for slices were ignoring the value of $[. (This
never made any difference for people who leave $[ set to 0.)
It seems reasonable that grep in a scalar context should return the
number of items matched so that it can be used in, say, a conditional.
Formerly it returned an undef.
Another problem with grep was that if you said something like
grep(/$1/, @foo)
then each iteration of grep was executing in the context of the
previous iteration's regexp, so $1 might be wiped out after the
first iteration. All iterations of grep now operate in the regexp
context of the grep operator itself.
The eg/README file now explicity states that the examples in
the eg directory are to be considered in the Public Domain, and
thus do not have the same restrictions as the Perl source.
In a previous patch the shift operator was made to shift @_ inside
of subroutines. This made some of the getopt code wrong.
The sample rename command (and the new relink command) can either
take a list of filenames from stdin, or if stdin is a terminal,
default to a * in the current directory.
A sample travesty program is now included. If you want to know what
it does, feed it about 10 Usenet articles, or the perl manual, and
see what it prints out.
If a return operator was embedded in an expression that supplied
a scalar context, but the subroutine containing the return was
called in an array context, an array was not returned correctly.
Now it is.
The !~ operator used to ignore the negation in an array context and
do the same thing as =~. It now always returns scalar even in
array context, so if you say
($foo) = ($bar !~ /(pat)/)
$foo will get a value of either 1 or ''.
Opens on pipes were defined to return the child's pid in the parent,
and FALSE in the child. Unfortunately, what the child actually
got was an undef, making it indistinguishable from a failure to
open the pipe successfully. The child now gets a 0, and undef
means a failure to fork a child.
Formerly, @array in a scalar context returned the last value of
the array, by analogy to the comma operator. This makes for
counter-intuitive results when you say
if (@array)
if 0 or '' is a legal array value. @array now returns the length
of the array (not the subscript of the last element, which is @#array).
To get the last element of the array you must either pop(@array) or
refer to $array[$#array].
The chdir operator with no argument was supposed to change directory
to your home directory, but it core dumped instead.
The wait operator was ignoring SIGINT and SIGQUIT, by analogy to
the system and pipe operations. But wait is a lower level operation,
and it gives you more freedom if those signals aren't automatically
ignored. If you want them ignored, you now have to explicitly
ignore them by setting the proper %SIG entry.
Different versions of /bin/mkdir and /bin/rmdir return different
messages upon failure. Perl now knows about more of them.
-l FILEHANDLE now disallowed
The use of the -l file test makes no sense on a filehandle, since
you can't open symbolic links. So -l FILEHANDLE now is a fatal
error. This also means you can't say -l _, which is also a
useless operation.
The heavy wizardry involved in saying $#foo -= 2 didn't work quite
right.
In formats, you can say ... in a ^ field to have ... output when
there is more for that field that is getting truncated. The
next field was getting shifted over by three characters, however.
The perl library routines abbrev.pl, complete.pl, getopt.pl and
getopts.pl were assuming $[ == 0. The Getopt routine wasn't
returning an error on unrecognized switches. The look.pl routine
had never been tested, and didn't work at all. Now it does.
There were several difficulties in termcap.pl. Togoto was documented
backwards for $rows and $cols. The Tgetent routine could loop
endlessly if there was a tc entry. And it didn't interpret the ^x
form of specifying control characters right because of base
treachery (031 instead of 31). There were also problems with
using @_ as a temporary array.
In perl.h, the unused VREG symbol was deleted because it conflicted
with somebody's header files.
If perl detects a #! line that specifies some other interpreter
than perl, it will now start up that interpreter for you. This
let's you specify a SHELL of perl to some programs.
The $/ variable specifies the input record separator. It was
possible to set it to a non-text character and read in an entire
text file as one input, but it wasn't possible to do that
for a binary file. Now you can undef $/, and there will be
no record separator, so you are guaranteed to get the entire
file with one <>.
The example in the manual of an open() inside a ?: had the
branches of the ?: backwards. I documented the fact that
grep can modify arrays in place (with caveats about modifying
literal values). I also put in how to deal with filenames
that might have arbitrary characters, and mentioned about the
problem of unflushed buffers on opens that cause forks.
It's now documented how to force top of page before the next write.
Formerly, $0 was guaranteed to contain the name of the perl script
only till the first regular expression was executed. It now
keeps that value permanently. $0 can no longer be used as a synonym
for $&.
The regular expression evaluator didn't handle character classes
with the 8th bit set. None of /[\200-\377]/, \d, \w or \s worked
right--the character class because signed characters were not
interpreted right, and the builtins because the isdigit(), isalpha()
and isspace() macros are only defined if isascii() is true.
Patterns of the form /\bfoo/i didn't work right because the \b
wants to compare the preceding character with the next one
to look for word boundaries, and the i modifier forced a move
of the string to a place where it couldn't do that without
examining malloc garbage.
The type glob syntax *foo produces the symbol table entry for
all the various foo variables. Perl has to do certain bookkeeping
when moving such values around. The symbol table entry was not
adequately differentiated from normal data to prevent occasion
confusion, however.
On MICROPORTs, the CRIPPLED_CC option made the stab_array()
and stab_hash() macros into function calls, but neglected to
supply the function definitions.
The string length allocated to turn a number into a string
internally turned out to be too short on a Sun 4.
Several constructs were not recognized properly inside double-quoted
strings:
underline in name
required @foo to be defined rather than %foo
threw off bracket matcher
not identified with $1
The base.term test gives misleading results if /dev/null happens
not to be a character special file. So it now checks for that.
The op.stat could exceed the shell's maximum argument length
when evaluating </usr/bin/*>. It now chdirs to /usr/bin and does <*>.
return grandfathered to never be function call
The construct
return (1,2,3);
did not do what was expected, since return was swallowing the
parens in order to consider itself a function. The solution,
since return never wants any trailing expression such as
return (1,2,3) + 2;
is to simply make return an exception to the paren-makes-a-function
rule, and treat it the way it always was, so that it doesn't
strip the parens.
If perldb.pl doesn't exist, there was no reasonable error message
given when you invoke perl -d. It now does a do-or-die internally.
null hereis core dumped
The hereis construct dumped core on a null string:
print <<'FOO';
FOO
Certain pattern matches weren't working on patterns with embedded
nulls because the fbminstr() routine, when it decided it couldn't
do a fancy search, degenerated to using instr(), rather than
ninstr(), which is better about embedded nulls.
The s2p sed-to-perl translator didn't translate \< and \> to \b.
Now it does.
The a2p awk-to-perl translator didn't put a $ on ExitValue when
translating the awk exit construct. It also didn't allow
logical expressions inside normal expressions:
i = ($1 == 2 || $2 ~ /bar/)
a2p.h had definition of a bzero() macro inside an ifdef of BCOPY.
The two don't always go together, and since Configure is already
looking for both separately...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The select operator didn't interpret bit vectors correctly on
non-little-endian machines such as Suns. Rather than bollux up
the rather straightforward interpretation of bit vectors, I made
the select operator rearrange the bytes as necessary. So it
is still true that vec($foo,0,1) refers to the first bit of the
first byte of string $foo, even on big-endian machines.
The send() socket operator didn't correctly allow you to specify
a TO argument even though this was documented. (The TO argument
is desirable for sending datagram packets.)
In ANSI standard C, they decided that longjmp() didn't have to
guarantee anything about registers. Several people sent me
some patches that declared certain variables as volatile
rather than register for such compilers. Rather than go that
route, however, I wanted to keep some of these variables in
registers, so I just made sure that the important ones are
restored from non-register locations after longjmp(). I think
"volatile" encourages people to punt too easily.
The foreach construct still had some difficulty with two nested
foreach loops referring to the same array, and to a single
foreach that called its enclosing subroutine recursively.
I think I've got this straight now. You wouldn't think
a little iterator would give some much trouble.
A pattern like /b*/ wouldn't match a null string before the
first character. And certain patterns didn't match correctly
at end of string. The upshot was that
$_ = 'aaa';
s/b*/x/g;
produced 'axaxa' rather than the expected 'xaxaxax'. This has
been fixed. Note however that the split operator will still
not match a null string before the first character, so that
split(/b*/,'aaa') produces ('a','a','a'), not ('','a','a','a','').
The saga continues, and hopefully concludes. I realized I was
fighting a losing battle trying to grep out all the includes
from <time.h> and <sys/time.h>. There are just too many funny
includes, symbols, links and such on too many kinds of machines.
Configure now compiles a test program several different ways to
figure out which way to define the various symbols.
Configure now lets you pick between yacc or bison for your
compiler compiler. If you pick bison, be sure you have alloca
somewhere on your system.
The ANSI function strerror() is now supported where available.
In addition, errno may now be a macro with an lvalue, so errno
isn't declared extern if it's defined as a macro in <errno.h>.
The memcpy() and memset() are now allowed to return void.
There is now support for sys/ndir.h for systems such as Xenix.
It's now also easier to cross compile on a 386 for a 286.
DG/UX has functions setpgrp2() and getpgrp2() to keep the BSD
sematics separate from the SystemV semantics. So now we have
yet another wonderful non-standard way of doing things. There
is also a utime.h file which lets them put time stamps on
files to microsecond resolutions, though perl doesn't take
advantage of this.
The list of optional libraries to be searched for now includes
-lnet_s, -lnsl_s, -lsocket and -lx. We can now find .h files
down in /usr/include/lan.
Microport systems have problems. I've added some CRIPPLED_CC
support for them, but you still need to read the README.uport
file for some extra rigamarole.
In the README file, there are now hints for what to do if your
compile doesn't work right, and specific hints for machines
known to require certain switches.
The grep operator with a simple first argument, such as grep(1,@array),
didn't work right. That one seems silly, but grep($_,@array)
didn't work either. Now it does.
A /$pat/ followed by a // wrongly freed the runtime pattern twice,
causing ill-will on the part of all concerned.
The ord() function now always returns positive even on signed-char
machines. This seems to be less surprising to people. If you
still want a signed value on such machines, you can always use
unpack.
The lib/complete.pl file misused the @_ array. The array has
been renamed.
In the man page, I clarified that s`pat`repl` does command
substitution on the replacement string, that $timeleft from
select() is likely not implemented in many places, and that
the qualified form package'filehandle works as well as
$package'variable. It is also explicitly stated that
certain identifiers (non-alpha, STDIN, etc.) are always
resolved in package main's symbol table.
Perl didn't grok setuid scripts that had a space on the
first line between the shebang and the interpreter name.
In stab.c, sighandler() may now return either void or int,
depending on the value of VOIDSIG.
You couldn't debug a script that used -p or -n because they would
try to slap an extra } on the end of the perldb.pl file. This
upset the parser.
The interpration of strings like " ''$foo'' " caused problems
because the tokener didn't realize that neither single quote
following the variable was indicating a package qualifier.
(It knew the last one wasn't, but was confused about the first one.)
Merely changing an if to a while fixed it. Well, two if's.
Another place we don't want ' to be interpreted as a package
qualifier is if it's the delimiter for an m'pat' or s'pat'repl'.
These have been grandfathered to look like a match and a substitution.
There were a couple of problems in a2p. First, the ops array
was dimensioned too big on 286's. Second, there was a problem
involving passing a union where I should've passed a member of
the union, which meant user-defined functions didn't work right
on some machines.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few of the new features: (18 Oct)
* Perl can now handle binary data correctly and has functions to pack and unpack binary structures into arrays or lists. You can now do arbitrary ioctl functions.
* You can now pass things to subroutines by reference.
* Debugger enhancements.
* An array or associative array may now appear in a local() list.
* Array values may now be interpolated into strings.
* Subroutine names are now distinguished by prefixing with &. You can call subroutines without using do, and without passing any argument list at all.
* You can use the new -u switch to cause perl to dump core so that you can run undump and produce a binary executable image. Alternately you can use the "dump" operator after initializing any variables and such.
* You can now chop lists.
* Perl now uses /bin/csh to do filename globbing, if available. This means that filenames with spaces or other strangenesses work right.
* New functions: mkdir and rmdir, getppid, getpgrp and setpgrp, getpriority and setpriority, chroot, ioctl and fcntl, flock, readlink, lstat, rindex, pack and unpack, read, warn, dbmopen and dbmclose, dump, reverse, defined, undef.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some of the enhancements from Perl1 included:
* New regexp routines derived from Henry Spencer's.
o Support for /(foo|bar)/.
o Support for /(foo)*/ and /(foo)+/.
o \s for whitespace, \S for non-, \d for digit, \D nondigit
* Local variables in blocks, subroutines and evals.
* Recursive subroutine calls are now supported.
* Array values may now be interpolated into lists: unlink 'foo', 'bar', @trashcan, 'tmp';
* File globbing.
* Use of <> in array contexts returns the whole file or glob list.
* New iterator for normal arrays, foreach, that allows both read and write.
* Ability to open pipe to a forked off script for secure pipes in setuid scripts.
* File inclusion via do 'foo.pl';
* More file tests, including -t to see if, for instance, stdin is a terminal. File tests now behave in a more correct manner. You can do file tests on filehandles as well as filenames. The special filetests -T and -B test a file to see if it's text or binary.
* An eof can now be used on each file of the <> input for such purposes as resetting the line numbers or appending to each file of an inplace edit.
* Assignments can now function as lvalues, so you can say things like ($HOST = $host) =~ tr/a-z/A-Z/; ($obj = $src) =~ s/\.c$/.o/;
* You can now do certain file operations with a variable which holds the name of a filehandle, e.g. open(++$incl,$includefilename); $foo = <$incl>;
* Warnings are now available (with -w) on use of uninitialized variables and on identifiers that are mentioned only once, and on reference to various undefined things.
* There is now a wait operator.
* There is now a sort operator.
* The manual is now not lying when it says that perl is generally faster than sed. I hope.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
right on input
Awk ignores leading whitespace on split. Perl by default does not.
The a2p translator couldn't handle this. The fix is partly to a2p
and partly to perl. Perl now has a way to specify to split to
ignore leading white space as awk does. A2p now takes advantage of
that.
I also threw in an optimization that let's runtime patterns
compile just once if they are known to be constant, so that
split(' ') doesn't compile the pattern every time.
|
|
|
|
|
|
| |
The a2p program used index() and bcopy(), both of do not exist
everywhere. Since Configure was already figuring out about those
functions, it is fairly trivial to get a2p to make use of the info.
|
|
[ Perl is kind of designed to make awk and sed semi-obsolete. This posting
will include the first 10 patches after the main source. The following
description is lifted from Larry's manpage. --r$ ]
Perl is a interpreted language optimized for scanning arbitrary text
files, extracting information from those text files, and printing
reports based on that information. It's also a good language for many
system management tasks. The language is intended to be practical
(easy to use, efficient, complete) rather than beautiful (tiny,
elegant, minimal). It combines (in the author's opinion, anyway) some
of the best features of C, sed, awk, and sh, so people familiar with
those languages should have little difficulty with it. (Language
historians will also note some vestiges of csh, Pascal, and even
BASIC-PLUS.) Expression syntax corresponds quite closely to C
expression syntax. If you have a problem that would ordinarily use sed
or awk or sh, but it exceeds their capabilities or must run a little
faster, and you don't want to write the silly thing in C, then perl may
be for you. There are also translators to turn your sed and awk
scripts into perl scripts.
|