27 years ago[dummy merge]
Chip Salzenberg [Mon, 7 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

27 years agoAccommodate CodeBuilder variant of Machten 4.0.3
Chip Salzenberg [Mon, 7 Apr 1997 00:00:00 +0000]
Accommodate CodeBuilder variant of Machten 4.0.3

(this is the same change as commit f56dede6f0d67b2435681a318bccb04d4f017fbd, but as applied)

27 years agoAccommodate CodeBuilder variant of Machten 4.0.3
Dominic Dunlop [Tue, 8 Apr 1997 20:15:15 +0000]
Accommodate CodeBuilder variant of Machten 4.0.3

The following patch against _97b massages a couple of test files so that
CodeBuilder 1.0, a derivative of MachTen 4.0.3, passes all tests (except
lib/db-recno, due to an old DB library). The patch does three things:

1. Make op/stat.t test 35 look in /usr/bin for SUID files iff $^O has value
   'machten'.  (PowerBuilder has /bin directory, but it contains no SUID
   files.  Perl5 porters with reasonable memories may remember that the test
   got retargetted at /bin only in January.  Sigh.  A better fix than this
   quick hack is really required.)

2. Make op/stat.t test 39 check for value of $^O, succeeding if it's 'machten'.
   (PowerBuilder and other MachTen variants lack /MachTen directory, but
   all have a uname which says they're 'machten'.)

3. Amend io/fs.t test 25 so that it tests whether truncate can reduce the
   length of a file attached to a filehandle, mirroring test 23's check of
   whether truncate can reduce the length of a named file, rather than testing
   whether truncate can extend an empty file attched to a filehandle.  (See
   discussion below.)

NOTE IN PARTICULAR POINT 3: CodeBuilder is distinguished from MachTen 4.0.3
in supporting a true Berkeley Fast File System as an alternative to MacOS'
incredibly slow Heirarchical File System.  CodeBuilder's FFS code is
derived from 4.3BSD, and does not allow truncate() to extend a file's size.
The HFS code is derived from 4.4BSD, and does allow such extension.  (The
man page for truncate(2) has not, as far as I can tell, changed in a long
time, and has reather slippery wording: it's not clear whether extension is
allowed, and the system errors one might expect for failed extension --
ENOSPC and others -- are not mentioned.)  Looking at the io/fs.t, it seems
that a typo may have turned a check that the length of a file attached to a
handle can be reduced into a check that it can be extended.  The patch
"fixes" the test to check for length reduction.  If, on the other hand, it
should indeed be a test of extension (which, presumably, every other system
that supports truncate() passes) then io/fs.t should not be patched, and
CodeBuilder 1.0 pronounced buggy.

p5p-msgid: v03020902af704d320f27@[194.51.248.88]

27 years agoFix typos in Math::Trig
Jarkko Hietaniemi [Mon, 7 Apr 1997 00:00:00 +0000]
Fix typos in Math::Trig

27 years agoComplex.pm: 0**0 sanity
Jarkko Hietaniemi [Wed, 9 Apr 1997 18:04:23 +0000]
Complex.pm: 0**0 sanity

private-msgid: 199704091804.VAA13930@alpha.hut.fi

27 years agoImprove IO::Handle docs; don't export _open_mode_string
Chip Salzenberg [Wed, 5 Mar 1997 19:48:16 +0000]
Improve IO::Handle docs; don't export _open_mode_string

27 years agoFix assignment from magic SV that becomes a glob
Chip Salzenberg [Mon, 24 Mar 1997 15:51:51 +0000]
Fix assignment from magic SV that becomes a glob

27 years agoFix dynamic loading (and argv[0]) under AmigaOS
Norbert Pueschel [Tue, 8 Apr 1997 20:01:45 +0000]
Fix dynamic loading (and argv[0]) under AmigaOS

private-msgid: 77724842@Armageddon.meb.uni-bonn.de

27 years ago[differences between cumulative patch application and perl-5.003_97b]
Chip Salzenberg [Fri, 4 Apr 1997 00:00:00 +0000]
[differences between cumulative patch application and perl-5.003_97b]

27 years ago[inseparable changes from match from perl-5.003_97a to perl-5.003_97b]
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

27 years agolength($') isn't
Gurusamy Sarathy [Mon, 7 Apr 1997 07:30:44 +0000]
length($') isn't

"foo" =~ /^./; print length $';
     __END__
     i

An ev0l typo that crept in via the 317th subversion. :-)

p5p-msgid: 199704070730.DAA07310@aatma.engin.umich.edu

27 years agoMake L<perltrap> refer to L<perldelta>
Chip Salzenberg [Tue, 1 Apr 1997 20:54:23 +0000]
Make L<perltrap> refer to L<perldelta>

27 years agoDocument sample function perl_eval()
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

27 years agoPatch for 'perldoc -f'
Gisle Aas [Sun, 6 Apr 1997 17:32:04 +0000]
Patch for 'perldoc -f'

private-msgid: 199704061732.TAA00353@bergen.sn.no

27 years agoFix FindBin under Win32, and document success
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>

27 years ago[dummy merge]
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

27 years agoCGI->redirect patch
Chip Salzenberg [Fri, 4 Apr 1997 00:00:00 +0000]
CGI->redirect patch

(this is the same change as commit a3ec56f7f3704c7c711a382a2e558eb572cef265, but as applied)

27 years agoCGI->redirect patch
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

27 years agoperlwin-97a_4: win32 environ fix
Gurusamy Sarathy [Sun, 6 Apr 1997 04:31:11 +0000]
perlwin-97a_4: win32 environ fix

private-msgid: 199704060431.XAA23400@aatma.engin.umich.edu

27 years agoUse SSize_t for values of PerlIO_{read,write}
Chip Salzenberg [Fri, 4 Apr 1997 00:00:00 +0000]
Use SSize_t for values of PerlIO_{read,write}

27 years ago[differences between cumulative patch application and perl-5.003_97a]
Chip Salzenberg [Wed, 2 Apr 1997 22:03:25 +0000]
[differences between cumulative patch application and perl-5.003_97a]

27 years ago[inseparable changes from match from perl-5.003_97 to 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

27 years agoPatch to Build Dynamic-Lib (DLL) version of perl using gnuwin32 b17.1
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

27 years agoMinor cleanups
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

27 years agoPod style
Nathan Torkington [Wed, 2 Apr 1997 20:34:15 +0000]
Pod style

27 years agoUpdate INSTALL
Andy Dougherty [Sat, 29 Mar 1997 23:44:30 +0000]
Update INSTALL

27 years agoMake *dbm tests work with Win32
Chip Salzenberg [Mon, 24 Feb 1997 15:24:03 +0000]
Make *dbm tests work with Win32

27 years agoDon't use $4 when it might be undef
Chip Salzenberg [Tue, 18 Oct 1994 16:35:28 +0000]
Don't use $4 when it might be undef

27 years agoLimit @ISA to actual DBM in AnyDBM
Chip Salzenberg [Thu, 5 Sep 1996 21:14:21 +0000]
Limit @ISA to actual DBM in AnyDBM

27 years ago[dummy merge]
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

27 years agoCPAN & TRL-Gnu
Chip Salzenberg [Wed, 2 Apr 1997 22:03:25 +0000]
CPAN & TRL-Gnu

(this is the same change as commit 8fe3829d7944eb627ee5360e65ca8f7afe76886d, but as applied)

27 years agoCPAN & TRL-Gnu
Achim Bohnet [Fri, 4 Apr 1997 08:09:03 +0000]
CPAN & TRL-Gnu

p5p-msgid: 9704040809.AA26143@o09.rosat.mpe-garching.mpg.de

27 years agoUpdate AutoLoader and docs; support C<use AutoLoader 'AUTOLOAD'>
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>

27 years agoRe: shared lib compilation problem with miniperl5.003_97
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

27 years agorunlevel is I32, not int
Roderick Schertler [Thu, 3 Apr 1997 23:23:43 +0000]
runlevel is I32, not int

p5p-msgid: 2848.860109823@eeyore.ibcinc.com

27 years agoAmigaOS update
Norbert Pueschel [Thu, 3 Apr 1997 14:16:51 +0000]
AmigaOS update

private-msgid: 77724828@Armageddon.meb.uni-bonn.de

27 years agoFix AUTOLOAD, or kill me
Chip Salzenberg [Wed, 2 Apr 1997 22:03:18 +0000]
Fix AUTOLOAD, or kill me

27 years ago[differences between cumulative patch application and perl-5.003_97]
Chip Salzenberg [Tue, 1 Apr 1997 00:01:35 +0000]
[differences between cumulative patch application and perl-5.003_97]

27 years ago[inseparable changes from match from perl-5.003_96 to 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

27 years agoWin32 update
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

27 years ago[dummy merge]
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

27 years agoFix MM doc's use of "SUPER::"
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)

27 years agoFix MM doc's use of "SUPER::"
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

27 years agoImprove heuristics for pod2man titles
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

27 years ago[dummy merge]
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

27 years agoDocument eval vs. sub in Benchmark
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)

27 years agoDocument eval vs. sub in Benchmark
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

27 years agoTweaks to constant.pm
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.

27 years agoEliminate warnings in File::Basename
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

27 years agoFix POSIX::raise()
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

27 years agoUpdate $VERSION of ExtUtils::Embed to reflect reality
Chip Salzenberg [Sat, 29 Mar 1997 23:46:06 +0000]
Update $VERSION of ExtUtils::Embed to reflect reality

27 years agoRefresh ExtUtils::Manifest to 1.33
Andreas Koenig [Fri, 7 Mar 1997 13:12:26 +0000]
Refresh ExtUtils::Manifest to 1.33

27 years agoRefresh CPAN to 1.24
Andreas Koenig [Mon, 17 Feb 1997 23:59:13 +0000]
Refresh CPAN to 1.24

27 years agoRemove target before link() of perldiag.pod
Chip Salzenberg [Sat, 29 Mar 1997 23:46:57 +0000]
Remove target before link() of perldiag.pod

27 years ago[dummy merge]
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

27 years agoReduce memory footprint of literal strings
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)

27 years agoReduce memory footprint of literal strings
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

27 years agoDon't use a completely empty macro parameter
Chip Salzenberg [Sat, 29 Mar 1997 23:48:07 +0000]
Don't use a completely empty macro parameter

27 years agoImprove definition of Sock_size_t
Chip Salzenberg [Sun, 30 Mar 1997 03:38:21 +0000]
Improve definition of Sock_size_t

27 years agoDon't use setjmp() and longjmp() in complex exprs
Chip Salzenberg [Mon, 31 Mar 1997 06:38:42 +0000]
Don't use setjmp() and longjmp() in complex exprs

27 years ago[differences between cumulative patch application and perl-5.003_96]
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
[differences between cumulative patch application and perl-5.003_96]

27 years ago[inseperable changes from patch from perl-5.003_95 to perl-5.003_86]
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)

27 years agoPod updates
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>

27 years agoperlvar.pod patch
Gisle Aas [Wed, 26 Mar 1997 12:54:00 +0000]
perlvar.pod patch

p5p-msgid: 199703261254.NAA10237@bergen.sn.no

27 years ago[dummy merge]
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

27 years agoperlfunc.pod patch
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

27 years agoPatch for perl.pod
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)

