Tim Bunce [Tue, 30 Sep 1997 14:27:09 +0000]
Maintenance 5.004_03 changes (addendum)
p4raw-id: //depot/maint-5.004/perl@83
Tim Bunce [Tue, 30 Sep 1997 14:11:29 +0000]
Maintenance 5.004_03 changes
p4raw-id: //depot/maint-5.004/perl@82
Tim Bunce [Tue, 30 Sep 1997 13:17:27 +0000]
Maintenance 5.004_02 changes
p4raw-id: //depot/maint-5.004/perl@81
Tim Bunce [Fri, 5 Sep 1997 00:00:00 +0000]
[inseperable differences to perl 5.004_03]
[editor's note: the following patches could not be applied from the
list messages. There are also various unattributed changes.]
------ BUILD PROCESS ------
Title: "Configure can stop without fully explaining itself"
From: Jim Anderson <jander@ml.com>
Msg-ID: <
199708111328.JAA28976@nsd15.ny-swaps-develop.ml.com>,
<
199708111952.PAA29346@nsd15.ny-swaps-develop.ml.com>
Files: Configure
------ CORE LANGUAGE ------
Title: "GNU style perl --version (or any other --foo) ignored"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Kenneth Albanowski
<kjahds@kjahds.com>, Stephen McCamant <alias@mcs.com>
Msg-ID: <E0wx8MO-0007BS-00@ursa.cus.cam.ac.uk>,
<Pine.LNX.3.93.
970813122557.9443C-100000@kjahds.com>,
<m0wy8nl-000EYgC@alias-2.pr.mcs.net>
Files: pod/perldiag.pod perl.c
------ DOCUMENTATION ------
Title: "perlop pod inconsistent in presentation of regexp options"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hans Mulder <hansm@icgned.nl>,
jmr@whirlwind.fmr.com
Msg-ID: <
199708061404.KAA06717@whirlwind.fmr.com>,
<
199708081505.LAA09810@whirlwind.fmr.com>,
<1997Aug7.160530.2196011@hmivax.humgen.upenn.edu>,
<E0wwnqc-00057s-00@ursa.cus.cam.ac.uk>,
<E0wwswg-00017x-00@ursa.cus.cam.ac.uk>
Files: pod/perlop.pod
[ 2 messages had applied changes,
d1a7f0f436d72614358862f92db9613296be2744 and
b7e30b65e77616e7336a6cda54d9c3d5935d0cfc ]
------ PORTABILITY - WIN32 ------
Title: "[PATCH] Win95-proofing pl2bat"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199708121733.NAA14888@aatma.engin.umich.edu>
Files: win32/bin/*.bat
[
d444a43172237b6bdd9f0a52017be3b0d792aa5c didn't apply the deletion
patches, so the deletes in this commit are a carried error ]
------ PORTABILITY - OTHER ------
Title: "5.004_02 Configure - worrying but normal errors displayed to user"
From: Paul Marquess <pmarquess@bfsec.bt.co.uk>, pmarquess@bfsec.bt.co.uk
(Paul Marquess)
Msg-ID: <
01BCA3DE.E257BFC0.pmarquess@bfsec.bt.co.uk>,
<
9708102159.AA11726@claudius.bfsec.bt.co.uk>
Files: Configure os2/diff.configure
[ one patch found, see
61167c6fd6d55c5f975404dcb56c3d0a87cd2c21 ]
Title: "Minor glitch with Perl 5.004_01 on SunOS 4.1.3 (groupstype)"
From: thad@thadlabs.com (Thad Floryan)
Msg-ID: <
9708111415.AA03808@thadlabs.com>
Files: hints/sunos_4_1.sh
Andy Dougherty [Tue, 12 Aug 1997 23:00:37 +0000]
Improve dual-universe comments in hints/sunos_4_1.sh
On Tue, 12 Aug 1997, Tim Bunce wrote:
> Here's the 5.004_03 trial 1 patch.
5.004_03 trial 1 included the following update to hints/sunos_4_1.sh:
p5p-msgid: Pine.SUN.3.96.
970812170358.14488E-100000@newton.phys
William Middleton [Thu, 4 Sep 1997 12:00:00 +0000]
[OK] Perl5.004_02 on Alpha NT
After applying the patch below, perl5.004_02 builds and passes
all tests 100% on Alpha NT with MSVC 4.2.
The patch simply wraps around the initialization code in
win32.c which calls _control87().
If desired, I can build a binary dist for Alpha NT based on
Sarathy's packlist for his.
Bill
p5p-msgid:
199708072100.OAA13141@ducks
Gurusamy Sarathy [Mon, 11 Aug 1997 18:44:42 +0000]
/x is not a valid shell switch on Win95
This one fixes `Invalid switch' messages on Windows95 when
running system() et al.
p5p-msgid:
199708121720.NAA14760@aatma.engin.umich.edu
Tom Christiansen [Thu, 4 Sep 1997 12:00:00 +0000]
perlfunc.pod error
Considering that writing "whom" for "who" is a pet peeve of mine,
I doubt whether I introduced that one, but let's please fix it anyway. :-)
p5p-msgid:
199708102235.QAA18420@jhereg.perl.com
Paul Marquess [Sun, 10 Aug 1997 10:54:01 +0000]
doc patch for pack("p",undef) packing a NULL pointer
I just noticed that the new feature where pack p/P will generate a NULL
pointer when given undef isn't documented anywhere. So here is a patch
p5p-msgid:
9708102159.AA11726@claudius.bfsec.bt.co.uk
John Redford [Thu, 4 Sep 1997 12:00:00 +0000]
perlop pod inconsistent in presentation of regexp options
[regarding
b7e30b65e77616e7336a6cda54d9c3d5935d0cfc]
Uh, I dont normally comment on patches, but I hope this is rejected. I
have no idea what the 'standard' is, but the modifier is not '/c' (I
dont recall if I refered to it that way in my first message, but I was
being coloquial if so), insofar as the '/' is part of another
syntactic structure which does not even require it to be a '/'.
Credited: Hans Mulder <hansm@icgned.nl>
p5p-msgid:
199708081505.LAA09810@whirlwind.fmr.com
Gurusamy Sarathy [Tue, 5 Aug 1997 04:12:49 +0000]
seen_dot declaration in perl.c needed for VMS
On Thu, 07 Aug 1997 13:04:38 -0000, Brad Hughes wrote:
>I'm not sure this is your bailiwick or not:
>
>After applying perl5_004m2t3 patch, perl.c compile dies with
>
>CC /Define=(DEBUGGING)/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/No
>List PERL.C
>
> if (!xfound && !seen_dot && !xfailed && (Stat(scriptname,&statbuf) < 0
>))
>........................^
>%CC-E-UNDECLARED, In this statement, "seen_dot" is not declared.
>at line number 1796 in file PERL_ROOT:[PERL5_004_01_03]PERL.C;2
>
>C<seen_dot> is not declared in C<#ifdef VMS> code.
Here's a patch. Hope this will go in 4_02 (if it works). Note
this just effectively disables the "'.' in PATH" addition to
the message on VMS. I don't know enough VMS to do anything
else :)
p5p-msgid:
199708072033.QAA09167@aatma.engin.umich.edu
Richard A. Wells [Thu, 4 Sep 1997 12:00:00 +0000]
typos in perl -h output
Typos in perl -h:
Usage: C:\PERL5.004_01\BIN\PERL.EXE [switches] [--] [programfile] [arguments]
[...]
-Idirectory specify @INC/#include directory (may be used more then once)
^^^^
-l[octal] enable line ending processing, specifies line teminator
^^^^^^^^^
[...]
-n assume 'while (<>) { ... }' loop arround your script
^^^^^^^
[...]
p5p-msgid:
6D0BF914BC@gateuhs.harvard.edu
Andy Dougherty [Tue, 12 Aug 1997 01:54:38 +0000]
Show Configure failure reason even with -s
Subject: [PATCH] Re: Problem during configure of perl5.00402
On Mon, 11 Aug 1997, Jim Anderson wrote:
> Configure is failing and not giving any indication why :-( Any help
> appreciated.
> Checking your choice of C compiler, libs, and flags for coherency...
> You have a BIG problem. Shall I abort Configure [y]
> Ok. Stopping Configure.
It's not giving any indication why because you're running in silent
mode. If you didn't have the '-s', you would have seen the contents of
UU/try.msg.
Of course, such a failure is certainly 'essential information' of the type
that Configure -s certainly ought to put out, so Configure probably ought
to have the following patch applied:
p5p-msgid: Pine.SUN.3.96.
970812141623.14256K-100000@newton.phys
Tim Bunce [Thu, 4 Sep 1997 12: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
Tim Bunce [Thu, 4 Sep 1997 12:00:00 +0000]
perlbug -d non-interactive (with patch)
(this is the same change as commit
3eccf6d0e7f74349d397cf28f511c9dfc1b064ba, but as applied)
Ted Ashton [Wed, 6 Aug 1997 22:14:59 +0000]
perlbug -d non-interactive (with patch)
Greetings,
When I am writing to module authors about their modules, I sometimes want to
include the output of perlbug -d at the end of my message. I tried (in vi)
!!perlbug -d, but perlbug complained about being non-interactive. I checked
the source and found a simple fix. I split the check for opt_d off from the
!-t STDOUT and moved it above the if(!-t STDIN).
p5p-msgid:
199708071418.KAA15711@ns.southern.edu
Bill Glicker [Fri, 5 Sep 1997 00:00:00 +0000]
SCO Openserver 5.0.4 - add comment to hint file re compiler bug
Perl 5.004_02 successfully compiles and passes all tests under SCO
Openserver 5.0.4p.
However, there is a bug in the Optimizing C Compiler (ver 2.1.4d). When
using icc as the compiler, optimization must either be turned off or set to
"-O0" -- otherwise the "pack" tests fail. The bug has been reported to SCO.
p5p-msgid: Pine.SCO.3.96.
970811153021.18457A-100000@laura.burrelles.com
Chris Nandor [Fri, 5 Sep 1997 00:00:00 +0000]
Dynamic Loading on MkLinux (osname=linux,archname=ppc-linux)
MkLinux (osname=linux,archname=ppc-linux), which differs slightly from other
linuces, needs special flags passed in order for dynamic loading to work.
Perhaps this should be somehow incorporated into linux.sh or something? I'd
propose a patch, but this is not my area of expertise at all.
instead of the recommended:
ccdlflags='-rdynamic'
it should be:
ccdlflags='-Wl,-E'
Thanks to Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu> for pointing
this out.
Credited: Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
p5p-msgid:
33EF1634.B36B6500@pobox.com
Tim Bunce [Thu, 4 Sep 1997 12: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
Tim Bunce [Thu, 4 Sep 1997 12:00:00 +0000]
Win95-proofing pl2bat
(this is the same change as commit
b2dfa14c0b6969b69807f3aadd535d36b8ceb8d3, but as applied)
Gurusamy Sarathy [Mon, 11 Aug 1997 11:01:26 +0000]
Win95-proofing pl2bat
This patch+shell script removes all the *.bat files in
the distribution. Instead, these files will be created
during build time (which will take care of making sure they
work on Win95, in that silly only-nine-args way).
pl2bat is now a little smarter.
p5p-msgid:
199708121733.NAA14888@aatma.engin.umich.edu
Tom Horsley [Fri, 5 Sep 1997 00:00:00 +0000]
CPAN Use of uninitialized value in newest perl
p5p-msgid:
9708091738.AA16435@amber.ssd.hcsc.com
Jarkko Hietaniemi [Fri, 5 Sep 1997 00:00:00 +0000]
5.004_02: Complex/Trig: update
The following patches do not fix actual grave errors but they do:
- make the code more robust (more discontinuities catched)
(e.g. atan(-i), atanh(-1))
- make the results agree on signs and/or conjugate forms with the
results MATLAB gives: the results were already correct thanks to
the periodicity of trig funcs but now they are also consistent.
(e.g. acos(x) did have an unnecessary discontinuity at x = 0)
- for some pure real arguments short-circuit the calculation
to avoid rounding errors (which make epsilons appear where
clear zeros should reign)
Tested on NetBSD 1.2G i686, Linux 2.0.25 i686, Digital UNIX 4.0 EV56.
p5p-msgid:
199708081842.VAA31214@alpha.hut.fi
Mike Stok [Fri, 5 Sep 1997 00:00:00 +0000]
patch for documentation error in FileCache.pm
I think that this patch brings FileCache's pod documentation into line
with the module's behaviour.
Credited: Unknown Contributor <mikebo@tellabs.com>
p5p-msgid: Pine.LNX.3.95.
970810143321.437C-100000@stok.co.uk
Andrew M. Langmead [Fri, 5 Sep 1997 00:00:00 +0000]
The description of the \Q metacharacter is confusing to novices
The perlre man page talks about "quoting" metacharacters. This may
not be the easiest terminology for novice perl programmers to
understand. Also this man page seems to downplay the utility
of the quotemeta() function and \Q escape sequence compared
to the older idiom of s/(\W)/\\$1/g
Maybe text similar to the changes below would be clearer.
p5p-msgid:
199708101946.AA06339@world.std.com
M.J.T. Guy [Fri, 5 Sep 1997 00:00:00 +0000]
pod2man generated .IX lines upset whatis on Solaris
Subject: Re: Perl generates incorrect manpages
John Redford wrote
> Perl is generating manpages which contain lines like:
> .SH "NAME"
> .IX Header "NAME"
> perlbot \- Bag'o Object Tricks (the BOT)
>
> Which on Solaris at least causes the manpage index to think that '.IX'
> 'header' and '"NAME"' are all manpages.
There was a thread about this about two weeks ago under the subject
"Re: pod2man .IX question (for Solaris bug fix)". Kurt Starsinic
posted a patch which didn't get into the 5.004_02 release, probably because
it appears to be incorrect (see below).
> This is trivially fixed by
> moving the .IX to before the .SH:
>
> .IX Header "NAME"
> .SH "NAME"
> perlbot \- Bag'o Object Tricks (the BOT)
It may need something more complicated, since Kurt wrote
:I would like to keep them, if possible, but moving them down a line or two
:doesn't solve the problem. Following is a patch which moves all of the .IX
:lines to the end of the man page, which (I believe) will appease all
:interested parties. This patch DTRT under Solaris 2.5.1/SPARC and OSF1
:V4.0/DEC Alpha, both running perl 5.004 (no patches):
I doubt this last assertion, since I noted a couple of suspicious looking
bits in the patch (in a subsequent message in the above thread). This
is perhaps why Tim didn't include it in 5.004_02. (Also, the patch
was for pod2man rather than pod2man.PL.)
I attach below Kurt's patch with my corrections. I've checked that this
doesn't actually wreck pod2man totally, but I can't test it further since
i) I don't know what the .IX is meant to do.
ii) I don't actually know what the code is meant to be doing.
iii) I don't have a suitable Solaris (etc) system to try on.
Perhaps someone else could take this further.
Credited: John Redford <jmr@whirlwind.fmr.com>
Credited: Kurt Starsinic <kstar@isinet.com>
p5p-msgid: E0wxoUZ-0006Ee-00@ursa.cus.cam.ac.uk
M.J.T. Guy [Fri, 5 Sep 1997 00:00:00 +0000]
perlop pod inconsistent in presentation of regexp options
ts <decoux@moulon.inra.fr> wrote
> man perlop :
>
> entry in the perlfunc manpage.) A failed match
> normally resets the search position to the beginning
> of the string, but you can avoid that by adding the
> "c" modifier (e.g. m//gc). Modifying the target
> string also resets the search position.
Doh! Didn't see that. My excuse is that a search for "/c" doesn't find
it. And since all other modifiers are referred to as C</g> etc, I
submit the following micropatch.
Credited: Hans Mulder <hansm@icgned.nl>
Credited: John Redford <jmr@whirlwind.fmr.com>
p5p-msgid: E0wwnqc-00057s-00@ursa.cus.cam.ac.uk
Tim Bunce [Thu, 4 Sep 1997 12: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
Tim Bunce [Thu, 4 Sep 1997 12:00:00 +0000]
-D info in perlrun
(this is the same change as commit
5267b140323062798f51897718a803fcd7de637d, but as applied)
Stephen McCamant [Sat, 9 Aug 1997 07:27:41 +0000]
-D info in perlrun
This changes the description of -Do to its current meaning, tweaks the
entries for -Dl and -Dr, and makes the description prefer the letters
form to the numeric one.
Note 1: The code in magic_get() sets $^D to `debug & 32767', which
loses the value of -DD. Is this intentional?
Note 2: `Label stack' doesn't seem like an especially good name for
the thing -Dl traces. `Context' matches the name of the variable
`cxstack'. If we wanted to retain the letter, it could be called the
`loop' stack, since perlsyn says `A BLOCK by itself (labeled or not)
is semantically equivalent to a loop that executes once', s///g is
like a loop, and subs and formats, um, aren't that important anyway
:-).
Credited: Ilya Zakharevich <ilya@math.ohio-state.edu>
p5p-msgid: m0wxNNL-000EYgC@alias-2.pr.mcs.net
Hallvard B Furuseth [Fri, 5 Sep 1997 00:00:00 +0000]
Further fix to lseek's in lockf_emulate_flock
private-msgid:
199708102225.AAA16970@bombur2.uio.no
Ilya Zakharevich [Fri, 5 Sep 1997 00:00:00 +0000]
Some perldb -> PERLDB_* macro changes were missed
Subject: [PATCH] After 4_02 perldb again
A couple of places where perldb is mentioned slipped through the
cracks of the previous patch:
p5p-msgid:
199708100323.XAA27155@monk.mps.ohio-state.edu
Tim Bunce [Thu, 7 Aug 1997 00:00:00 +0000]
[inseperable differences up to perl 5.004_02]
[editor's note - this list of differences was built manually, so is
either a little inaccurate or the most well preened out of the
"unapplied changes" lists so far. It certainly didn't get the usual
injection of message bodies.
The aim of these changes is to give you a vector for finding a list
message if you have an annotate operation hit this commit]
------ BUILD PROCESS ------
Title: "[PATCH]: HP-UX 10 w/o transition links"
From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
Msg-ID: <
199706231650.AA070364627@hpcc123.corp.hp.com>
Files: Configure
Title: "INSTALL updates for GNU ld and __inet_* errors"
From: Andy Dougherty <doughera@newton.phys.lafayette.edu>
Files: INSTALL
------ CORE LANGUAGE ------
Title: "[PATCH] Additional patch for "Can't execute ...""
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Msg-ID: <
199707191651.MAA04897@monk.mps.ohio-state.edu>
Files: pod/perldiag.pod perl.c
See
21fc060b433a5fd003b9aca5789342207c46ada4 and
2a92aaa05aa1acbf01092228d30e9b1d7b2a3f61
Title: "[PATCH] Re: Can't pack literals as pointers"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199708012250.SAA20278@aatma.engin.umich.edu>
Files: pod/perldiag.pod pod/perlfunc.pod pp.c t/op/pack.t
On Wed, 25 Jun 1997 00:23:18 GMT, John Tobey wrote:
>
>IMHO, pack("p","foo") should evaluate to a pointer that's valid
>in the current context. pack("p",undef) should return the NULL
>value. Currently, they both produce the error "Modification of a
>read-only value attempted".
>
>This looks pretty easy to fix, so I've prepared a diff against
>the 5.004_01 distribution. This tests fine on my Linux. I hope
>I'm not introducing a memory leak or other ailment...
That doesn't look quite right to me. When provided a literal, you
should point at the actual literal (which normally has a global
lifetime), rather than making a mortal copy of it and pointing at
that. The mortal copy will be destroyed at the next statement
boundary, and you'll be left with a dangling pointer when you
unpack().
You're doing the very thing the XXX comment above was intended to
highlight.
I do agree that literals should be pack('p')-able. So, I'd suggest
the change be modified [...]
Title: "One-liner regex causes SEGV on 5.003 under HP-UX and Linux"
From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Msg-ID: <
199707061144.MAA04443@crypt.compulink.co.uk>
Files: regexec.c t/op/re_tests
[was originally credited as the same change as
44ed422101809141bc33c2b85c1cff357de4d7bf]
Title: "Free temps before calling END blocks", "Too late destruction"
From: Chip Salzenberg <chip@rio.atlantic.net>
Msg-ID: <m33erfv5hx.fsf@chany-p100.emwp.com>
Files: perl.c
Title: "Forbid "goto" into middle of foreach loop"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: pod/perldiag.pod pp_ctl.c
Title: "[PATCH] m2t2: problem in NetBSD 1.2D with sfio"
From: Jarkko Hietaniemi <jhi@iki.fi>
Files: perl.h
Title: "Forbid negative splice offset beyond array start"
From: "John L. Allen" <allen@gateway.grumman.com>, Chip Salzenberg
<chip@rio.atlantic.net>
Msg-ID: <Pine.SOL.3.91.
970625111744.19300A-100000@gateway>
Files: pp.c
Title: "Fix memory leak on eval 'sub {}'"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: pp_ctl.c
Title: "Fix C<qq #hi#>"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: toke.c
Title: "Don't warn about "${foo}" in string, even if &foo exists"
From: Chip Salzenberg <chip@rio.atlantic.net>
Files: toke.c
Title: "Perldb internal flag rehaul"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c
pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c
Title: "Fix C<print $foo x 2> parsing"
From: "Chuck D. Phillips (NON-HP Employee)" <cdp@hpescdp.fc.hp.com>, Chip
Salzenberg <chip@rio.atlantic.net>
Msg-ID: <
199706121737.KAA00503@palrel3.hp.com>
Files: toke.c
Title: "Fix lockf_emulate_flock() positioning"
From: Chip Salzenberg <chip@rio.atlantic.net>, gen@atd.rdc.ricoh.co.jp
Msg-ID: <
199706091132.UAA00895@wampa.atd.rdc.ricoh.co.jp>
Files: pp_sys.c
Title: "[PATCH] Make DEBUGGING_MSTATS info consistent"
From: Andy Dougherty <doughera@newton.phys.lafayette.edu>
Msg-ID: <Pine.SUN.3.96.
970731131529.3740A-100000@newton.phys>
Files: INSTALL pod/perldelta.pod perl.h
Title: "semctl broken under Linux"
From: Andreas Schwab <schwab@LS5.informatik.uni-dortmund.de>, Andreas
Schwab <schwab@issan.informatik.uni-dortmund.de>, Graham
Barr <gbarr@ti.com>, Tim Bunce <Tim.Bunce@ig.co.uk>
Msg-ID: <
33C38291.2D9302DA@ti.com>,
<
9707040912.AA03470@issan.informatik.uni-dortmund.de>,
<
9707041538.AA08946@toad.ig.co.uk>,
<
9707070924.AA11774@issan.informatik.uni-dortmund.de>,
<
9707090933.AA19012@issan.informatik.uni-dortmund.de>
Files: doio.c
[one change made it, as
8e591e46b4c6543ed80895327199c4a628ce11b6]
Title: "One-liner regex causes SEGV on 5.003 under HP-UX and Linux"
From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Msg-ID: <
199707061144.MAA04443@crypt.compulink.co.uk>
Files: regexec.c t/op/re_tests
[was originally credited as the same change as
44ed422101809141bc33c2b85c1cff357de4d7bf]
Title: "Fix up problems with *DBM tests"
From: Paul Marquess <pmarquess@bfsec.bt.co.uk>
Files: t/lib/gdbm.t t/lib/ndbm.t t/lib/odbm.t t/lib/sdbm.t
Title: "Faster int to string conversion",
"[PATCH} Re: memory leak in buffer
safety code"
From: Chip Salzenberg <chip@rio.atlantic.net>, Hugo van der Sanden
<hv@crypt.compulink.co.uk>, Tim Bunce <Tim.Bunce@ig.co.uk>
Msg-ID: <
199707140912.KAA09935@crypt.compulink.co.uk>,
<
199707142050.QAA20976@rio.atlantic.net>,
<
199707182035.VAA20990@crypt.compulink.co.uk>,
<
9707151040.AA02883@toad.ig.co.uk>
Files: global.sym sv.c
Title: "Fix '-' flag on sprintf() of floats"
From: Chip Salzenberg <chip@rio.atlantic.net>, Jarkko Hietaniemi
<jhi@iki.fi>
Msg-ID: <
199705270646.JAA02510@alpha.hut.fi>
Files: sv.c
Title: "Don't use atol() for unsigned values", "signedness problem in
pack("N", "value");"
From: Chip Salzenberg <chip@rio.atlantic.net>, Roger Espel Llima
<espel@llaic.univ-bpclermont.fr>
Msg-ID: <
19970531200007.40218@llaic.univ-bpclermont.fr>
Files: sv.c
Title: "Perldb internal flag rehaul"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c
pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c
Title: "[PATCH] Exporter new export_to_level method"
From: epeschko@elmer.tci.com (Ed Peschko)
Files: lib/Exporter.pm
Title: "[MM] Small patch to MakeMaker, new release"
From: "Andreas J. Koenig" <k@anna.in-berlin.de>
Msg-ID: <
199706281603.SAA10869@anna.in-berlin.de>
Files: lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm
lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_Unix.pm
lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm
Title: "CPAN.pm, $VERSION and nested (bundled) modules."
From: a.koenig@kulturbox.de (Andreas J. Koenig)
Files: lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm
lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
lib/ExtUtils/Mksymlists.pm
Title: "Time::Local patch (plus perl.c and filehand.t)"
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Files: lib/Time/Local.pm perl.c t/lib/filehand.t
Title: "Slightly safer signals"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: mg.c perl.c
Title: "Perldb internal flag rehaul"
From: Ilya Zakharevich <ilya@math.ohio-state.edu>
Files: pod/perldebug.pod pod/perlvar.pod perl.h gv.c mg.c op.c perl.c
pp_ctl.c pp_hot.c pp_sys.c sv.c toke.c
Title: "'use UNIVERSAL;' deprecated, do C<UNIVERSAL::isa()> instead",
"UNIVERSAL.pm and import methods"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Gisle Aas <aas@bergen.sn.no>,
Graham Barr <gbarr@ti.com>, Gurusamy Sarathy
<gsar@engin.umich.edu>, Hugo van der Sanden
<hv@crypt.compulink.co.uk>
Msg-ID: <
199706271701.NAA25664@aatma.engin.umich.edu>,
<
199706271904.UAA00120@crypt.compulink.co.uk>,
<
199706272054.QAA28913@aatma.engin.umich.edu>,
<
199706301554.LAA03763@aatma.engin.umich.edu>,
<
33B22248.7D7C1985@ti.com>,
<E0wf5TN-0006ps-00@taurus.cus.cam.ac.uk>,
<E0wguTR-0005bs-00@ursa.cus.cam.ac.uk>,
<E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk>,
<E0whfHh-0007bW-00@ursa.cus.cam.ac.uk>,
<E0wiyUG-00073j-00@taurus.cus.cam.ac.uk>,
<hiuyv6q9k.fsf@bergen.sn.no>
Files: lib/Class/Struct.pm lib/File/Compare.pm lib/File/Copy.pm
t/op/universal.t universal.c
[two changes made it, as
d704f39a0db2dc23790dfd9d7bd59ce9928a6e2c,
e09f3e01ccd721309f0eb0aae224d84db2e8436a]
------ PORTABILITY - WIN32 ------
Title: "[PATCH] Embedding threaded apps in perl.dll"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199707261518.LAA24346@aatma.engin.umich.edu>,
<
199707301833.OAA19570@aatma.engin.umich.edu>
Files: win32/win32.c
[one change made it, as
4dd614da4d1132b957c4951dd00f64d81b89dc20]
Title: "minor win32 scribbles"
From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
Msg-ID: <
199707270832.JAA19399@crypt.compulink.co.uk>
Files: README.win32
[nitpicking
f7c603cbfba7c97f77e257c42aa119ffdb47fe1e]
Title: "[PATCH] binary coexistence on win32", "[RESEND] [PATCH] binary
coexistence on win32"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199707250109.VAA02666@aatma.engin.umich.edu>,
<
199707301829.OAA19516@aatma.engin.umich.edu>
Files: lib/ExtUtils/Mksymlists.pm win32/win32.h win32/win32io.h
win32/win32iop.h win32/makedef.pl win32/win32.c
win32/win32io.c
Title: "WIN32 Build - pod2xxx.bat Missing?", "[PATCH] Re: WIN32 Build -
pod2xxx.bat Missing?"
From: Chris Williams <chrisw@netinfo.com.au>, Gurusamy Sarathy
<gsar@engin.umich.edu>
Msg-ID: <
199707011423.KAA15855@aatma.engin.umich.edu>,
<
33B8B962.D96FA1F5@netinfo.com.au>
Files: win32/Makefile win32/makefile.mk
Title: "[PATCH] docs for win32 utilities"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199707250045.UAA02510@aatma.engin.umich.edu>
Files: win32/bin/pl2bat.bat win32/bin/runperl.bat
Title: "[PATCH] trial2: some batch files won't run"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199708040226.WAA17301@aatma.engin.umich.edu>
Files: win32/bin/pl2bat.bat win32/bin/runperl.bat
Title: "[PATCH] win32 extras and embedding"
From: Gurusamy Sarathy <gsar@engin.umich.edu>
Msg-ID: <
199707250232.WAA03421@aatma.engin.umich.edu>,
<
199707301831.OAA19528@aatma.engin.umich.edu>
Files: dosish.h win32/win32.h perl.c win32/config.bc win32/config_H.bc
win32/makedef.pl win32/perllib.c win32/win32.c
[one change was applied (hastily), as
ad2e33dc060dc2ccf73a5ff1557a69a9b09c30c8]
------ PORTABILITY - OTHER ------
Title: "Additional OS/2 patches"
From: Gurusamy Sarathy <gsar@engin.umich.edu>, Ilya Zakharevich
<ilya@math.ohio-state.edu>
Msg-ID: <
199708020823.EAA19521@monk.mps.ohio-state.edu>,
<
199708021424.KAA28561@aatma.engin.umich.edu>,
<
199708042108.RAA27671@aatma.engin.umich.edu>
Files: README.os2 os2/Changes perl.c
[one change was applied, as
d8c2d278168b862ff4120ad8e5887d37d31f858b]
Title: "make depend loop fix and minor OS/2 improvements to build process"
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Files: Makefile.SH hints/os2.sh os2/Makefile.SHs
Title: "Minor VMS patches"
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
Msg-ID: <01ILCUO6XXTE000WFK@hmivax.humgen.upenn.edu>
Files: lib/ExtUtils/MM_VMS.pm vms/vmsish.h vms/descrip.mms vms/test.com
vms/vms.c vms/ext/filespec.t
Title: "[PATCH] Two un-disabled tests for VMS"
From: Dan Sugalski <sugalsd@lbcc.cc.or.us>
Msg-ID: <3.0.2.32.
19970718095842.00879220@stargate.lbcc.cc.or.us>
Files: vms/test.com
Title: "fix substr fix (tests 27 etc)", "perl5.004_02 trial 1 available
(with substr bug and still some"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Hugo van der Sanden
<hv@crypt.compulink.co.uk>, Jarkko Hietaniemi <jhi@iki.fi>
Msg-ID: <
199707301759.SAA02899@crypt.compulink.co.uk>,
<
199707302228.BAA18032@alpha.hut.fi>,
<
199707310929.KAA06515@crypt.compulink.co.uk>,
<E0wtruH-0002JM-00@ursa.cus.cam.ac.uk>
Files: pp.c
Title: "Fwd: substr("foo", -1000)", "substr: warn if substring doesn't
intersect original at all"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Jarkko Hietaniemi <jhi@iki.fi>
Msg-ID: <
199707100655.JAA14924@alpha.hut.fi>,
<E0wm1JG-0000UY-00@taurus.cus.cam.ac.uk>
Files: pod/perlfunc.pod pp.c t/op/substr.t
[one change was applied, as
d9fdd1afe4b88705294e21dc4e070c42d3d9a4d8]
Title: "[PATCH] Changes for VMS 7.1 support"
From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>, Dan Sugalski
<sugalsd@lbcc.cc.or.us>
Msg-ID: <01ILDXUH0J1W00026U@hmivax.humgen.upenn.edu>,
<3.0.2.32.
19970718095935.0087a2d0@stargate.lbcc.cc.or.us>
Files: vms/sockadapt.h vms/config.vms vms/sockadapt.c
------ DOCUMENTATION ------
Title: "Document bug fix in localization of $1 etc."
From: Chip Salzenberg <salzench@nielsenmedia.com>
Files: pod/perldelta.pod
Title: "[BUG:PATCH] Missing semicolon message wrong in perldiag"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>
Msg-ID: <E0welEn-0002vT-00@taurus.cus.cam.ac.uk>,
<E0wfRJU-0006Aw-00@taurus.cus.cam.ac.uk>
Files: pod/perldiag.pod
[one change was applied, as
702d120df290e0de1b21f167f7d0110b35ee2fef]
Title: "OK: perl <some_version> on <some_system> (corrected)", "enhancements
to perlbug -ok"
From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk>, Stephen McCamant <alias@mcs.com>
Msg-ID: <E0wukVt-0006Da-00@ursa.cus.cam.ac.uk>,
<E0wvMQl-00055y-00@ursa.cus.cam.ac.uk>,
<m0wv81x-000EYPC@alias-2.pr.mcs.net>
Files: utils/Makefile utils/perlbug.PL
Title: "perldoc doesn't grok Win32 UNC paths"
From: Warren Jones <wjones@tc.fluke.com>
Msg-ID: <97Jun17.184420pdt.35728-1@gateway.fluke.com>,
<97Jun18.165618pdt.35713-1@gateway.fluke.com>
Files: utils/perldoc.PL
[one change was applied, as
f72119fc50f0d88b02501ba41112f82ab99f0c3b]
Ilya Zakharevich [Mon, 16 Jun 1997 00:18:02 +0000]
perldoc under OS/2
We split path on $Config{path_sep} instead of '/' (Yes!), check for
.cmd and .bat files if needed, and use POSIX::tmpnam to get a tmp
file (last only on OS/2 for extra safety).
Enjoy,
p5p-msgid:
199707180340.XAA03114@monk.mps.ohio-state.edu
Warren Jones [Tue, 17 Jun 1997 13:34:32 +0000]
perldoc doesn't grok Win32 UNC paths
p5p-msgid: 97Jun17.184420pdt.35728-1@gateway.fluke.com
Ilya Zakharevich [Fri, 6 Jun 1997 03:35:40 +0000]
perlbug under OS/2
We actually check for return from sendmail (!), protect agains getpw*
missing in Perl, and do some harder work under OS/2.
Enjoy,
p5p-msgid:
199707180333.XAA03102@monk.mps.ohio-state.edu
Andreas Schwab [Wed, 2 Jul 1997 10:05:30 +0000]
perlbug broken
This is a bug report for perl from schwab@issan.informatik.uni-dortmund.de,
generated with the help of perlbug 1.17 running under perl 5.00401.
p5p-msgid:
9707040912.AA03466@issan.informatik.uni-dortmund.de
Charles F. Randall [Wed, 18 Jun 1997 00:03:33 +0000]
perlbug -ok [PATCH]
Here's a simple patch to perlbug.PL to add an "-ok" option for
reporting success. It includes the configuration data from the Config
module by forcing the -v option.
The resulting subject line on my system is,
OK: perl 5.00401 on freebsd 2.1.5-release
^version ^osname ^osvers
p5p-msgid:
199706181824.MAA04082@free.click-n-call.com
Gurusamy Sarathy [Tue, 5 Aug 1997 10:36:54 +0000]
perlbug - check sendmail and fix win32 tmp path
Subject: [PATCH] "perlbug" =~ /(bug){2}/
perlbug -ok fails to quit cleanly and save a copy of the report
if there is no sendmail.
Further, it saves the bugreport in the wrong place on win32
(c:\tempbugrep027) due to a missing path-separator.
The attached patch fixes both problems.
p5p-msgid:
199708060349.XAA15895@aatma.engin.umich.edu
Dan Sugalski [Wed, 6 Aug 1997 12:00:00 +0000]
Easier TCP stack selection for VMS
Here's a patch for [.vms]descrip.mms to make it a touch easier to use UCX
sockets instead of socketshr ones. (Use /Macro= DECC_SOCKETS=1 or
SOCKETSHR_SOCKETS=1 to select the stack)
It also skips the ?2P programs when compiling with __DEBUG__ support, as MMK
gets real unhappy up if you try. This is an evil hack, though, as the real
answer is to fix things so they work either way.
Hopefully Eudora hasn't word wrapped this...
p5p-msgid: 3.0.1.32.
19970624151939.00994490@stargate.lbcc.cc.or.us
Ilya Zakharevich [Mon, 9 Jun 1997 04:52:06 +0000]
Assorted OS/2 fixes
In article <
9706131709.AA05526@toad.ig.co.uk>,
Tim Bunce <Tim.Bunce@ig.co.uk> wrote:
> It give me great pleasure to announce the arrival of perl5.004_01.
Thank you for a great job! You even corrected os2/diff.configure!
Unfortunately, several sections of os2/diff.configure were erroneously
removed, so it will not create a valid config.sh any more (ar used
instead of $ar, and one extra method to extract symbols is not
tried). Unfortunately, I was away from my development machine, so
could not try it earlier.
A patch to correct this problem, and some other ones, follows.
a) Missing sections restored;
os2/diff.configure
b) my_flock added to os2/os2.c (libc contains a dummy
implementation only) (switchable off in case CRT DLL
is fixed in this respect);
os2/os2ish.h os2/Makefile.SHs os2/os2.c
c) depending on architecture, waitpid may be implemented or not.
New define HAS_WAITPID_RUNTIME is added and wait4pid
corrected correspondingly;
os2/os2ish.h util.c
d) if -S was given and the file name contained \ , it was
nevertheless searched on path;
perl.c
e) updated:
os2/Changes README.os2
f) by default use better gcc optimization options (as mbeattie
advices):
hints/os2.sh
[editor's note: this was applied in the reverse order to one a couple
of commits ago]
p5p-msgid: 1997Jun16.163234.2091727@hmivax.humgen.upenn.edu
Ilya Zakharevich [Fri, 1 Aug 1997 11:12:36 +0000]
Additional patch is needed for os2/diff.configure
I spoke too quick, and in fact an additional patch is needed for
os2/diff.configure.
[editor's note: some failed hunks here, hunk header numbers had
changed]
p5p-msgid:
199708020745.DAA19483@monk.mps.ohio-state.edu
Ilya Zakharevich [Fri, 1 Aug 1997 11:58:26 +0000]
Additional OS/2 patches
This is yet-another after-candidate2 -S fix:
a) We enable adding extensions for -S search on OS/2 (needed for pod2man
in makemaker after binary install);
b) remove an extra stat();
c) Update docs;
Credited: Gurusamy Sarathy <gsar@engin.umich.edu>
[editor's note: one hunk from original patch was already applied]
p5p-msgid:
199708020823.EAA19521@monk.mps.ohio-state.edu
Gurusamy Sarathy [Thu, 31 Jul 1997 13:26:12 +0000]
win32_stat() fixes (2nd try)
Here's a better version (the earlier one didn't clear the
execute bit for some files). This one also enables a
test.
p5p-msgid:
199708040137.VAA16810@aatma.engin.umich.edu
Gurusamy Sarathy [Mon, 23 Jun 1997 23:07:34 +0000]
win32 tweaks
One of my earlier patches used the unportable MAXPATH
instead of MAX_PATH. The getenv() fix produced linker
warnings because of a missing declaration. This fixes
both problems.
p5p-msgid:
199707042150.RAA01065@aatma.engin.umich.edu
Gurusamy Sarathy [Thu, 24 Jul 1997 09:58:46 +0000]
win32 extras and embedding
This patch makes the various Win32-specific builtins available
in embedded perl.
It also fixes a problem with FP errors thrown by the Borland
runtime when doing something like C<perl -e "print(1.0e+26 % 1">.
The VC runtime doesn't throw those errors because FP errors are
off by default in VC, on in Borland. The patch adds code to always
turn them off. (This should ultimately be made user-settable via
$SIG{FPE}, when we have more robust signal handling).
I've also made Borland builds use gcvt(), which is available there,
and is much faster than sprintf().
Most of the size of the patch comes from moved code.
[editor's note: some of these changes are being applied in the wrong
order and changing slightly]
p5p-msgid:
199707250232.WAA03421@aatma.engin.umich.edu
Gurusamy Sarathy [Sun, 6 Jul 1997 12:40:58 +0000]
win32 docs and runperl.bat
This patch fills in some gaps in the docs, and adds
runperl.bat. The fix to pl2bat makes it so that
a #!perl line is always available, so that "perl -x"
always works on a batific file.
This goes over my previous win32 patches (esp. the exec
patch and the pl2bat patch). I'm going to post a
consolidated win32 patch here soon, never fear.
p5p-msgid:
199707070446.AAA29560@aatma.engin.umich.edu
Gurusamy Sarathy [Sat, 26 Jul 1997 06:56:48 +0000]
minor win32 scribbles
This patch updates the Config.pm templates to have more
reasonable entries.
Credited: Hugo van der Sanden <hv@crypt.compulink.co.uk>
p5p-msgid:
199707262307.TAA28410@aatma.engin.umich.edu
Gurusamy Sarathy [Sun, 22 Jun 1997 05:34:00 +0000]
getenv() after my_setenv() gets old entry on Win32
Perl uses the environment to communicate the -d:DProf
switch to itself.
Since the win32 code sets the operating system's env block
directly when my_setenv() is called, calls to the RTL's
getenv() won't see the changed environment, so the -d:Foo
option is not honored.
The attached patch fixes the problem by supplying our own
getenv() equivalent.
p5p-msgid:
199706231700.NAA23400@aatma.engin.umich.edu
Gurusamy Sarathy [Mon, 23 Jun 1997 22:49:12 +0000]
exec() fixed on win32
exec() doesn't work right on Win32 because of the UNIX-specific
do_exec().
This patch fixes that, and updates the README.win32 in spots.
p5p-msgid:
199706241525.LAA06554@aatma.engin.umich.edu
Gurusamy Sarathy [Sun, 22 Jun 1997 05:34:00 +0000]
Win32 sitelib intuition from DLL location
There is code for win32 that determines archlib from the location
of PERL.DLL. This is only 50% effective, as any sitelib at
the same location is not found.
This simple patch adds that feature. It is needed for the win32
binary distribution to work in a relocatable fashion.
[editor's note: perhaps only partially applied]
p5p-msgid:
199706231647.MAA23260@aatma.engin.umich.edu
Gurusamy Sarathy [Sun, 6 Jul 1997 00:10:22 +0000]
Minor fix for pl2bat.bat
A long time ago, on Tue, 24 Jun 1997 12:02:25 PDT, Warren Jones wrote:
>Scripts created by pl2bat pass themselves to perl with "perl -x -X %0.bat".
>Adding the ".bat" extension to %0 is unnecessary, since "perl -S" will
>try this automatically. It makes the script impossible to run from
>the MKS Korn shell, since that shell alway invokes batch files using
>the full path and ".bat" extension. Thus perl ends up getting a file
>name with *two* ".bat" extensions (foo.bat.bat) which doesn't work.
>A patch follows.
>
>Also, does anyone know why pl2bat uses "%1 %2 %3 ..." rather than %* ?
>Admittedly, all this dosish foolery is pretty lame.
%* does not work with 4DOS/NT. I just found out it can be made to
work there by setting C<ParameterChar = *> in the 4nt.ini file.
Since using %* eliminates the 9 arg limit for perl bat files,
I recommend this patch (which includes yours).
Credited: Warren Jones <wjones@tc.fluke.com>
p5p-msgid:
199707061843.OAA23874@aatma.engin.umich.edu
Gurusamy Sarathy [Fri, 25 Jul 1997 03:56:36 +0000]
Embedding threaded apps in perl.dll
[Resend: I forgot to cc p5p]
On Fri, 25 Jul 1997 17:22:09 EDT, Doug MacEachern wrote:
>> >Were you able to run Apache w/ mod_status & perl?
>>
>> Not yet, maybe tonight.
>
>Now I get "Unhandled execption in Apache.exe(PERL.DLL); 0x...:
>Access Violation." During perl_alloc(), win32_malloc() tries to
>pIOSubSystem->pfnmalloc(size), but it looks like pIOSubSystem has not
>been initialized at all (0x
00000000). I've poked around, guessing,
>tried adding:
>PERL_SYS_INIT(&argc,&args);
>SetIOSubSystem(&win32stdio);
The first thing I noticed was Apache is threaded, and mod_status
code will be invoked in a thread different from the main one.
The second thing I found out was I couldn't reproduce the problem
when running Apache with perl.dll produced by Borland.
Putting two and one together, I came up with this fix.
Note that another way to fix it would be to initialize
pIOSubSystem in DllMain's DLL_THREAD_ATTACH, but there is
no call for pIOSubSystem to be thread-local in the first
place (it is simply a pointer to an application level
global).
p5p-msgid:
199707261518.LAA24346@aatma.engin.umich.edu
Gurusamy Sarathy [Thu, 31 Jul 1997 13:26:00 +0000]
Sys::Hostname -w unclean in trial 2
Subject: [PATCH] trial2: Sys::Hostname -w unclean
The new Sys::Hostname generates a compiler warning.
[editor's note: the base for this one is wrong. Previously
gethostbyname was called in void context.]
p5p-msgid:
199708032055.QAA14278@aatma.engin.umich.edu
Gurusamy Sarathy [Thu, 31 Jul 1997 13:25:58 +0000]
MM_Unix.pm nits for Win32 DMAKE
This works around some problems DMAKE has with the new
MakeMaker in trial2.
p5p-msgid:
199708032051.QAA14248@aatma.engin.umich.edu
Jay Rogers [Thu, 31 Jul 1997 01:11:29 +0000]
perl debugger, win32, and emacs
The following patch is necessary for the perl debugger to run under
emacs on a win32 machine. The "or defined $ENV{EMACS}" is necessary
for the debugger to run under emacs shell-mode as well.
p5p-msgid:
199707311759.NAA13276@crooked-i.mitre.org
Paul Marquess [Fri, 11 Jul 1997 10:01:43 +0000]
PATCH: make DBM*_File modules sub-classable
Here is a patch to make the DBM*_File modules sub-classable.
The sub-class patch for DB_File will be along presently.
p5p-msgid:
9707121854.AA19472@claudius.bfsec.bt.co.uk
Gurusamy Sarathy [Wed, 18 Jun 1997 05:40:14 +0000]
[MM] [PATCH] Re: Liblist problems for MSWin32
On Wed, 18 Jun 1997 14:57:37 EDT, Owen Stenseth wrote:
>>>>>> "Sarathy" == Gurusamy Sarathy <gsar@engin.umich.edu> writes:
> Sarathy> On 18 Jun 1997 12:01:59 MDT, Owen Stenseth wrote:
> >> When building the extension on NT I ran into a problem with
> >> the Liblist. The linker supported on NT does not understand -L
> >> or -l switches so the contents of LDLOADLIBS and EXTLIBS cause
> >> an error in the linker.
>
> Sarathy> You should try 5.004_01. I added Liblist support for
> Sarathy> win32 in that version. It handles -l and -L flags, as
> Sarathy> well as default libraries that are sufficient for most
> Sarathy> purposes. Let me know if it doesn't work for you.
>
>I guess my latest.tgz was not the latest.
>
> Sarathy> If the problems you describe are with 5.004_01, please do
> Sarathy> send us your changes. Thanks.
>
>No but you do use $verbose instead of $Verbose at the very end of the
>_win32_ext sub in the 5.004_01 version.
Aak, that was a poor cut-and-paste job from the VMS code (where $Verbose
is rightfully called $verbose). Here's a patch, that also incidentally
corrects a typo in the VMS code.
p5p-msgid:
199706182152.RAA20273@aatma.engin.umich.edu
Ilya Zakharevich [Mon, 14 Apr 1997 05:12:18 +0000]
Repost of fork() debugger patch
Here is the repost of what was apparently lost during some turmoil on
p5-p.
Enjoy,
p5p-msgid:
199707252101.RAA11846@monk.mps.ohio-state.edu
Paul Marquess [Thu, 17 Jul 1997 10:47:30 +0000]
DB_File 1.15 patch
This patch for DB_File fixes a few minor bugs and adds the sub-class patch.
Patch from Gisle Aas <gisle@aas.no> to suppress "use of undefined
value" warning with db_get and db_seq.
Patch from Gisle Aas <gisle@aas.no> to make DB_File export only the
O_* constants from Fcntl.
Removed the DESTROY method from the DB_File::HASHINFO module.
Previously DB_File hard-wired the class name of any object that it
created to "DB_File". This makes sub-classing difficult. Now
DB_File creats objects in the namespace of the package it has been
inherited into.
p5p-msgid:
9707192117.AA01973@claudius.bfsec.bt.co.uk
Ken Shan [Sun, 6 Jul 1997 11:48:39 +0000]
Sys::Hostname should localize $SIG{__DIE__}
~s Sys::Hostname should localize $SIG{__DIE__}
When Sys::Hostname is trying various methods to get the hostname,
it should localize $SIG{__DIE__}. Patch follows. (I'm not sure
if $SIG{__WARN__} should also be localized.)
p5p-msgid:
199707070357.XAA18065@digitas.harvard.edu
Mathias Koerber [Wed, 6 Aug 1997 12:00:00 +0000]
perl5.004 Time::Local still broken
lib/Time/Local.pm is still broken under the new perl5.004.
In effect, when starting up it assumes that the tzsec variable
can be filled with the *current* time difference between
localtime and gmtime. However, there are timezones where this
p5p-msgid:
199706260452.MAA22647@dnssec1.singnet.com.sg
M.J.T. Guy [Thu, 10 Apr 1997 08:55:05 +0000]
Remove 'use UNIVERSAL;', switch to UNIVERSAL::isa()
Subject: Re: UNIVERSAL.pm and import methods
I wrote
> I've a sneaking feeling that I'm the only person who's tried to use
> this. And as you might guess from my bug reports, I've learnt the
> error of my ways.
I spoke too soon. There are three uses in the standard distribution.
The attached patch should get rid of them.
Probably worth doing this irrespective of how the UNIVERSAL/import
question is resolved.
p5p-msgid: E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk
M.J.T. Guy [Fri, 13 Jun 1997 04:08:45 +0000]
Exporter errors give wrong location
If you attempt to import a symbol which a module doesn't export, the
error is reported as in Exporter.pm rather than in the offending module,
because Exporter.pm uses warn instead of carp. Patch attached.
(Against either 5.004 or 5.004_01.)
p5p-msgid: E0wdJra-0000n8-00@taurus.cus.cam.ac.uk
Ilya Zakharevich [Fri, 6 Jun 1997 01:44:10 +0000]
Binary installers for Perl modules
The following patch makes it possible to trivially write a binary
installer for a module on a given platform.
This still leaves a question on binary uninstaller (on platforms where
there is a standard database of installed software, so it may be easy
to hook into it). Why is the uninstall target of Makefiles disabled?
Enjoy,
p5p-msgid:
199707210006.UAA06165@monk.mps.ohio-state.edu
M.J.T. Guy [Sun, 15 Jun 1997 07:27:52 +0000]
perl4 to perl5.004 converion with debugger problem
jmm@elegant.com (John Macdonald) wrote
> The other issue is an annoyance rather than a stopper. As cited
> in perl425traps, "stuff${'var}more stuff" is no longer
> supported, only $::var and ${::var} are recognized with a
> string. Changing the ' to :: means that the code is no longer
> perl4 compatible. I don't want to have ongoing work on two
> versions (perl4 and perl5), so the only good workaround, for
> now, is to break the string into:
>
> "stuff" . $'var . "more stuff"
>
> As I said, it's an annoyance - there's lots of them in the code
> and a significant proportion of the conversions to . would cause
> lines that ought to be wrapped for readability purposes.
>
> Is there any hope of getting the $' syntax recognized within
> strings? (Sigh, I'm sure it's too late for it to go into
> 5.004_01, though.)
I think it would be a very bad idea to retrofit this. Having single
quotes which don't start quoted strings is a syntactic ambiguity
nightmare. Consider soft references such as "stuff${'var'}more stuff".
(I presume that's why it had to be removed.)
You can avoid this problem, and not extend the lines quite as much, by
explicitly including the package name:
"stuff${main'var}more stuff"
which works compatibly in perl4 and perl5.
Attached is a suggested patch for perltrap.
p5p-msgid: E0wdKJY-00010w-00@taurus.cus.cam.ac.uk
John Macdonald [Mon, 7 Apr 1997 13:21:29 +0000]
patch to 5.004_01 perltrap.pod
I noticed that one entry was repeated, and the description for
both didn't really describe the full nature of the trap.
p5p-msgid:
9706231525.AA22790@revenge.elegant.com
Gurusamy Sarathy [Sun, 22 Jun 1997 02:49:16 +0000]
multiline commands in qx//
On Mon, 21 Jul 1997 15:50:03 EDT, Ilya Zakharevich wrote:
>In article <
199707202332.TAA05144@aatma.engin.umich.edu>,
>Gurusamy Sarathy <gsar@engin.umich.edu> wrote:
>> +the system's command shell for parsing (this is C</bin/sh -c> on Unix
>> +platforms, but varies on other platforms). If there are none, the
>> +argument is split into words and passed directly to execvp(), which is
>> +more efficient. Note: exec() and system() do not flush your output
>> +buffer, so you may need to set C<$|> to avoid lost output. Examples:
>
>"If there are none" should be changed to "if command contains no shell
>metacharacters".
Here's a newer version of that doc patch. Ignore the old one.
p5p-msgid:
199707212350.TAA18496@aatma.engin.umich.edu
Greg Bacon [Tue, 29 Jul 1997 04:23:43 +0000]
cool quote for perldebug
A by-product of #perl discussion [sic]. Take it or leave it.
p5p-msgid:
199707292140.QAA28579@adtrn-srv4.adtran.com
Doug MacEachern [Thu, 17 Jul 1997 11:04:28 +0000]
[BUG] perlembed.pod:power.c example
I think this one has been around since perlembed.pod first became more
than "Look at perlmain.c and do something like that" :-) This is on
top of the patch I sent the other day.
p5p-msgid:
199707181344.JAA10565@postman.opengroup.org
Ilya Zakharevich [Fri, 6 Jun 1997 02:58:12 +0000]
Updates to perlguts (repost)
Enjoy,
p5p-msgid:
199707152223.SAA00776@monk.mps.ohio-state.edu
M.J.T. Guy [Thu, 19 Jun 1997 06:00:07 +0000]
[BUG:PATCH] Missing semicolon message wrong in perldiag
This error message is different between the source and perldiag.pod, so
that "use diagnostics;" doesn't pick it up.
I have moved the message to be in the correct collating order,
_ignoring_ the initial TAB. Is this the right thing to do?
Is the ordering merely for the convenience of humans, or are there
programs which exploit it? I note that "use diagnostics;" doesn't.
Warning: This patch inserts a TAB into perldiag - make sure it stays
as a TAB.
p5p-msgid: E0welEn-0002vT-00@taurus.cus.cam.ac.uk
Stephen McCamant [Wed, 23 Jul 1997 01:34:46 +0000]
Magic info in perlguts, take 2
This patch supersedes the previous one, adding information about 'k',
'f', and 'U', as well as being more specific about 'A', 'a', 'c', 'g',
'L', and 'l'.
p5p-msgid: m0wr6P8-000EYLC@alias-2.pr.mcs.net
Doug MacEachern [Wed, 16 Jul 1997 11:34:17 +0000]
new perlembed.pod:match.c
I didn't see any negative (or positive) feedback on the new version of
the match.c perlembed example I posted in reply to someone's perlbug a
while back. So, here's a perlembed.pod patch.
p5p-msgid:
199707170355.XAA21370@postman.opengroup.org
Ilya Zakharevich [Mon, 9 Jun 1997 05:11:58 +0000]
Better "Can't locate auto/%s.al in @INC" error documentation
Subject: Re: perl 5.004_01 query: did something change relating to IO::Handle
In article <1997Jun23.211618.2091741@hmivax>,
Ilya Zakharevich <ilya@math.ohio-state.edu> wrote:
> I *thought* I corrected this message a year or two ago... The patch
> was probably lost, but it is very easy to restore it:
>
> Best, Ilya
>
> --- ./pod/perldiag.pod.old Mon Jun 9 17:11:58 1997
> +++ ./pod/perldiag.pod Mon Jun 23 18:14:30 1997
> @@ -611,6 +611,12 @@
> localize a package variable of the same name, qualify it with the
> package name.
>
> +=item Can't locate auto/%s.al in @INC
> +
> +(F) A function (or method) was called in a package which allows autoload,
> +but there is no function to autoload. Most probable cause is a misprint
> +in a function/method name.
> +
> =item Can't locate %s in @INC
>
> (F) You said to do (or require, or use) a file that couldn't be found
I think the following variant may be even better:
p5p-msgid: 1997Jun24.195847.2091744@hmivax.humgen.upenn.edu
Hans Mulder [Sun, 15 Jun 1997 11:26:47 +0000]
Duplicates in perlguts.pod
Seven entries in the API listing at the end of perlguts.pod are duplicated:
p5p-msgid:
9707082346.AA13231@ icgned.icgned.nl
private-msgid:
9707082346.AA13231@icgned.icgned.nl
Tom Horsley [Wed, 30 Jul 1997 01:24:15 +0000]
work around compiler bug on CX/UX (perl5.004_01)
This patch provides a work-around for a compiler bug on CX/UX systems (which
shows up as a failure in the 'w' format of pack). The
CXUX_BROKEN_CONSTANT_CONVERT ifdef flag is added to the hints/cxux.sh
compiler and pp.c is modified to avoid a compile time constant conversion
which fails based on that ifdef.
While I was in the hints file, I also added the magical
-Qtarget=M88110compat compiler option which makes it build code that will
run on both 88110 and 88100 CX/UX machines interchangably.
This patch was generated from a brand new copy of perl5.004_01, so I'm
confident there are no extraneous changes that slipped in. I even built
and tested and it passed all tests.
(I decided to go with option #3 in my previous mail about how to do the patch).
If its too late for 5.004_02, I wouldn't worry - it isn't very critical.
p5p-msgid:
9707301934.AA18594@amber.ssd.hcsc.com
M.J.T. Guy [Mon, 7 Jul 1997 12:37:51 +0000]
Fwd: substr("foo", -1000)
Subject: hmmm.
Isn't it weird that
substr("foo", -1000)
is silently converted to substr("foo", 0, 3) while
substr("foo", 1000)
always causes RETPUSHUNDEF and possibly a warning? I'd say there's
too much code in pp.c:pp_substr.
Credited: Jarkko Hietaniemi <jhi@iki.fi>
Credited: Tim Bunce <Tim.Bunce@ig.co.uk>
p5p-msgid:
9707072304.AA01069@toad.ig.co.uk
private-msgid:
199707100655.JAA14924@alpha.hut.fi
Andreas Schwab [Wed, 2 Jul 1997 10:04:38 +0000]
semctl broken under Linux
semctl(...,[GS]ETALL,...) passes an uninitialized pointer to the syscall.
Credited: Graham Barr <gbarr@ti.com>
Credited: Tim Bunce <Tim.Bunce@ig.co.uk>
p5p-msgid:
9707040912.AA03470@issan.informatik.uni-dortmund.de
private-msgid:
33C38291.2D9302DA@ti.com
Ilya Zakharevich [Sun, 15 Jun 1997 23:17:08 +0000]
Enable PERL_DEBUG_MSTATS without -DDEBUGGING_MSTATS
Subject: [PATCH]: reduced malloc patch
Since this problems arise again and again on the list, here is the
reduced malloc patch. It corrects the following problems:
a) several off-by-one in av_make();
b) Growing TMP on conversion number=>string;
c) Uncompatibility of -DDEBUGGING_MSTATS and system malloc;
(The first two problems are fixed by malloc_jumbo_2 as well, but the
2 chunks for "c" - in perl.c - were forgotten in that patch).
Enjoy,
p5p-msgid:
199707150829.EAA01291@monk.mps.ohio-state.edu
Gurusamy Sarathy [Sun, 27 Jul 1997 13:00:48 +0000]
Re: q and escaping paired delimiters
On Sun, 27 Jul 1997 19:57:31 EDT, Kenneth Albanowski wrote:
>In fact, the code in toke.c looks a little suspicious, as if a cut'n'paste
>error happened, and the balanced branch didn't get the cleanup it
>deserved. There's a "if term != '\\'" statement that does nothing, for
>example.
Keen. That same deadcode was in one of my post 4_01 patches
too (it does no damage, but like you say it serves no purpose
either).
>Here'a patch over 5.004_01 (although I'd expect it to work with most
>versions) to allow you to escape both the starting and end quotes for q
>(unbalanced and qq is unchanged), and the obligatory addition to the
>tests. If nobody has any complaints, I expect this will be in _02.
The toke.c hunk is "dangerous", in the sense that GNU patch will
apply it to the wrong branch, if it needs to offset the patch
due to later patches having been applied. This is thanks to
the two branches having the exact same 8 lines of code.
I of course recommend the change you suggest, and to prove
my faith, I attach my own version, which:
* eliminates the same deadcode in one of my later patches
* uses the more meaningful names in the balanced branch
* doesn't provoke the GNU patch problem with inadequate
context
Credited: Kenneth Albanowski <kjahds@kjahds.com>
p5p-msgid:
199707280516.BAA14055@aatma.engin.umich.edu
Kenneth Albanowski [Sun, 27 Jul 1997 06:49:26 +0000]
Re: q and escaping paired delimiters
On Sun, 27 Jul 1997 chrisn@rock.petersons.com wrote:
> $\ = "\n";
> print '\'this\'';
> print q{'this'};
> print q{{this}};
> print q{\{this\}};
>
> I would expect the output to be:
>
> 'this'
> 'this'
> {this}
> {this}
That this should be fixed makes perfect sense to me. You can view easily
view backwhacking both sides as a generalization of backwhacking the quote
for an unbalanced q''.
In fact, the code in toke.c looks a little suspicious, as if a cut'n'paste
error happened, and the balanced branch didn't get the cleanup it
deserved. There's a "if term != '\\'" statement that does nothing, for
example.
Here'a patch over 5.004_01 (although I'd expect it to work with most
versions) to allow you to escape both the starting and end quotes for q
(unbalanced and qq is unchanged), and the obligatory addition to the
tests. If nobody has any complaints, I expect this will be in _02.
Credited: Gurusamy Sarathy <gsar@engin.umich.edu>
p5p-msgid: Pine.LNX.3.93.
970727172201.350K-100000@kjahds.com
Gurusamy Sarathy [Wed, 23 Jul 1997 14:52:28 +0000]
-S flag fixes for DOSISH platforms
This patch supercedes the one posted here by Ilya
(Message-Id: <
199707191651.MAA04897@monk.mps.ohio-state.edu>).
There are no changes for Unix platforms over Ilya's
version. On DOSISH platforms, the initial check in
the current directory (or the actual path to the script,
if supplied) includes searching for valid extensions.
The fact that -S does not do a PATH search if the supplied
filename contains directory separators (on all platforms) is
documented. This behavior is similar to Unix and DOS shells.
Note -S *does* have an effect on DOSISH platforms even if no
PATH search happens: valid extensions will be checked for if
the file name is not found.
p5p-msgid:
199707250043.UAA02385@aatma.engin.umich.edu
Ilya Zakharevich [Mon, 9 Jun 1997 21:18:04 +0000]
$\1 and serious bug in evalling
A bug report of several hours ago (that you cannot enter $\1 in
debugger with some combinations of mallocs and ReadLines) is fixed by
this:
p5p-msgid:
199707262127.RAA12883@monk.mps.ohio-state.edu
Warren Jones [Wed, 18 Jun 1997 09:11:23 +0000]
Win32 UNC path causes autoload to fail
This is a bug report for perl from wjones@tc.fluke.com,
generated with the help of perlbug 1.17 running under perl 5.004.
p5p-msgid: 97Jun18.163826pdt.35714-1@gateway.fluke.com
Stephen McCamant [Sat, 26 Jul 1997 00:55:03 +0000]
Weirdness in sv_peek()
Tom Phoenix writes:
> On Sat, 26 Jul 1997, Stephen McCamant sent a patch and wrote:
>
> > I don't know what to say about this one.
>
> Well, it would be nice to tell us what it's supposed to accomplish! :-)
I've given it more thought, and I've thought of something to say. :-)
You've snipped the patch, but here's the gist of it:
Look at sv_peek(), around line 900 of sv.c. What this function does is
build a short description of the contents of an SV, for use in things
like -Ds stack dumps. It starts with an empty SV `t', and appends
various strings to it: the SV's type, its numeric value, etc. When
it's done, it returns the char * (PV) value of the SV. On line 955,
one case in the switch that has the type name ends in `return
tokenbuf'. tokenbuf is not a local variable, but a global one, not
used anywhere else in the function, that holds the last keyword token
that the lexer scanned. Why would the function return it when the SV
happened to be undefined?
I noticed this `weirdness', as I called it in the subject, when
running perl -Dts on a short program that had a bug in it:
/src/perl5.004_01+% dperl -Dts -e 'for ($x) { map(die, 0) }'
EXECUTING...
=>
(-e:0) enter
=>
(-e:0) nextstate
=>
(-e:1) pushmark
=> *
(-e:1) gvsv(main::x)
=> * die
(-e:1) gv(main::_)
=> * die GV()
(-e:1) enteriter
=> die
(-e:1) iter
=> die SV_YES
(-e:1) and
=> die
(-e:1) nextstate
=> die
(-e:1) pushmark
=> die *
(-e:1) const(IV(0))
=> die * IV(0)
(-e:1) mapstart
=> die * IV(0) ***
(-e:1) pushmark
=> die * IV(0) ****
(-e:1) die
Died at -e line 1.
Attempt to free unreferenced scalar.
Notice the large number of `die's. If I didn't know better, I'd think
perl was threatening me.
At the time I mailed the patch, the presence of that line in sv_peek()
didn't make any sense at all to me -- a total non sequitur. I
considered writing something about my puzzlement (even checking how to
spell `non sequitur'), but I couldn't think of anything fitting to
say.
In the time since, I've come up with a theory of where that line came
from. I don't have the source for any old 5.0 versions handy, but I
realized I did have a debugging binary of 5.003_07, and it didn't have
the bug. I now think this bug was introduced late in the 5.003_9?
series when Chip decided to fix every buffer overflow he could
find. Specifically, I theorize, sv_peek used to use tokenbuf to hold
the string it was working on, but it was changed to use an SV instead
of a fixed size buffer (that the SV was called `t' was a clue). The
fact that this line wasn't updated can then be chalked up to simple
oversight, and my sense of the order of the universe is intact.
Turns out I can say a lot about this, if I put my mind to it.
p5p-msgid: m0wsEMU-000EYLC@alias-2.pr.mcs.net
Warren Jones [Thu, 19 Jun 1997 09:57:20 +0000]
Minor Win32 glitch with -S flag
This is a bug report for perl from wjones@tc.fluke.com,
generated with the help of perlbug 1.17 running under perl 5.004.
p5p-msgid: 97Jun19.150511pdt.35717-2@gateway.fluke.com
Chip Salzenberg [Wed, 6 Aug 1997 12:00:00 +0000]
Fix double form() in XS version check
p5p-msgid:
199707210518.BAA13771@nielsenmedia.com
Dominic Dunlop [Sun, 15 Jun 1997 23:36:14 +0000]
-p does not check for failure of implicit print
Unlike modern incarnations of, say, awk and sed, perl -p does not check the
return status of the implicit print statement executed for each input
record.
Here's a patch against 5.004_01. ('ware wrapping: there's a long line
in it.) There's no test case: I couldn't think up a reliable,
portable and polite way of inducing a write error.
I think, in the specific case of the implicit print in -p, this is
non-controversial, and can go in the maintenance branch. That's not to say
that there are not programs using -p out there (probably CGI scripts) which
will surprise people by exiting noisily on encountering an error, rather
than continuing to do thewrong thing quietly. Does anybody know of any
widespread examples? Do we care?
More controversial error checking patch for implicit close of <ARGV>
to follow in separate bug report.
p5p-msgid: v
0311070aafea3fa83061@[194.51.248.75]
Matthias Neeracher [Sat, 21 Jun 1997 04:38:35 +0000]
sv_vcatpvfn hogs memory [Patch included]
This is a bug report for perl from neeri@iis.ee.ethz.ch
For each %x element to be inserted, sv_vcatpvfn grows the sv to SvLEN +
the size of the element. I strongly suspect that this is a typo, as this
totally defeats the purpose of the sv_grow buffering and leads to huge
sv's with most memory unallocated.
I have included a patch that I believe to be correct; I am not 100% sure
whether the "+1" is needed, too, but I suspect that it is.
As an aside, from my past two bug reports, I'm starting to believe that
it might be worthwhile to add monitoring of memory consumption to the
execution of the perl test suite: I noticed the bug when the execution of
the seemingly innocuous comp/colon.t failed with an out of memory error
attempting to allocate a huge (>10M) sv. I assume that the execution of
comp/colon.t on an UNIX system would consume just as much memory, but is
not usually noticed because a VM system can easily absorb this. Adding
memory consumption figures to the test reports, if this is possible to do
in a portable way, might uncover more bugs like this.
p5p-msgid:
199706211521.RAA12778@solar.ethz.ch
Hans Mulder [Sun, 15 Jun 1997 11:26:35 +0000]
infinite recursion in malloc() with some compile flags
Apologies if you see this twice, but I'm afraid my first attempt
fell into a black hole. Neither Achim's archive nor the NNTP
gateway seem to have recieved it.
If one tries to compile perl with all of
-DPACK_MALLOC -DHIDEMYMALLOC -DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC
then it's almost certain that miniperl will overflow the C stack on
its first attempt to call malloc().
This happens because with -DPACK_MALLOC Perl_malloc() expects sbrk()
to return 2K-aligned blocks and Perl_sbrk() provides the same sort
of alignments as the system malloc(), i.e. 8 bytes or so.
When Perl_malloc() notices the block returned by sbrk() isn't properly
aligned, it tries to croak("panic: Off-page sbrk"). Croak() calls
mess(); mess() calls mess_alloc(); mess_alloc() calls Perl_malloc();
Perl_malloc() again calls croak() and so on until the C stack overflows.
I see two problems here;
1. With -DPACK_MALLOC, Perl_sbrk() should return 2K-aligned blocks.
2. croak() should not recurse infinitely.
The patch below deals with #1. I'll think some more about #2.
p5p-msgid:
199706240050.CAA10550@xs2.xs4all.nl
Gisle Aas [Tue, 24 Jun 1997 03:46:11 +0000]
bless file handles as FileHandle if loaded else IO::Handle
Subject: Re: More info regarding the Can't locate error message [PATCH]
lvirden@cas.org (Larry W. Virden) writes:
> use FileHandle;
> STDERR->open("/tmp/errorsfile","w");
This patch tries to fix the problem by auto-blessing handles as
'FileHandle' if the FileHandle package has been loaded and IO::Handle
otherwise. The snag is that STDOUT, STDIN, STDERR are initialized
before 'use FileHandle' executes, so they are all initially blessed as
IO::Handles. We compensate by reblessing them in FileHandle.pm:
This makes Larry's example as well as the following code work:
use FileHandle;
open(F, "/dev/null") or die;
F->seek(0, 1) or die;
p5p-msgid: hyb80drrz.fsf@bergen.sn.no
Hugo van der Sanden [Sat, 14 Jun 1997 04:14:33 +0000]
Avoid core dump on some paren'd regexp matches
In article <
199706260526.XAA01060@lunkwill.ml.org> Jason wrote:
:This script causes Perl to dump core with a segmentation fault under
:Linux as well as HP-UX. Here's the script:
:
:#!/usr/local/bin/perl
:@justalist = ("foo\nbar" =~ /(\s|(foo)|(bar))*/ );
It does the same under 5.004_01. The reason is that on the second match
it tried to match (foo) and succeeded, leaving startp[2] and endp[2]
pointing to the beginning and end of the matched 'foo'. On the third
match, it tried to match (foo) and failed; in doing so, it overwrote
startp[2] with the startpoint it was trying to match ('bar'), but left
endp[2] unaltered.
If that third match had failed, no problem would occur - it would
restore startp[] and endp[] from saved copies. However, because the
third match then succeeded on the final alternate the modified
startp[] and endp[] were retained, leaving a mismatched pair of values
for $2.
The solution depends on what the answer should be - one interpretation
is that, since (foo) failed to match the last time it was tried, the
results should be ('bar', undef, 'bar'). The first patch below effects
this. Alternatively, you could say that it was more correct and/or
more useful for it to return the last successful match on (foo), in
which case you want the rather more complicated second patch below.
I'm not an expert on this stuff - Ilya, can you take a look at these
patches and tell me how broken they are, please?
My own feeling is that the second interpretation is more useful, but
I have much less confidence in the completeness of my patch for this.
No test cases supplied at this stage: Jason's testcase above should
suffice for the moment. Perl passes all tests here with either patch.
p5p-msgid:
199706261236.NAA03472@crypt.compulink.co.uk
M.J.T. Guy [Tue, 1 Apr 1997 13:39:21 +0000]
UNIVERSAL.pm and import methods (tests)
Hugo van der Sanden <hv@crypt.compulink.co.uk> wrote
> I find this form:
>
> if (ref($from) &&
> (UNIVERSAL::isa($from,'GLOB') || UNIVERSAL::isa($from,'IO::Handle'))) {
>
> really ugly. Has it been determined that UNIVERSAL can't simply be fixed in
> a way that avoids propagating the import?
I agree it's not very pretty. But my feeling is that this is something you
don't do very often. The File:: modules are something of a special
case, because of all the GLOB vs ref GLOB vs FileHandle vs IO:: stuff.
The four examples displayed in my patch really ought to be wrapped up
in some central routine, perhaps in IO::Handle.
My original message suggested two alternative methods.
I think (3) Kludge it is too disgusting to contemplate, but it's easy
enough to do. Perhaps someone can suggest a more elegant variant of the
theme.
I was originally in favour of (4) Hide it, but I've since observed
that the PODs are full of suggestions that you can add a method
to _all_ classes by defining UNIVERSAL::method. Which pretty much rules
out hiding.
> I also still feel that $object->isa('UNIVERSAL') should be true for any
> blessed reference - I tried asking about this a few times before, but
> never received an answer. As it currently stands, it will be true only
> if UNIVERSAL has been explicitly added to the package's @ISA, which to
> my mind should have no effect at all.
How quaint! I can't say I'd noticed that anomaly in my poking about.
The attached patch fixes that. It also radically extends the tests
for UNIVERSAL.
(The new tests assume that my patch to UNIVERSAL.pm has been done.)
p5p-msgid: E0whfHh-0007bW-00@ursa.cus.cam.ac.uk
Gurusamy Sarathy [Fri, 13 Jun 1997 03:34:36 +0000]
Re: Calling Perl from within C from within Perl
On Mon, 30 Jun 1997 13:26:33 EDT, Kenneth Albanowski wrote:
>[GIMME after perl_call*() coredumps]
>Is perl_call_sv mucking with the current op? That's the only problem that
>looks vaguely reasonable.
op will be null after perl_call_sv(), and GIMME looks in op to
find the context. I tend to use GIMME only in the declaration
initializers, so have never run into this trap before.
I recommend this patch.
p5p-msgid:
199706301829.OAA05426@aatma.engin.umich.edu
private-msgid:
199706301842.OAA05569@aatma.engin.umich.edu
Gurusamy Sarathy [Sun, 22 Jun 1997 02:47:36 +0000]
Fix intolerance of a space between "print" and opening paren
On Tue, 01 Jul 1997 09:44:49 BST, "M.J.T. Guy" wrote:
>Gurusamy Sarathy <gsar@engin.umich.edu> wrote
>> (BTW, Perl's intolerance of a space between "print" and the
>> opening paren under -w is quite annoying.)
>
>It may be annoying, but whenever I encounter it, it's _always_ telling me
>about an error.
At least not in these cases:
perl -we "print (1)"
perl -we "print (1) if 1"
perl -we "print (1) unless 0"
perl -we "print (1) while 0"
The attached patch carries the kludge a little farther to
avoid warnings in the last three cases.
p5p-msgid:
199707011421.KAA15836@aatma.engin.umich.edu
Gisle Aas [Tue, 1 Jul 1997 22:20:33 +0000]
stringify looses integerness
Gurusamy Sarathy <gsar@engin.umich.edu> writes:
> On 01 Jul 1997 20:49:15 +0200, Gisle Aas wrote:
> >The following patch (relative to perl5.004) makes this bug go away.
> >Perl still passes all it's tests and the original example works as it
> >did in perl5.003.
> >
> >--- sv.c.orig Tue Jul 1 20:26:40 1997
> >+++ sv.c Tue Jul 1 20:38:13 1997
> >@@ -1713,6 +1713,7 @@
> > sv_upgrade(sv, SVt_PVIV);
> > olderrno = errno; /* some Xenix systems wipe out errno here */
> > sv_setpvf(sv, "%Vd", SvIVX(sv));
> >+ SvIOK_on(sv); /* it is still valid */
> > errno = olderrno;
> > s = SvEND(sv);
> > }
>
> That should restore precisely those flags that were active
> before sv_setpvf() was called. eg: the case where {pIOK,NOK,pNOK}
> are set, the resulting SV should have {pPOK,POK,pIOK,NOK,pNOK}
> set.
NOK or pNOK can't be set at this point. The only possibility is that
pIOK is set and not IOK (but I don't know how can I trigger this
condition?)
This patch should then be safer (it also passes all tests):
p5p-msgid: hbu4l96z2.fsf@bergen.sn.no
Gurusamy Sarathy [Mon, 30 Jun 1997 22:17:12 +0000]
Eval fails in certain situations (eval "{'...")
On Sun, 20 Jul 1997 16:02:05 MDT, Dave Carrigan wrote:
>Eval will fail in the following situation:
>
>- eval'ing a string
>- the string represents an anonymous hash
>- the first key of the anon hash is single quoted, and contains an
> embedded single quote escaped with a backslash
>- using the form `` $ref = eval $string ''
>
>The MLDBM module uses this form of eval all the time, so the above
>situation actually has the potential to occur quite often.
>$string2 = "{'a\\'' => 'foo', 'b' => 'bar', 'c' => 'bat'}";
That is one of the cases where the note in perlref (about
disambiguating braces not preceded by anything else) applies.
However, in this particular case, the code that recognizes if
a literal string is the first thing inside the curlies is not
doing a thorough job of it. The attached patch should cure
it.
Note that you'll still need to write C<eval "{ $a => 'foo' }">
as C<eval "+{ $a => 'foo' }"> if you want it to evaluate as a
hashref. Perl only auto-disambiguates if the first thing in
the curlies is a literal string followed by a comma or =>.
I'll change MLDBM to conform, for the next release.
p5p-msgid:
199707211753.NAA14940@aatma.engin.umich.edu
Chip Salzenberg [Wed, 6 Aug 1997 12:00:00 +0000]
Do not constant-fold ops that depend on locale if C<use locale>
p5p-msgid:
199707210519.BAA13785@nielsenmedia.com
John Tobey [Tue, 24 Jun 1997 11:44:33 +0000]
Re: Can't pack literals as pointers
MHO, pack("p","foo") should evaluate to a pointer that's valid in the
urrent context. pack("p",undef) should return the NULL value.
urrently, they both produce the error "Modification of a read-only
alue attempted".
This looks pretty easy to fix, so I've prepared a diff against the
5.004_01 distribution. This tests fine on my Linux. I hope I'm not
introducing a memory leak or other ailment...
Credited: Tim Bunce <Tim.Bunce@ig.co.uk>
Credited: Gurusamy Sarathy <gsar@engin.umich.edu>