Perl 5 Porters [Fri, 4 Apr 1997 00:00:00 +0000]
[inseparable changes from match from perl-5.003_97a to perl-5.003_97b]
BUILD PROCESS
Subject: Don't suggest 'Configure -der' in config.sh comments
From: Chip Salzenberg <chip@perl.com>
Files: Configure
CORE LANGUAGE CHANGES
Subject: Make assignment to C<$)> call setgroups()
From: Chip Salzenberg <chip@perl.com>
Files: Configure config_H config_h.SH mg.c plan9/config.plan9 pod/perldelta.pod vms/config.vms win32/config.H win32/config.w32
Subject: Grandfather "$$<digit>" in strings
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldiag.pod toke.c
Subject: Disconnect warn and die hooks _after_ object destruction
From: Chip Salzenberg <chip@perl.com>
Files: perl.c
Subject: Forbid recursive substitutions
From: Chip Salzenberg <chip@perl.com>
Files: cop.h pod/perldelta.pod pod/perldiag.pod pp_ctl.c pp_hot.c
DOCUMENTATION
Subject: Document required module versions
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
LIBRARY AND EXTENSIONS
Subject: Updates to Math::Complex and Math::Trig
From: Jarkko Hietaniemi <Jarkko.Hietaniemi@cc.hut.fi>
Files: lib/Math/Complex.pm lib/Math/Trig.pm pod/perldelta.pod t/lib/complex.t
OTHER CORE CHANGES
Subject: length($') isn't
Date: Mon, 07 Apr 1997 03:30:44 -0400
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: mg.c
Msg-ID:
199704070730.DAA07310@aatma.engin.umich.edu
(applied based on p5p patch as commit
645a7cbb1f14932f058231f0a4f808b88ebe8703)
Subject: Fix obscure regex bug related to leading C<.*>
From: Chip Salzenberg <chip@perl.com>
Files: toke.c
Subject: Add warning for glob failure
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod pod/perldiag.pod pp_hot.c
Subject: Fix C<perl -V> in presence of local patches
From: Chip Salzenberg <chip@perl.com>
Files: perl.c
Chip Salzenberg [Tue, 1 Apr 1997 20:54:23 +0000]
Make L<perltrap> refer to L<perldelta>
Doug MacEachern [Sat, 5 Apr 1997 15:24:43 +0000]
Document sample function perl_eval()
Tim, your comments have changed perl_eval() from a quick & dirty
example to something I'd like to see part of the Perl API, maybe
called perl_eval_pv though.
p5p-msgid:
199704051524.KAA06090@postman.osf.org
Gisle Aas [Sun, 6 Apr 1997 17:32:04 +0000]
Patch for 'perldoc -f'
private-msgid:
199704061732.TAA00353@bergen.sn.no
Nick Ing-Simmons [Sat, 5 Apr 1997 15:04:52 +0000]
Fix FindBin under Win32, and document success
private-msgid:
199704051504.QAA09507@ni-s.u-net.com
Signed-off-by: Nick Ing-Simmons <nik@tiuk.ti.com>
Chip Salzenberg [Fri, 4 Apr 1997 00:00:00 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Fri, 4 Apr 1997 00:00:00 +0000]
CGI->redirect patch
(this is the same change as commit
a3ec56f7f3704c7c711a382a2e558eb572cef265, but as applied)
Doug MacEachern [Sat, 5 Apr 1997 15:27:52 +0000]
CGI->redirect patch
Mike Stok <mike@stok.co.uk> wrote:
> I am having an odd problem with a redirect using apacha & mod perl.
>
> #!/usr/local/register/bin/perl -w
>
> use CGI::Switch;
>
> my $q = new CGI::Switch;
>
> $q->print ($q->redirect (-uri => 'http://vrooom.nis.newscorp.com:8008/',
> -nph => 1));
>
> as a "regular" cgi script works OK, but under mod_perl gets a "document
> contains no data" error out of the browser. When under mod_perl I have
> the code in .../register/code/boing ans the httpd.conf file says
[...]
> Is there some simple mistake I'm making? I'm using perl 5.003_95 and
> mod_perl 0.95_02 with apache 1.2b7 ... changing the versions fills me with
> terror as I'm < 24 hours away from a product roll out and the code works
> OK as CGI.
nuts, I should have done something about this a while ago. See, CGI
reads your scripts output, scanning headers and such. mod_perl does
not. This patch should makes things behave as expected.
p5p-msgid:
199704041732.MAA05896@postman.osf.org
private-msgid:
199704051527.KAA11280@postman.osf.org
Gurusamy Sarathy [Sun, 6 Apr 1997 04:31:11 +0000]
perlwin-97a_4: win32 environ fix
private-msgid:
199704060431.XAA23400@aatma.engin.umich.edu
Chip Salzenberg [Fri, 4 Apr 1997 00:00:00 +0000]
Use SSize_t for values of PerlIO_{read,write}
Chip Salzenberg [Wed, 2 Apr 1997 22:03:25 +0000]
[differences between cumulative patch application and perl-5.003_97a]
Perl 5 Porters [Wed, 2 Apr 1997 22:03:25 +0000]
[inseparable changes from match from perl-5.003_97 to perl-5.003_97a]
CORE PORTABILITY
Subject: Add support for Cygwin32 (GNU-Win32) -- very low impact
Date: Thu, 3 Apr 1997 09:21:17 +0100
From: John Cerney <j-cerney1@ti.com>
Files: MANIFEST README.cygwin32 cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc cygwin32/perlld ext/DynaLoader/dl_cygwin32.xs hints/cygwin32.sh perl.h pp_sys.c
Msg-ID:
199704030821.JAA08762@pluto.tiuk.ti.com
(applied based on p5p patch as commit
2a079e0090406b1b2e50643540f149206c9e9de8)
Subject: Win32 update (six patches)
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: MANIFEST README.win32 dosish.h t/io/fs.t t/io/tell.t t/lib/io_tell.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/taint.t win32/Makefile win32/VC-2.0/pod.mak win32/makedef.pl win32/pod.mak win32/win32.c win32/win32.h win32/win32io.c win32/win32io.h win32/win32iop.h
LIBRARY AND EXTENSIONS
Subject: Math::Trig, based on (and from an author of) Math::Complex
From: Chip Salzenberg <chip@perl.com>
Files: MANIFEST lib/Math/Complex.pm lib/Math/Trig.pm pod/perldelta.pod t/lib/complex.t t/lib/trig.t
OTHER CORE CHANGES
Subject: Fix const-sub-related panic on C<sub foo { my $x; 0 } foo>
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Fix warning for useless C<1..2>
From: Chip Salzenberg <chip@perl.com>
Files: op.c
Subject: Minor cleanups
Date: Thu, 03 Apr 1997 19:56:57 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: mg.c mg.h perl.c
Msg-ID:
199704040056.TAA22253@aatma.engin.umich.edu
(applied based on p5p patch as commit
609794497049cf42bdd2396c04cbb7728e10374d)
Subject: Eliminate unreliable warning with %SIG and strict refs
From: Chip Salzenberg <chip@perl.com>
Files: mg.c
Subject: Fix impossible test in vivification
From: Chip Salzenberg <chip@perl.com>
Files: mg.c
John Cerney [Thu, 3 Apr 1997 08:21:17 +0000]
Patch to Build Dynamic-Lib (DLL) version of perl using gnuwin32 b17.1
I have successfully built a dynamic-lib (dll) version of perl version 5.003_94
using the gnuwin32 tools on windows 95 and windows NT 3.51. This port builds
all extension libs for perl as DLLs.
A patch is attached to this message.
Detailed Instructions:
The following assumes you have the gnuwin32 (version b17.1) package installed
and configured on your system. See http://www.cygnus.com/misc/gnu-win32/ for
details on the gnuwin32 package.
1) Obtain perl5.003_94 (from www.perl.com or CPAN) and extract
to a directory on your system.
2) cd to the path where perl5.003_94 is installed. e.g, if you
installed to /perl5.003_94, then cd to /perl5.003_94.
3) Apply this patch:
patch -p1 < dllpatch
Note: If you have problems with the patch that comes with
the gnuwin32 package, (I have had problems getting it to apply
multiple patches in a single file) try the patch located
at http://www.simtel.net/pub/simtelnet/win95/prog/gpatch2b.zip.
Also, the files pp_sys.c and perl.h that the patch modifies must
be in unix format. If your extraction utility (like winzip) converts
to dos format, change the format of these files back before applying
the patch.
5) Modify the ld2 script
Change the PERLPATH variable to the location you extracted perl.
for example, if you extracted perl to /perl5.003_94, change so
the line looks like:
PERLPATH=/perl5.003_94
4) Copy the two scripts ld2, and gcc2 to a directory in your PATH
environment variable. For example, copy to /bin, assuming /bin is
in your PATH. (These two scripts ld2 and gcc2 are 'wrapper' scripts
that encapsulate the multiple-pass dll building steps used by gnuwin32
ld/gcc.)
5) Run the perl Configuration script as stated in the perl README file;
e.g.
sh Configure
select gnuwin32 at this prompt:
First time through, eh? I have some defaults handy for the following
systems:
.
.
.
Which of these apply, if any?
The defaults should be OK for everything else, except for the specific
pathnames for
the gnuwin32 libs, include files, installation dirs, etc on your system.
Note:
On windows 95, the configuration script only stops every other time
for responses from the command line. In this case you can manually edit
the gnuwin32.sh hint file for your paths, copy hints/gnuwin32.sh to
config.sh,
and run Configure non-interactively using sh Configure -d.
6) Do a make, as stated in the perl README file
7) Do a make test. Some test will fail, but you should get around a
83% OK result. (Most failures seem to be due to unix'ism that
don't apply for win32.)
8) Do a make install. This will fail about 1/2 of the way thru. It appears
that perl can't find itself when it forks because it cd's to another
directory during the install process. You get around this by invoking
the install script using a full pathname for perl. For example, if
perl is extracted to perl5.003_94, do a
'/perl5.003_94/perl installperl'. This should complete the install
process.
p5p-msgid:
199704030821.JAA08762@pluto.tiuk.ti.com
Gurusamy Sarathy [Fri, 4 Apr 1997 00:56:57 +0000]
Minor cleanups
This patch straightens out some code that used to be crooked,
avoids redundant SV allocs/frees, and makes a macro more
consistent. Nothing critical here.
The changes in ENV_FETCH code are untested, so vox VMS populi
invited.
p5p-msgid:
199704040056.TAA22253@aatma.engin.umich.edu
Nathan Torkington [Wed, 2 Apr 1997 20:34:15 +0000]
Pod style
Andy Dougherty [Sat, 29 Mar 1997 23:44:30 +0000]
Update INSTALL
Chip Salzenberg [Mon, 24 Feb 1997 15:24:03 +0000]
Make *dbm tests work with Win32
Chip Salzenberg [Tue, 18 Oct 1994 16:35:28 +0000]
Don't use $4 when it might be undef
Chip Salzenberg [Thu, 5 Sep 1996 21:14:21 +0000]
Limit @ISA to actual DBM in AnyDBM
Chip Salzenberg [Wed, 2 Apr 1997 22:03:25 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Wed, 2 Apr 1997 22:03:25 +0000]
CPAN & TRL-Gnu
(this is the same change as commit
8fe3829d7944eb627ee5360e65ca8f7afe76886d, but as applied)
Achim Bohnet [Fri, 4 Apr 1997 08:09:03 +0000]
CPAN & TRL-Gnu
p5p-msgid:
9704040809.AA26143@o09.rosat.mpe-garching.mpg.de
Chip Salzenberg [Fri, 29 Nov 1996 16:14:12 +0000]
Update AutoLoader and docs; support C<use AutoLoader 'AUTOLOAD'>
Signed-off-by: Chip Salzenberg <chip@perl.com>
Andy Dougherty [Fri, 4 Apr 1997 18:02:23 +0000]
Re: shared lib compilation problem with miniperl5.003_97
On Fri, 4 Apr 1997, Chip Salzenberg wrote:
> According to Olaf Seibert:
> > In this report I am using the shared perl library, libperl.so.3.97.
> >
> > When building miniperl, it is linked with libperl.so.3.97 instead of
> > -lperl. This slightly confuses NetBSD's shared loader. When miniperl
> > is run from a directory where libperl.so.3.97 is not present, it
> > will fail to start.
> >
> > Fix: I think this should do it: Change in the Makefile
> > LLIBPERL= $(LIBPERL)
> > to
> > LLIBPERL= -lperl
>
> Porters? I'm a bit out of my depth with this, since I'm not sure
> of what's portable with dynamic loading and what isn't.
My paranoid fear is the following: Suppose you already have
perl5.003_97 installed somewhere and it has a corresponding
libperl.so.3.97 installed in the appropriate directory. Now suppose
you're rebuiding perl5.003_97 (e.g. to test a patch or whatever) and
your new ./perl is linked with the moral equivalent of
LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH
cc -o perl -R $archlib -lperl [...]
Now, when you're down in the t/ library running your tests, and miniperl
gets called, which libperl.so.3.97 do you get -- the new one found via
LD_LIBRARY_PATH or the old one found via the -R directive?
(This is very similar to the shared libperl/debugging problem discussed in
the INSTALL file.)
I don't think any solution is bulletproof. I suspect that the suggested
change probably won't make matters any worse, but I'm wary at this stage
(gee, that's a suprise from me:-)
Instead, I think the following should probably be safe:
p5p-msgid: Pine.SOL.3.95q.
970404124326.647K-100000@fractal.lafayette.edu
private-msgid: Pine.SOL.3.95q.
970404124326.647K-100000@fractal.lafayette.ed
Roderick Schertler [Thu, 3 Apr 1997 23:23:43 +0000]
runlevel is I32, not int
p5p-msgid: 2848.
860109823@eeyore.ibcinc.com
Norbert Pueschel [Thu, 3 Apr 1997 14:16:51 +0000]
AmigaOS update
private-msgid:
77724828@Armageddon.meb.uni-bonn.de
Chip Salzenberg [Wed, 2 Apr 1997 22:03:18 +0000]
Fix AUTOLOAD, or kill me
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
[differences between cumulative patch application and perl-5.003_97]
Perl 5 Porters [Tue, 1 Apr 1997 00:01:35 +0000]
[inseparable changes from match from perl-5.003_96 to perl-5.003_97]
CORE LANGUAGE CHANGES
Subject: Reenable but deprecate inherited AUTOLOAD for plain funcs
From: Chip Salzenberg <chip@perl.com>
Files: ext/DynaLoader/DynaLoader.pm gv.c lib/Text/ParseWords.pm pod/perldelta.pod pod/perldiag.pod t/op/method.t
CORE PORTABILITY
Subject: Win32 update
Date: Wed, 02 Apr 1997 01:08:09 -0500
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: win32/VC-2.0/modules.mak win32/VC-2.0/perl.mak win32/VC- 2.0/perldll.mak win32/perl.mak
Msg-ID:
199704020608.BAA29538@aatma.engin.umich.edu
(applied based on p5p patch as commit
8d0ff1118aaee510902477e928a660803304346c)
DOCUMENTATION
Subject: Clean up some poddities, and make C<make html> work again
From: Chip Salzenberg <chip@perl.com>
Files: pod/Makefile pod/perldelta.pod pod/perldiag.pod pod/perlfaq8.pod pod/perlfunc.pod pod/perlop.pod pod/perltrap.pod
Subject: Eliminate pod warnings in libs
From: Chip Salzenberg <chip@perl.com>
Files: lib/CGI.pm lib/ExtUtils/Command.pm
LIBRARY AND EXTENSIONS
Subject: Eliminate warning in CGI.pm
From: Chip Salzenberg <chip@perl.com>
Files: lib/CGI.pm
OTHER CORE CHANGES
Subject: Introduce and use gv_fetchmethod_autoload()
From: Chip Salzenberg <chip@perl.com>
Files: global.sym gv.c pod/perlguts.pod proto.h universal.c
Gurusamy Sarathy [Wed, 2 Apr 1997 06:08:09 +0000]
Win32 update
The win32 make fails because it cannot find "camel.ico".
Even if I add a camel.ico stolen from elsewhere, the build
fails due to lack of "resource.h" referenced in "perl.rc"
(when using VC++ 2.0).
The following patch simply disables binding the icon resource
into perl.exe. (One can always associate a bare *.ico file
to any executable, so it's not like it *has* to be bound
into perl.exe when building it.)
p5p-msgid:
199704020608.BAA29538@aatma.engin.umich.edu
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
Fix MM doc's use of "SUPER::"
(this is the same change as commit
acce7d4e04d89207299003c3e80c69d50bc82069, but as applied)
Jim Avera [Tue, 1 Apr 1997 22:35:26 +0000]
Fix MM doc's use of "SUPER::"
Chip Salzenberg <chip@atlantic.net> wrote:
] According to Jim Avera:
] > Was there any resolution of the problem using SUPER:: with MakeMaker?
]
] Yes. Don't say "sub MY::foo {}"; say "package MY; sub foo {}".
] The current package is important for proper operation of SUPER::.
Thanks for your help. I appreciate it.
Here is a patch to fix the documentation (in 5.003_95).
p5p-msgid:
9704012235.AA07841@membrane.hal.com
Roderick Schertler [Wed, 2 Apr 1997 04:41:55 +0000]
Improve heuristics for pod2man titles
Subject: Re: Strange headers from perldoc
On Mon, 31 Mar 1997 16:02:59 +0100, "M.J.T. Guy" <mjtg@cus.cam.ac.uk> said:
>
> When I go "perldoc CPAN" (in perl5.003_94 as it happens), the header
> lines come out as
>
> ::home::mjtg::pUser Contr::home::mjtg::perl5.003_94::lib::CPAN(3)
Here's a fix for that. It's just more heuristics, so it isn't perfect.
In a related vein, this still leaves
Getopt::Long(3pUser Contributed Perl DocumentatiGetopt::Long(3pm)
in the page header on my system. "User Contributed Perl Documentation"
is just too long. Would anybody mind replacing this with something
shorter? Say
Getopt::Long(3pm) User Perl Docs Getopt::Long(3pm)
or
Getopt::Long(3pm) Wankel Rotary Engine Getopt::Long(3pm)
or even
Getopt::Long(3pm) Getopt::Long(3pm)
I'm partial the last of these, myself, but I'd be happy with anything
less than about 20 characters. Patch happily supplied if nobody
objects.
p5p-msgid: pzn2ri9gto.fsf@eeyore.ibcinc.com
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
Document eval vs. sub in Benchmark
(this is the same change as commit
446534a1e286d6fde0fd79424865d3cf1291546b, but as applied)
Hugo van der Sanden [Tue, 1 Apr 1997 22:31:55 +0000]
Document eval vs. sub in Benchmark
Subject: Re: Patch for Benchmark.pm
In <
9704011547.AA29906@toad.ig.co.uk>, Tim Bunce writes:
:Simple: calling functions in perl is expensive.
Yeah, I simply hadn't expected it to be *that* expensive.
:> - ? "sub { package $pack; my(\$_i)=$n; while (\$_i--){&\$c;} }"
:> + ? "sub { package $pack; my(\$_i)=$n; while (\$_i--){&\$c();} }"
:It's cheaper to _not_ add () so I'd recommend leaving it off.
I considered that, but felt it was more correct not to pass through the
parameters that were received. My new patch ducks it, by shifting @_
out before it gets there.
I also looked at having two caches for empty string/empty sub timings,
but was unable to get satisfactory results. I'll come back to that one,
but I don't think it is urgent for 5.004.
This patch is for the Benchmark.pm in _96: it repeats stuff from my
previous patch, but avoids stuff that was obsoleted by other changes
in _96.
p5p-msgid:
199704012231.XAA00225@crypt.compulink.co.uk
Tom Phoenix [Tue, 1 Apr 1997 05:10:14 +0000]
Tweaks to constant.pm
I've made a couple of (trivial) changes, in this compared to what was
distributed in _96. Patch available separately. Cape does not actually
enable wearer to fly.
Robin Barker [Tue, 1 Apr 1997 11:11:43 +0000]
Eliminate warnings in File::Basename
./perl -w t/lib/basename.t
gives some warnings.
p5p-msgid: 11173.
9704011111@tempest.cise.npl.co.uk
Jens T. Berger Thielemann [Tue, 1 Apr 1997 13:34:47 +0000]
Fix POSIX::raise()
[editor's note: Chip credited Jens with the fix, but the message
doesn't have a patch. *shrug*]
p5p-msgid: Pine.SUN.3.91.
970401153125.8053A-100000@holmenkollen.ifi.uio.no
Chip Salzenberg [Sat, 29 Mar 1997 23:46:06 +0000]
Update $VERSION of ExtUtils::Embed to reflect reality
Andreas Koenig [Fri, 7 Mar 1997 13:12:26 +0000]
Refresh ExtUtils::Manifest to 1.33
Andreas Koenig [Mon, 17 Feb 1997 23:59:13 +0000]
Refresh CPAN to 1.24
Chip Salzenberg [Sat, 29 Mar 1997 23:46:57 +0000]
Remove target before link() of perldiag.pod
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
Reduce memory footprint of literal strings
(this is the same change as commit
1bd69d1d0fa002def016e601cb71bfcd93600bd3, but as applied)
Ilya Zakharevich [Tue, 1 Apr 1997 16:34:37 +0000]
Reduce memory footprint of literal strings
Subject: Fix for memory allocation on 'string'
Currently qq/a/ takes 2/3 of memory of "a" or 'a'. Test with
> env PERL_DEBUG_MSTATS=2 perl -e '$#a=10000; $a[$i] = qq// while $i++ <10000'
Memory allocation statistics after compilation: (buckets 8..8192)
17552 free: 0 9 24 16 16 3 1 2 1 0 1
43888 used: 0 119 232 176 16 5 3 10 0 0 1
Total sbrk(): 61800. Odd ends: sbrk(): 360, malloc(): 0 bytes.
Memory allocation statistics after execution: (buckets 8..65536)
17136 free: 0 121 21 15 16 3 1 0 1 0 1 0 0 0
515344 used: 0 10119 235 177 16 5 3 250 0 0 1 0 0 1
Total sbrk(): 532840. Odd ends: sbrk(): 360, malloc(): 0 bytes.
> env PERL_DEBUG_MSTATS=2 perl -e '$#a=10000; $a[$i] = "a" while $i++ <10000'
Memory allocation statistics after compilation: (buckets 8..8192)
17520 free: 0 9 23 16 16 3 1 2 1 0 1
43920 used: 0 119 233 176 16 5 3 10 0 0 1
Total sbrk(): 61800. Odd ends: sbrk(): 360, malloc(): 0 bytes.
Memory allocation statistics after execution: (buckets 8..65536)
17616 free: 0 121 4 15 16 3 1 1 1 0 1 0 0 0
713520 used: 0 10119 10236 177 16 5 3 131 0 0 1 0 0 1
Total sbrk(): 731496. Odd ends: sbrk(): 360, malloc(): 0 bytes.
The following patch fixes it:
p5p-msgid: 1997Apr1.113438.1913905@hmivax.humgen.upenn.edu
Chip Salzenberg [Sat, 29 Mar 1997 23:48:07 +0000]
Don't use a completely empty macro parameter
Chip Salzenberg [Sun, 30 Mar 1997 03:38:21 +0000]
Improve definition of Sock_size_t
Chip Salzenberg [Mon, 31 Mar 1997 06:38:42 +0000]
Don't use setjmp() and longjmp() in complex exprs
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
[differences between cumulative patch application and perl-5.003_96]
Perl 5 Porters [Tue, 25 Mar 1997 19:04:34 +0000]
[inseperable changes from patch from perl-5.003_95 to perl-5.003_86]
[editor's note: this commit was prepared manually so may differ in
minor ways to other inseperable changes commits]
CORE LANGUAGE CHANGES
Title: "Support $ENV{PERL5OPT}"
From: Chip Salzenberg
Files: perl.c pod/perldiag.pod pod/perldelta.pod pod/perlrun.pod
Title: "Implement void context, in which C<wantarray> is undef"
From: Chip Salzenberg
Files: cop.h doop.c dump.c global.sym gv.c op.c op.h perl.c
pod/perlcall.pod pod/perldelta.pod pod/perlfunc.pod
pod/perlguts.pod pod/perlsub.pod pp.c pp_ctl.c pp_hot.c
pp_sys.c proto.h
Title: "Don't look up &AUTOLOAD in @ISA when calling plain function"
From: Chip Salzenberg
Files: global.sym gv.c lib/Text/ParseWords.pm pod/perldelta.pod
pp_hot.c proto.h t/op/method.t
Title: "Allow closures to be constant subroutines"
From: Chip Salzenberg
Files: op.c
Title: "Make C<scalar(reverse)> mean C<scalar(reverse $_)>"
From: Chip Salzenberg
Files: pp.c
Title: "Fix lexical suicide from C<my $x = $x> in sub"
From: Chip Salzenberg
Files: op.c
Title: "Make "Unrecog. char." fatal, and update its doc"
From: Chip Salzenberg
Files: pod/perldiag.pod toke.c
CORE PORTABILITY
Title: "safefree() mismatch"
From: Roderick Schertler
Msg-ID: <21338.
859653381@eeyore.ibcinc.com>
Date: Sat, 29 Mar 1997 11:36:21 -0500
Files: util.c
(applied based on p5p patch as commit id
9b9b466fb02dc96c81439bafbb3b2da55238cfd2)
Title: "Win32 update (seven patches)"
From: Gurusamy Sarathy and Nick Ing-Simmons
Files: EXTERN.h MANIFEST win32/Makefile win32/perl.mak
win32/perl.rc win32/perldll.mak win32/makedef.pl
win32/modules.mak win32/win32io.c win32/bin/pl2bat.bat
OTHER CORE CHANGES
Title: "Report PERL* environment variables in -V and perlbug"
From: Chip Salzenberg
Files: perl.c utils/perlbug.PL
Title: "Typo in perl.c: Printing NO_EMBED for perl -V"
From: Gisle Aas
Msg-ID: <
199703301922.VAA13509@furubotn.sn.no>
Date: Sun, 30 Mar 1997 21:22:11 +0200
Files: perl.c
(applied based on p5p patch as commit id
b6c639e4b1912ad03b9b10ba9518d96bd0a6cfaf)
Title: "Don't let C<$var = $var> untaint $var"
From: Chip Salzenberg
Files: pp_hot.c pp_sys.c sv.h t/op/taint.t
Title: "Fix autoviv bug in C<my $x; ++$x->{KEY}>"
From: Chip Salzenberg
Files: pp_hot.c
Title: "Re: 5.004's new srand() default seed"
From: Hallvard B Furuseth
Msg-ID: <
199703302219.AAA20998@bombur2.uio.no>
Date: Mon, 31 Mar 1997 00:19:13 +0200 (MET DST)
Files: pp.c
(applied based on p5p patch as commit id
d7d933a26349f945f93b2f0dbf85b773d8ca3219)
Title: "Re: embedded perl and top_env problem "
From: Gurusamy Sarathy
Msg-ID: <
199703280031.TAA05711@aatma.engin.umich.edu>
Date: Thu, 27 Mar 1997 19:31:42 -0500
Files: gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c scope.h util.c
(applied based on p5p patch as commit id
f289f7d2518e7a8a82114282e774adf50fa6ce85)
Title: "Define and use new macro: boolSV()"
From: Tim Bunce
Files: gv.c lib/ExtUtils/typemap os2/os2.c pp.c pp_hot.c pp_sys.c
sv.c sv.h universal.c vms/vms.c
Title: "Re: strict @F"
From: Hallvard B Furuseth
Msg-ID: <
199703252110.WAA16038@bombur2.uio.no>
Date: Tue, 25 Mar 1997 22:10:33 +0100 (MET)
Files: toke.c
(applied based on p5p patch as commit id
dfd44a5c8c8dd4c001c595debfe73d011a96d844)
Title: "Try harder to identify errors at EOF"
From: Chip Salzenberg
Files: toke.c
Title: "Minor string change in toke.c: 'bareword'"
From: lvirden@cas.org
Msg-ID: <1997Mar27.130247.1911552@hmivax.humgen.upenn.edu>
Date: Thu, 27 Mar 1997 13:02:46 -0500 (EST)
Files: toke.c
(applied based on p5p patch as commit id
9b56c8f8085a9e773ad87c6b3c1d0b5e39dbc348)
Title: "Improve diagnostic on \r in program text"
From: Chip Salzenberg
Files: pod/perldiag.pod toke.c
Title: "Make Sock_size_t typedef work right"
From: Chip Salzenberg
Files: perl.h pp_sys.c
LIBRARY AND EXTENSIONS
Title: "New module constant.pm"
From: Tom Phoenix
Files: MANIFEST lib/constant.pm op.c pp.c t/pragma/constant.t
Title: "Remove chat2"
From: Chip Salzenberg
Files: MANIFEST lib/chat2.inter lib/chat2.pl
Title: "Include CGI.pm 2.32"
From: Chip Salzenberg
Files: MANIFEST eg/cgi/* lib/CGI.pm lib/CGI/Apache.pm
lib/CGI/Carp.pm lib/CGI/Fast.pm lib/CGI/Push.pm
lib/CGI/Switch.pm
UTILITIES
Title: "Tom C's Pod::Html and html tools, as of 30 March 97"
From: Chip Salzenberg
Files: MANIFEST installhtml lib/Pod/Html.pm pod/pod2html.PL
Title: "Fix path bugs in installhtml"
From: Robin Barker <rmb1@cise.npl.co.uk>
Msg-ID: <3180.
9703270906@tempest.cise.npl.co.uk>
Date: Thu, 27 Mar 97 09:06:14 GMT
Files: installhtml
Title: "Make perlbug say that it's only for core Perl bugs"
From: Chip Salzenberg
Files: utils/perlbug.PL
DOCUMENTATION
Title: "Document autouse and constant; update diagnostics"
From: Chip Salzenberg
Files: pod/perldelta.pod
Title: "Suggest to upgraders that they try '-w' again"
From: Hallvard B Furuseth
Msg-ID: <
199703251901.UAA15982@bombur2.uio.no>
Date: Tue, 25 Mar 1997 20:01:26 +0100 (MET)
Files: pod/perldelta.pod
(applied based on p5p patch as commit id
4176c059b9ba6b022e99c44270434a5c3e415b73)
Title: "Improve and update documentation of constant subs"
From: Tom Phoenix <rootbeer@teleport.com>
Msg-ID: <Pine.GSO.3.96.
970331122546.14185C-100000@kelly.teleport.com>
Date: Mon, 31 Mar 1997 13:05:54 -0800 (PST)
Files: pod/perlsub.pod
Title: "Improve documentation of C<return>"
From: Chip Salzenberg
Files: pod/perlfunc.pod pod/perlsub.pod
Title: "perlfunc.pod patch"
From: Gisle Aas
Msg-ID: <
199703262159.WAA17531@furubotn.sn.no>
Date: Wed, 26 Mar 1997 22:59:23 +0100
Files: pod/perlfunc.pod
(applied based on p5p patch as commit id
35a731fcbcd7860eb497d6598f3f77b8746319c4)
Title: "Use 'while (defined($x = <>)) {}', per <gnat@frii.com>"
From: Chip Salzenberg
Files: configpm lib/Term/Cap.pm perlsh pod/perlipc.pod pod/perlop.pod
pod/perlsub.pod pod/perlsyn.pod pod/perltrap.pod
pod/perlvar.pod win32/bin/search.bat
Title: "Document and test C<%> behavior with negative operands"
From: Chip Salzenberg
Files: pod/perlop.pod t/op/arith.t
Title: "Update docs on $]"
From: Chip Salzenberg
Files: pod/perlvar.pod
Title: "perlvar.pod patch"
From: Gisle Aas
Msg-ID: <
199703261254.NAA10237@bergen.sn.no>
Date: Wed, 26 Mar 1997 13:54:00 +0100
Files: pod/perlvar.pod
(applied based on p5p patch as commit id
0aa182cb0caa3829032904b9754807b1b7418509)
Title: "Fix example of C<or> vs. C<||>"
From: Chip Salzenberg
Files: pod/perlsyn.pod
Title: "Pod usage and spelling patch"
From: Larry W. Virden
Files: pod/*.pod
Title: "Pod updates"
From: "Cary D. Renzema" <caryr@mxim.com>
Msg-ID: <
199703262353.PAA01819@macs.mxim.com>
Date: Wed, 26 Mar 1997 15:53:22 -0800 (PST)
Files: pod/*.pod
(applied based on p5p patch as commit id
5695b28edc67a3f45e8a0f25755d07afef3660ac)
Cary D. Renzema [Wed, 26 Mar 1997 23:53:22 +0000]
Pod updates
Here are some fixes for the pod files.
p5p-msgid: <
199703262353.PAA01819@macs.mxim.com>
Gisle Aas [Wed, 26 Mar 1997 12:54:00 +0000]
perlvar.pod patch
p5p-msgid:
199703261254.NAA10237@bergen.sn.no
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Gisle Aas [Wed, 26 Mar 1997 21:59:23 +0000]
perlfunc.pod patch
This patch contains various minor corrections and improvements to the
perl5.003_95 perlfunc POD text:
p5p-msgid:
199703262159.WAA17531@furubotn.sn.no
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
Patch for perl.pod
(this is the same change as commit
69cddaa00596e831c0492189df41823d75a1b069, but as applied)
William Middleton [Wed, 26 Mar 1997 23:05:39 +0000]
Patch for perl.pod
This didn't make it into 95.
p5p-msgid:
199703262305.PAA13121@ducks
Hallvard B Furuseth [Tue, 25 Mar 1997 19:01:26 +0000]
Suggest to upgraders that they try '-w' again
Tom Christiansen wrote:
>>-w is removed from a lot of installed scripts, to
>>get rid of annoying warnings about legitimate code.
>
> Hm... I kinda think this is a bad idea. If there are too
> many warnings, something should be fixed. Historically,
> -w has at time been too noisy, and we've fixed it.
Right. Let's add a note somewhere (perlrun? perldelta? INSTALL?):
p5p-msgid:
199703251901.UAA15982@bombur2.uio.no
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Larry W. Virden [Thu, 27 Mar 1997 18:02:46 +0000]
Minor string change in toke.c: 'bareword'
The only place I found in all of perl 5.003095 that used the phrase
"Bare word" instead of "bareword" or "Bareword" was here:
p5p-msgid: 1997Mar27.130247.1911552@hmivax.humgen.upenn.edu
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
INSTALL-1.11
(this is the same change as commit
a5d126c22eb526701c899be27a05a7d0d93dff97, but as applied)
Andy Dougherty [Wed, 26 Mar 1997 19:27:52 +0000]
INSTALL-1.11
On March 25, I wrote:
> I'll try to take various comments into account and eliminate unnecessary
> markup in INSTALL. (I will, however, leave in what I consider to be
> necessary or useful markup.)
Here's a patch to bring you version 1.11 of the INSTALL file. This patch
is relative to the version in 5.003_95.
By far the biggest part of the patch is removing unnecessary markup in the
file. There actually wasn't all that much anyway, but most of it wasn't
necessary for clarity, so I just removed it. There are now just 13 uses
of C<> and B<>. (These too are debatable, but I have no interest in
debating them. I've already decided to keep them for now.)
I've included Chip's suggestion about 'splain and diagnostics.pm and added
a little more info about the pod format.
There are also some minor rewordings here and there, all aiming to enhance
clarity. I hope it didn't regress instead :-)
At this point, I don't see any reason to include a separate INSTALL.txt
version in the distribution. If we want to
mv INSTALL INSTALL.pod
I won't argue much against it.
p5p-msgid: Pine.SOL.3.95q.
970326140905.10178A-100000@fractal.lafayette.edu
Hallvard B Furuseth [Tue, 25 Mar 1997 21:10:33 +0000]
Re: strict @F
According to Chip Salzenberg:
> sprintf( tmpbuf1, "@F=split('%s');", splitstr );
Oh, that reminds me: Splits like perl -F"/" and perl -F",'" fail.
Of course, these might be considered user errors since they conflict
with the -F doc. However, the -F doc is incorrect anyway: It says that
the pattern will be quoted unless it is *surrounded* by the delimiter.
Perl uses quotes if it *starts* with the delimiter. Which is sometimes
better because it allows options: -F/foo/i.
Anyway, here is a fix. 1st part allows things like `-F/' according to
the doc. 2nd part, if you want it, (attempts to) allow -F",'" in
conflict with the doc, which implies -F",'" is an error.
BTW, note that it's too late to obey the current doc exactly.
That would forbid options (-F/foo/i) or expressions (-F'"" + $i++').
Currently, these work - and might be in use somewhere.
p5p-msgid:
199703252110.WAA16038@bombur2.uio.no
Randy J. Ray [Thu, 27 Mar 1997 21:17:38 +0000]
Tiny doc fix for AutoSplit.pm
Seems that the C<.al> construct by itself causes pod2man to lose about half of
the line, which confuses the explanation of the argument in question:
p5p-msgid: rjray-
9702272117.AA001223633@snakepit.ecte.uswc.uswest.com
Gurusamy Sarathy [Fri, 28 Mar 1997 00:31:42 +0000]
Re: embedded perl and top_env problem
On Mon, 24 Mar 1997 17:29:29 EST, Ken Fox wrote:
>Gurusamy Sarathy wrote:
>> >> Ken Fox wrote:
>> >> > The trouble with die happens in the longjmp to top_env ...
>> Testcase?
>
>Here's a good example that demonstrates both of my longjmp related
>problems. I'm using 5.003_94 on Solaris 2.5.1 (more info at
>bottom). I think that the perl_call_* API is being used correctly.
>
>---------------------------------------- BEGIN crash.c
>#include <EXTERN.h>
>#include <perl.h>
>static PerlInterpreter *my_perl;
>
>int call_sub(SV *sub)
>{
> int result = -1;
> int count;
> dSP;
>
> ENTER;
> SAVETMPS;
>
> PUSHMARK(sp);
> XPUSHs(sv_2mortal(newSViv(1)));
> PUTBACK;
> count = perl_call_sv(sub, G_SCALAR);
> SPAGAIN;
> if (count == 1) result = POPi;
> PUTBACK;
>
> FREETMPS;
> LEAVE;
> return result;
>}
>
>int main(int argc, char *argv[], char *envp[])
>{
> char *perl_args[] = { 0, "-e",
> "sub ok { $_[0] + 1; } sub crash { die 'crash\n'; }", 0 };
> my_perl = perl_alloc();
> perl_construct(my_perl);
> perl_parse(my_perl, 0, 3, perl_args, 0);
> perl_run(my_perl);
>
> /* this call works fine -- no error */
> printf(" sub ok: return = %d\n", call_sub((SV *)perl_get_cv("ok", FALSE)));
> /* this call eventually inokes die() which mangles the C stack with long jump */
> printf("sub crash: return = %d\n", call_sub((SV *)perl_get_cv("crash", FALSE)));
> /* this call is bogus but perl mangles the C stack with long jump trying to
> tell me about it. */
> printf(" sv_undef: return = %d\n", call_sub(&sv_undef));
> perl_destruct(my_perl);
> perl_free(my_perl);
> return 0;
>}
>---------------------------------------- END crash.c
>
>I don't expect either of these cases to trap the error and go on -- I'd
>have used G_EVAL to do that. What I do expect is that the C stack isn't
>scrambled when the error occurs -- that makes it virtually impossible to
>catch in a debugger:
Here's a patch for the above problem, which is symptomatic of larger
problems with perl_call_*() calls that happen outside perl_run() or
perl_parse(). Perl invokes longjmp() without checking if an associated
setjmp() exists. This is likely to cause coredumps galore for all the
perl embedfellows out there.
Note the size of this patch is mostly due to the conversion of the
DOCATCH() business to macros in order to give it a semblance of
order. It also does away with redundant calls to setjmp() (the
:restart branch in perl_call_sv()), and uses the C stack instead of
Copy().
I finished this patch yesterday, and gave it a day with my production
embeded app, so I'm fairly sure it don't have no bugs. :-)
p5p-msgid:
199703280031.TAA05711@aatma.engin.umich.edu
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Hallvard B Furuseth [Sun, 30 Mar 1997 22:19:13 +0000]
Re: 5.004's new srand() default seed
In the remote past, Roderick Schertler wrote:
> I posted a message to clpm asking for comments on Perl's new srand()
> default seed and Dean Inada replied. Here are his observations. I'm
> just a conduit, would somebody who knows what they're talking about
> please step in?
Sorry to be late:
I believe I'm the one who inserted the new code. I browse clpm very
infrequently - and skip large parts of p5p too, for that matter.
I'll freely admit it's not particularly well tuned. Since I don't know
much about randomness, anyone who do could do a better job, and I
suggested (on p5p) that someone might give it a try. My change was just
to grab a few more garbage values (pointer addresses, time & pid) and
multipliers that shold at least never produce worse results than the
original code.
The multipliers
- are prime numbers, just in case that makes a difference:-)
- have few 1 bits at the beginning in binary, to distribute values
varying in a small range "not worse than the old version did",
or something like that. I don't quite remember.
If you improve it, just remember:
- *every* input value (time, pid & so on) may vary within a very narrow
range and/or with a constant multiplier in some instances - or not
vary at all.
- cast things to a "large enough" unsigned and to avoid overflow
exception and/or warning on some compilers. And don't trust a
variable/function to be unsigned just because some standard says
that it should be.
>> Using ^ here seems pretty silly. It again invites identical seeds
>> every 1000001 microseconds. A much more natural seed would seem to be
>>
>> tv_sec*1000000 + tv_usec
>>
>> Which at least will never repeat on different ticks.
Unless int is small, which gives faster wraparound.
>> But (...) some round tv_usec to multiples of 10000 microseconds,
Ah, yes. That's why I didn't multiply tv_sec with anything.
Better fix: Replace 1000000 above with some uneven larger number.
>> it would still be useful to mix in a getpid().
Which I did.
>>> seed ^= ( ( 269 * (U32)getpid())
>>> ^ (26107 * (U32)&when)
>>> ^ (73819 * (U32)stack_sp));
>>
>> Since you're using primes here, why not use the addition operator from
>> the same field that the primes are in, which would generate a group
>> the size of the product of those primes for avoiding repetitions?
Fine. Someone said xor, but not with any arguments that I can rember.
>> Are you still using rand(3), rather than the better random(3)? If so,
>> there may be the additional issue that small changes in the seed tend
>> to produce small changes in the sequence. In that case, something
>> like seed*32769 (i.e. seed + (seed<<15)) may help. (though a prime
>> like 32771 might be better.)
INSTALL suggests -Drand=random -Dsrand=srandom if one wants larger
period. Which means the period could be anything. However,
#if RANDBITS > 32 ... #else #if RANDBITS > 16 ... #else ...
should allow us to tune this for the most common seed sizes.
Anyway, what should be used is a *real* hash function which spreads the
effect of every bit over a whole 1<<RANDBITS, so truncating to 32, 48 or
16 bits will all work. Multiplication with primes is not good enough,
because changes in high bits do not affect low bits of the seed.
However, I can't do that without checking some book, I don't know what
code to avoid which could cause recurring patterns instead...
Anyway, here is a starting point - slightly improved from your version:
[included code block applied as patch - ed]
Oh, also note:
Some time ago, Chip Salzenberg wrote:
>According to Fabien TASSIN:
>>> warning(1412): destination type of cast is too small to
>>> hold all pointers: truncation possible
>>> ^ (26107 * (U32)&when)
>>> ^
>>
>> this one is interesting for all 64bit OSs..
>
> It's on purpose. The value of "&when" is just a presumably large,
> difficult-to-predict value; converting it to U32 is the Right Thing,
> even on 64-bit machines.
Well,
(U32)(unsigned_with_same_size_as_pointers_t)&when
wouldn't hurt, if the latter type exists:-) And the same for
(U32)stack_sp, of course.
p5p-msgid:
199703302219.AAA20998@bombur2.uio.no
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
Patch for Benchmark.pm
(this is the same change as commit
3f1bea595935e4179e5648faacfa5b549f2d7e03, but as applied)
Hugo van der Sanden [Sat, 29 Mar 1997 15:04:32 +0000]
Patch for Benchmark.pm
This patch is a cleanup for the Benchmark module. It documents all the
stuff that wasn't, including my recent patch to allow code references;
it removes the old perl-comment docs that duplicate the POD; it fixes
some minor bugs (mostly of the '$arg ||= $default' instead of
'$arg = $default unless defined $arg' variety) and generally tidies
things up a bit.
Let me know if any of this causes problems,
p5p-msgid:
199703291504.PAA01596@crypt.compulink.co.uk
Signed-off-by: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Gisle Aas [Sun, 30 Mar 1997 19:22:11 +0000]
Typo in perl.c: Printing NO_EMBED for perl -V
p5p-msgid:
199703301922.VAA13509@furubotn.sn.no
Spider Boardman [Sat, 29 Mar 1997 19:06:37 +0000]
C<new SelectSaver $fh> doesn't always restore
This is a bug report for perl from spider@Orb.Nashua.NH.US,
If you're lucky enough to get a signal (such as ALRM) which is handled
with die() while in a SelectSaver->new($fh) call, your previous output
filehandle is not restored. It violates the basic rule of 'save and
restore' handling, in that it modifies the state it wants to restore
I<before> it has ensured that the prior state will be restored. Patch:
p5p-msgid:
199703291906.OAA07232@Orb.Nashua.NH.US
Roderick Schertler [Sat, 29 Mar 1997 16:36:21 +0000]
safefree() mismatch
The declaration of safefree() in proto.h disagrees with the definition
in util.c.
p5p-msgid: 21338.
859653381@eeyore.ibcinc.com
Roderick Schertler [Sat, 29 Mar 1997 16:33:24 +0000]
Re: $whoami calculation in Sys::Syslog.pm should not be greedy
On Fri, 28 Mar 1997 16:42:46 -0600 (CST), mer@world.evansville.net (Marc Rouleau) said:
>
> I suggest replacing
>
> if (!$ident && $mask =~ /^(\S.*):\s?(.*)/) {
>
> with
>
> if (!$ident && $mask =~ /^(\S.*?):\s?(.*)/) {
>
> at about line 157. Otherwise, syslog'ing text containing a colon
> doesn't work right.
I think it's a reasonable tradeoff (it'll prevent "foo::bar: message"
from working but it'll allow "foo: can't do x: message"). The first
probably doesn't work properly with most syslogds anyway, one here would
log it as
foo:<17.6>:bar[21244]: message
p5p-msgid: pz4tdu7j57.fsf@eeyore.ibcinc.com
Hallvard B Furuseth [Wed, 26 Mar 1997 18:29:14 +0000]
Re: Pod problems & fixes
> Couldn't we please just make it program options?
Right. Well, here is a simple version. The output of
perl -d -MPod::Text -e 'pod2text(@ARGV)' -- -a -72 INSTALL
follows, then the Text.pm patch. What say?
Needs a few details - like L<> output, but that can wait until the
relevant people say yes/no.
=head1 foo -> ==== foo ====
=head2 foo -> == foo ==
=item foo -> : foo (i.e. s/^ /: /, so a search
for /^:/ finds next =item)
B<foo> -> ``foo'' (was unquoted)
C<foo> -> ``foo'' (was `foo')
F<foo> -> "foo" (was unquoted)
I<foo> -> *foo*
L<foo> -> the section on "foo" (details here must be fixed.
Later.)
The =items look a little strange, but OK. Anyone got a better
suggestion? But remember:
> From: Andy Dougherty <doughera@fractal.phys.lafayette.edu>
>
> Mostly, they can just use /^=/ in their favorite pager and find their way
> around the file. If we remove the =head and =item markers, this sense of
> where you are in the whole file gets lost. So I'm not going to do that.
BTW, is it a point to have just one string to search for? If so, s/^:/=/.
Indentation: Have not checked exactly, but apparently =head* sets indent
to 4, =item adds 4. Some verbatim paragraphs get too indented. One fix
might be *not* to indent things under =head* that are not =items,
another would be to edit INSTALL a bit.
Also did
s/B<(Note:?|before|not)>/I<$1>/gi; # correct, I think
s/B<(ARCH|VERSION)>/$1/g; # looked a bit silly in ``quotes'',
# and after all they are already
# in uppercase.
p5p-msgid:
199703261829.TAA17015@bombur2.uio.no
Ilya Zakharevich [Mon, 31 Mar 1997 23:55:55 +0000]
Fix C<print $_> in debugger
private-msgid:
199703312355.SAA01068@monk.mps.ohio-state.edu
Chip Salzenberg [Sat, 22 Mar 1997 03:57:24 +0000]
Allow for coexistence of various versions of perldiag.pod
Doug MacEachern [Thu, 27 Mar 1997 01:23:14 +0000]
Eliminate unused dummy variable
private-msgid:
199703270123.UAA25454@postman.osf.org
Slaven Rezic [Mon, 31 Mar 1997 14:17:42 +0000]
hints/freebsd.sh update (don't use -lmalloc)
Here's an update for hints/freebsd.sh. Configure should not try to use
-lmalloc, since it's very likely an old malloc from the compatibility
package compat1.x.
p5p-msgid:
199703311417.QAA04162@cabulja.herceg.de
Stephen Potter [Fri, 28 Mar 1997 21:38:30 +0000]
Die on patterns that will match empty string forever
Subject: Re: Segementation fault in perl5.001 and 5.003
Strange sunspot activity caused =?iso-8859-1?Q?Markus_Thei=DFinger?= <Markus.Th
eissinger@gmd.de> to write:
| Hi,
|
| perl -e '$_=3D" 2"; print STDOUT /^(\s*(\))*)+$/;'
|
| produces a segmentation fault [snips]
Confirmed on 3_95. I'm surprised this kind of thing lasted this long.
Actually, I could have sworn someone fixed this awhile back. I suppose one
of the regulars could probably provide a better patch.
Works fine on 4.036, this patch returns it to 4.036 functionality.
p5p-msgid:
199703282138.PAA28311@psa.pencom.com
Chip Salzenberg [Sat, 22 Mar 1997 03:34:25 +0000]
[differences between cumulative patch application and perl-5.003_95]
Perl 5 Porters [Sat, 22 Mar 1997 03:34:25 +0000]
[inseparable changes from match from perl-5.003_94 to perl-5.003_95]
CORE LANGUAGE CHANGES
Subject: Don't compile scalar mods of aggregates, like C<@a =~ s/a/b/>
From: Chip Salzenberg <chip@perl.com>
Files: op.c t/op/misc.t
Subject: Warn about undef magic values just like non-magic
From: Chip Salzenberg <chip@perl.com>
Files: ext/Opcode/Safe.pm sv.c t/lib/db-btree.t t/lib/db-hash.t t/lib/db-recno.t t/pragma/locale.t
CORE PORTABILITY
Subject: Win32 update (five patches)
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Files: MANIFEST README.win32 doio.c dosish.h pp_sys.c lib/ExtUtils/Command.pm t/comp/multiline.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/write.t win32/Makefile win32/config.H win32/config.w32 win32/win32.c win32/win32.h win32/win32aux.c win32/*.mak win32/VC-2.0/*.mak
DOCUMENTATION
Subject: INSTALL-1.8 to INSTALL-1.9 updates
Date: Tue, 25 Mar 1997 13:52:53 -0500 (EST)
From: Andy Dougherty <doughera@fractal.phys.lafayette.edu>
Files: INSTALL
Msg-ID: Pine.SOL.3.95q.
970325135138.3374A-100000@fractal.lafayette.e
(applied based on p5p patch as commit
9b1ae96a0b4301a9588f62b3175bc0312302f4b9)
Subject: Document possible problems with -Mdiagnostics after upgrade
From: Chip Salzenberg <chip@perl.com>
Files: INSTALL
Subject: Mention perldelta in INSTALL
From: Chip Salzenberg <chip@perl.com>
Files: INSTALL
Subject: Describe pod format at top of INSTALL
From: Chip Salzenberg <chip@perl.com>
Files: INSTALL
Subject: Document C</a *b/x> fix
From: Chip Salzenberg <chip@perl.com>
Files: pod/perldelta.pod
Subject: pods for subroutine argument autovivication
Date: Mon, 24 Mar 1997 07:25:21 +0000
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
Files: pod/perldelta.pod pod/perlsub.pod
Msg-ID: E0w9489-0005YT-00@ursa.cus.cam.ac.uk
(applied based on p5p patch as commit
db8878faa51a8a1541a40745a8613adb5db155e4)
Subject: Missing item in perldiag
Date: Sun, 23 Mar 1997 09:24:09 +0000
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
Files: pod/perldiag.pod
Msg-ID: E0w8jVZ-0005va-00@ursa.cus.cam.ac.uk
(applied based on p5p patch as commit
c00a529017138505fcbe538b74c7884abe1d18e1)
Subject: Pod problems & fixes
Date: Mon, 24 Mar 1997 21:31:51 +0100 (MET)
From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
Files: INSTALL lib/Term/Complete.pm lib/subs.pm pod/perlcall.pod pod/perldata.pod pod/perldiag.pod pod/perlembed.pod pod/perlguts.pod pod/perlmod.pod pod/perlop.pod pod/perlpod.pod pod/pod2html.PL
Msg-ID:
199703242031.VAA14997@bombur2.uio.no
(applied based on p5p patch as commit
55a864fe4cea1a0586891b83d359ba71e0972da5)
Subject: FAQ update
From: Nathan Torkington <gnat@prometheus.frii.com>
Files: pod/perlfaq*.pod
OTHER CORE CHANGES
Subject: Improve 'prototype mismatch' warning
From: Chip Salzenberg <chip@perl.com>
Files: global.sym op.c pod/perldiag.pod proto.h sv.c t/comp/redef.t
Hallvard B Furuseth [Mon, 24 Mar 1997 20:31:51 +0000]
Pod problems & fixes
Files: pod/perldiag.pod
Subject: pod2text expands B<-i>C<.bak> to -i`.bak'. With a quote in
the middle, it looks like it should be typed in verbatim.
`-i.bak' is better.
Files: pod/pod2html.PL
Subject: "mailto:" is case-sensitive in URLs.
Files: lib/Term/Complete.pm lib/subs.pm pod/perlop.pod pod/perlembed.pod
pod/perlguts.pod
Subject: Missing empty lines
Files: INSTALL pod/perlguts.pod
Subject: change `the section on L<..>' to `L<..>', because pod2*
inserts the "the section on".
Files: pod/perlmod.pod pod/perlcall.pod
Subject: "perl5.00X" -> "perl5.00X or higher"
Files: pod/perldata.pod pod/perldiag.pod pod/perlpod.pod
Subject: "blank line" -> "empty line" where spaces are not ignored
Paul Marquess [Mon, 24 Mar 1997 08:54:16 +0000]
DB_File documentation fix
Title: "Regularize headings in DB_File documentation"
From: Chip Salzenberg
Files: ext/DB_File/DB_File.pm
[see commit
68dc074516a6859e3424b48d1647bcb08b1a1a7d]
You forgot to fix the links to the sections titles you changed.
p5p-msgid:
9703240854.AA08401@claudius.bfsec.bt.co.uk
M.J.T. Guy [Sun, 23 Mar 1997 09:24:09 +0000]
Missing item in perldiag
An omission from perldiag:
p5p-msgid: E0w8jVZ-0005va-00@ursa.cus.cam.ac.uk
Chip Salzenberg [Tue, 31 Dec 1996 06:52:38 +0000]
Mention and discourage use of term 'soft reference'
M.J.T. Guy [Mon, 24 Mar 1997 07:25:21 +0000]
pods for subroutine argument autovivication
Here are pod updates for subroutine argument autovivication.
I'll also try to do some additions to the tests.
One small detail noted:
perl -we 'sub f { print @_ }; f $a[0]'
produces
Use of uninitialized value at -e line 1.
under Perl 5.003 but is silent under Perl5.003_94. Do we care?
p5p-msgid: E0w9489-0005YT-00@ursa.cus.cam.ac.uk
Chip Salzenberg [Fri, 21 Mar 1997 02:38:44 +0000]
Improve pod2man diagnostic when NAME is invalid
Andy Dougherty [Tue, 25 Mar 1997 18:52:53 +0000]
INSTALL-1.8 to INSTALL-1.9 updates
A few more updates to INSTALL, inspired by a note here about -DDEBUGGING
and by a few recent posts to comp.lang.perl.misc about problems Solaris
folks were having with nm extraction.
p5p-msgid: Pine.SOL.3.95q.
970325135138.3374A-100000@fractal.lafayette.edu
private-msgid: Pine.SOL.3.95q.
970325135138.3374A-100000@fractal.lafayette.e
Chip Salzenberg [Sat, 22 Mar 1997 03:34:25 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Sat, 22 Mar 1997 03:34:25 +0000]
Reduce memory footprint of complex.t
(this is the same change as commit
d26eb0becc8c51ffd352f1667ada71b0e03e9b19, but as applied)
Dominic Dunlop [Tue, 25 Mar 1997 14:39:26 +0000]
Reduce memory footprint of complex.t
Over the weekend, I said:
>Passes all expected tests on MachTen 4.0.3, EXCEPT...
>
>lib/complex fails to run because it wants more virtual memory than my
>system can provide. My system can provide 22 megs, which is not vast, but
>should be adequate to run a test, so I think lib/complex is being greedy.
>I'm pretty sure that the cause is repeated use of .= or similar on a
>scalar: the system malloc() which perl has to use on MachTen does not
>appear to coalesce free()d chunks, so behaves very badly when a scalar
>grows repeatedly. Anyway, I'll delve deeper and probably post a patch.
Here's that patch. It saves 2,861 (give or take) of those realloc()s my
system's native malloc() package fields so badly. Beware long lines. Hope
they reach you unmangled. (If not, ask me to send it uuencoded, or as a
MIME attachment or something.) You'll also need to hand patch a
--ignore-whitespace option: tabs will have been munged into spaces.
p5p-msgid: v
03020902af5d8e03c5ab@[194.51.248.84]
Chip Salzenberg [Sat, 22 Mar 1997 03:34:25 +0000]
[dummy merge]
This merge exists so that the p5p version of the patch and the applied
version are both in the history
Chip Salzenberg [Sat, 22 Mar 1997 03:34:25 +0000]
Term::Readline patch for AmigaOS
(this is the same change as commit
c6f23515cbc613899d8b79910cc2429dea847fde, but as applied)
Norbert Pueschel [Sun, 23 Mar 1997 17:57:22 +0000]
Term::Readline patch for AmigaOS
I stumbled upon this when trying to get CPAN working.
p5p-msgid:
77724797@Armageddon.meb.uni-bonn.de
M.J.T. Guy [Mon, 24 Mar 1997 17:54:01 +0000]
Exporting UNIVERSAL::can
UNIVERSAL allows the export of 'isa' but not 'can'. Since it
is useful to be able to apply 'can' to non-references (to avoid having
to do redundant tests), I offer the following tiny patch.
This also updates the pod to make it slightly clearer that both
functions can be applied to arbitrary values, not just references.
p5p-msgid: E0w9DwX-0000Zr-00@taurus.cus.cam.ac.uk
Russ Allbery [Tue, 25 Mar 1997 09:28:55 +0000]
Extraneous blank lines from Pod::Text
I get the impression that eventually all of the Pod stuff currently
distributed with Perl is going to be phased out in favor of something new,
but in the meantime pod2text has always generated an extra blank line
after literal text (indented text). The following patch to Pod::Text
appears to fix that, although I may be missing something since I don't
understand why the removed line was ever there to begin with.
p5p-msgid: qumend4qq08.fsf@cyclone.stanford.edu
Chip Salzenberg [Fri, 21 Mar 1997 07:30:20 +0000]
Fix C<require> in Getopt::Long to work with 5.003
Chip Salzenberg [Sun, 22 Dec 1996 02:07:47 +0000]
In perlio, fix vprintf() definition and define vfprintf()
Chip Salzenberg [Fri, 21 Mar 1997 02:44:56 +0000]
Fix botch with G_NOARGS; PUSHMARK *is* required