27 years agoPatch for perl.pod
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

27 years agoSuggest to upgraders that they try '-w' again
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

27 years ago[dummy merge]
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

27 years agoMinor string change in toke.c: 'bareword'
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

27 years agoINSTALL-1.11
Chip Salzenberg [Tue, 25 Mar 1997 19:04:34 +0000]
INSTALL-1.11

(this is the same change as commit a5d126c22eb526701c899be27a05a7d0d93dff97, but as applied)

27 years agoINSTALL-1.11
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

27 years agoRe: strict @F
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

27 years agoTiny doc fix for AutoSplit.pm
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

27 years agoRe: embedded perl and top_env problem
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

27 years ago[dummy merge]
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

27 years agoRe: 5.004's new srand() default seed
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

27 years agoPatch for Benchmark.pm
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)

27 years agoPatch for Benchmark.pm
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>

27 years agoTypo in perl.c: Printing NO_EMBED for perl -V
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

27 years agoC<new SelectSaver $fh> doesn't always restore
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

27 years agosafefree() mismatch
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

27 years agoRe: $whoami calculation in Sys::Syslog.pm should not be greedy
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

27 years agoRe: Pod problems & fixes
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

27 years agoFix C<print $_> in debugger
Ilya Zakharevich [Mon, 31 Mar 1997 23:55:55 +0000]
Fix C<print $_> in debugger

private-msgid: 199703312355.SAA01068@monk.mps.ohio-state.edu

27 years agoAllow for coexistence of various versions of perldiag.pod
Chip Salzenberg [Sat, 22 Mar 1997 03:57:24 +0000]
Allow for coexistence of various versions of perldiag.pod

27 years agoEliminate unused dummy variable
Doug MacEachern [Thu, 27 Mar 1997 01:23:14 +0000]
Eliminate unused dummy variable

private-msgid: 199703270123.UAA25454@postman.osf.org

27 years agohints/freebsd.sh update (don't use -lmalloc)
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

27 years agoDie on patterns that will match empty string forever
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

27 years ago[differences between cumulative patch application and perl-5.003_95]
Chip Salzenberg [Sat, 22 Mar 1997 03:34:25 +0000]
[differences between cumulative patch application and perl-5.003_95]

27 years ago[inseparable changes from match from perl-5.003_94 to 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

27 years agoPod problems & fixes
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

27 years agoDB_File documentation fix
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

27 years agoMissing item in perldiag
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

27 years agoMention and discourage use of term 'soft reference'
Chip Salzenberg [Tue, 31 Dec 1996 06:52:38 +0000]
Mention and discourage use of term 'soft reference'

27 years agopods for subroutine argument autovivication
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

27 years agoImprove pod2man diagnostic when NAME is invalid
Chip Salzenberg [Fri, 21 Mar 1997 02:38:44 +0000]
Improve pod2man diagnostic when NAME is invalid

27 years agoINSTALL-1.8 to INSTALL-1.9 updates
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

27 years ago[dummy merge]
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