This is a live mirror of the Perl 5 development currently hosted at
24 years agoAvoid core dump on some paren'd regexp matches
Hugo van der Sanden [Sat, 14 Jun 1997 04:14:33 +0000 (16:14 +1200)]
Avoid core dump on some paren'd regexp matches

In article <> Jason wrote:
:This script causes Perl to dump core with a segmentation fault under
:Linux as well as HP-UX.  Here's the script:
:@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.


24 years and import methods (tests)
M.J.T. Guy [Tue, 1 Apr 1997 13:39:21 +0000 (01:39 +1200)] and import methods (tests)

Hugo van der Sanden <> 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

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

(The new tests assume that my patch to has been done.)


24 years agoRe: Calling Perl from within C from within Perl
Gurusamy Sarathy [Fri, 13 Jun 1997 03:34:36 +0000 (15:34 +1200)]
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.


24 years agoFix intolerance of a space between "print" and opening paren
Gurusamy Sarathy [Sun, 22 Jun 1997 02:47:36 +0000 (14:47 +1200)]
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 <> 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.


24 years agostringify looses integerness
Gisle Aas [Tue, 1 Jul 1997 22:20:33 +0000 (10:20 +1200)]
stringify looses integerness

Gurusamy Sarathy <> 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

This patch should then be safer (it also passes all tests):


24 years agoEval fails in certain situations (eval "{'...")
Gurusamy Sarathy [Mon, 30 Jun 1997 22:17:12 +0000 (10:17 +1200)]
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

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.


24 years agoDo not constant-fold ops that depend on locale if C<use locale>
Chip Salzenberg [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
Do not constant-fold ops that depend on locale if C<use locale>


24 years agoRe: Can't pack literals as pointers
John Tobey [Tue, 24 Jun 1997 11:44:33 +0000 (23:44 +1200)]
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 <>
Credited: Gurusamy Sarathy <>

24 years agoRe: Bug in Regular Expressions when using colon as delimiter
M.J.T. Guy [Mon, 7 Jul 1997 06:02:29 +0000 (18:02 +1200)]
Re: Bug in Regular Expressions when using colon as delimiter

Andreas Klussmann <> wrote
> using
>    $x =~ m:(?:xx):;
> instead of
>    $x =~ m:(?\:xx):;
> terminates perl immediatly (not in the debuger) and gives
>    Sequence (?
> and nothing more as error message.

This illustrates at least three bugs:

i)   The message is truncated because of the "NUL in argument to die"
     problem which I reported some time ago (and provided a kludge for

ii)  In any case, it would have produced an incorrect error message.

iii) This error and many (most? all?) other parsing errors in regular
     expressions cause compilation to be terminated.

The attached patch fixes (i) and (ii) but not (iii).    It also extends
the regexp tests to test the error messages generated rather than just
note that an error has occurred.

Additional points which I'll leave to someone else:

a)  (iii) needs fixing.

b)  I note that many regexp error messages are incorrect, as they quote
    the regexp as /(?/ rather than as (e.g.) m:(?: or s:(?::.

c)  My understanding of Chip's rework of sprintf was that it now provided
    a mechanism for including strings with embedded NULs.   Could this
    be used to provide a complete fix for (i) rather than kludging each
    case as it turns up?

d)  I strongly suspect that the regexp tests   a\    and    'a\'i
    are not doing what the author intended.    I've left them so they
    say "ok" regardless.    (Hint:   \' is recognised in a '' string.)


24 years agoBand-aid fix for local([@%]$x)
Stephen McCamant [Sun, 15 Jun 1997 09:23:45 +0000 (21:23 +1200)]
Band-aid fix for local([@%]$x)

This fixes the segfaults by extending the prohibition on `local($$x)'
to array and hash dereferences and removing the code that never
worked. It also adds simple test cases and a `through' to the error

The new explanation in perldiag isn't terribly clear, but the old one
told an untruth.

It should be possible to make local([$@%]$x) work by adding a new
SAVEt type, and I'd like to do so in the future, but that certainly
wouldn't be maintenance patch material.


24 years agoAdditional patch for "Can't execute ..."
Ilya Zakharevich [Sun, 15 Jun 1997 23:17:08 +0000 (11:17 +1200)]
Additional patch for "Can't execute ..."

The patch I sent a couple of hours ago was not enough.  In fact
delimcpy() was used wrongly when splitting PATH on dosish systems: '\\'
is not quoting ';' in PATH.

Fortunately, delimcpy() is used in very few places in the source, and
never with ';' as delimiter - outside of PATH context.  So we just fix
delimcpy() when the delimiter is ';'.



24 years ago: HP-UX 10 w/o transition links
Jeff Okamoto [Sun, 15 Jun 1997 22:23:58 +0000 (10:23 +1200)]
: HP-UX 10 w/o transition links

This patch is needed because if you run HP-UX 10 and turn off transition
symlinks then /lib goes away and the workaround for the POSIX problem
(2^5 is not exactly 32) won't.  (That workaround should use -L/usr/lib/pa1.1,
not -L/lib/pa1.1 because of the transition link problem)


24 years agomake Configure recognize powerux hint (perl5.004_01)
Tom Horsley [Wed, 30 Jul 1997 00:01:31 +0000 (12:01 +1200)]
make Configure recognize powerux hint (perl5.004_01)

This is my day for building perl on various flavor Concurrent boxes - here's
a minor Configure patch for a different operating system.

Version 5.004_01 seems to build, link, and pass all tests perfectly "out of
the box" on Concurrent's PowerMAX OS, but because marketing keeps changing
the name of the operating system, Configure needs a small patch to recognize
all the possible versions of uname output and pick the right hint file. (I
suppose it would make marketing happier if I renamed to, but I have the feeling they'll change the name again real soon
now, so I'm just gonna leave the hints file with the name it already has

I did try this patch, and it seemed to recognize the proper hints file
correctly when I built.


24 years agoConfigure can't find open3 on NeXTstep
Hans Mulder [Fri, 27 Jun 1997 06:32:59 +0000 (18:32 +1200)]
Configure can't find open3 on NeXTstep

A buglet in Configure casuses it to not find the 3-argument
form of open(2) on some platforms.  The problem is that it
tries to compile open3.c using $cc $cppflags.  On a NeXT
with MAB support, this will cross-compile for the first
architecture on the list.  If that isn't the architecture
Configure is running on, the resultant binary cannot be run.
This leads Configure to believe that open3 is not available.

P.S. A relevant detail not mentioned in the site configurion
summary below, is that I'm compiling on an HP/PA workstation.

Credited: Andy Dougherty <>

p5p-msgid: 9706271816.AA10551@

24 years agom2t3: Configure: cf_time always in C locale
Jarkko Hietaniemi [Tue, 5 Aug 1997 22:08:04 +0000 (10:08 +1200)]
m2t3: Configure: cf_time always in C locale

So that the $Config{cf_time} is in English format.
Technique similar to that of forcing awk to use . as the radix character.


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoh2ph corrections to avoid redefined sub warnings
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
h2ph corrections to avoid redefined sub warnings

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

24 years agoh2ph corrections to avoid redefined sub warnings
wdconsta [Tue, 8 Jul 1997 02:30:44 +0000 (14:30 +1200)]
h2ph corrections to avoid redefined sub warnings

Subject: [PATCH] possible h2ph corrections?

i've been getting a whole bunch of redefined sub warnings from my
sys/, so here's a fix (well, i don't get the warnings anymore :)


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoenable some tests on Win32
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
enable some tests on Win32

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

24 years agoenable some tests on Win32
Gurusamy Sarathy [Mon, 7 Jul 1997 08:07:22 +0000 (20:07 +1200)]
enable some tests on Win32

This enables the tests that check $^X, on Win32.


24 years agoAdd xor tests to test suite
Hugo van der Sanden [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Add xor tests to test suite

Subject: Re: Parser nit: possible [PATCH]

In <>, Chip Salzenberg writes:
:According to Hugo van der Sanden:
:> Can anyone explain why the parser code for OROP is different from
:> that for ANDOP? I include a patch for what I think it should be,
:> but I don't understand why all tests succeed both with and without
:> this patch.
:Because OROP is a token that's used for both "or" and "xor",
:whereas ANDOP is specific to the single keyword "and".
Ah, in that case the problem is that 'xor' appears nowhere in the
test suite. Patch below adds 4 new tests that normally succeed; my
previous (erroneous) patch causes the first of them to fail.


24 years agofixes for hints/svr4 for UnixWare >= 2.1.1
John Hughes [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
fixes for hints/svr4 for UnixWare >= 2.1.1

We've just upgraded from UnixWare 2.1 to 2.1.2 (*See footnote).  I was
supprised to see that I got


A quick bit of spelunking showed that in the 2.1->2.1.1 upgrade stdio.h
got modified, the _cnt and _ptr fields in FILE* got renamed to __cnt and

Here's a patch to hints/, all tests pass.

p5p-msgid: 199707021230.OAA24230@titanic.AtlanTech.COM

24 years agogetservby*() calls fail on Windows NT
Gurusamy Sarathy [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
getservby*() calls fail on Windows NT

This patch is needed to avoid GPFs on calls to getservby*()
on Windows NT, when compiling with the Borland compiler.
The same bug is present on Windows95 when using either

The patch simply enables the Windows95 workaround.


24 years ago(3) File::Find::find()/finddepth() bugs with toplevel paths
Conrad E. Kimball [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
(3) File::Find::find()/finddepth() bugs with toplevel paths

The File::Find module exhibits the following defects:

1) If the top-level directory is a symbolic link to another directory,
   the find() and finddepth() functions follow that symbolic link and
   traverse that directory.  This behavior is both contrary to the way
   the real find command works and contrary to the way find() and
   finddepth() treat symbolic links that occur lower down in the
   directory hierarchy (which aren't followed).


   $ cd $HOME
   $ mkdir findbug; cd findbug
   $ ln -s /usr usr
   $ find usr -print
   $ find2perl usr -print | perl

2) If the wanted() function sets $prune = 1 for a toplevel directory,
   the find() function ignores it.  It honors $prune for all lower level
   directories, but not the toplevel ones.  This, too, is contrary to
   the way the real find command works.


   $ find /usr -print -prune
   $ find2perl /usr -print -prune | perl

3) If finddepth() is passed a toplevel path that is not a directory, it
   fails to set $name before calling the wanted() function.  This, too,
   is contrary to the way the real find command works.


   $ cd $HOME
   $ find /dev/null -depth -print
   $ find2perl /dev/null -depth -print | perl


The following patch corrects all three defects:


24 years agoposix.xs broken on VMS 7.1
Dan Sugalski [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
posix.xs broken on VMS 7.1


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agopod2html mangles C<&foo(42);>
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
pod2html mangles C<&foo(42);>

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

24 years agopod2html mangles C<&foo(42);>
Hans Mulder [Sun, 15 Jun 1997 11:26:17 +0000 (23:26 +1200)]
pod2html mangles C<&foo(42);>

Pod2html does not handle ampersands inside C<> sequences properly.
For example, C<&foo(42);> is translated to <CODE>&foo(42);</CODE>.
This is wrong: the "&" needs to be translated to "&amp;".


24 years agoAllow concurrent mkdir in File::Path::mkpath
Ruben Schattevoy [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Allow concurrent mkdir in File::Path::mkpath


24 years agoicmp tweak for IO::Socket
Nick Ing-Simmons [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
icmp tweak for IO::Socket

Following patch allows use of :

my $sock  = IO::Socket::INET->new(Proto => 'icmp');

To create an ICMP protocol socket, as use for traditional 'ping'.
On UNIX at least only super-user can do this.


24 years agoExtUtils-Embed upgrade
Doug MacEachern [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
ExtUtils-Embed upgrade

24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoSys::Syslog patch to allow unix domain sockets
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
Sys::Syslog patch to allow unix domain sockets

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

24 years agoSys::Syslog patch to allow unix domain sockets
Sean Robinson [Thu, 26 Jun 1997 05:45:25 +0000 (17:45 +1200)]
Sys::Syslog patch to allow unix domain sockets

Thank you to Tim Bunce and Tom Phoenix for insights on making the
patched code faster and safer, and pointing out bugs.

  What follows is a "fresh patch over the 5.004_01 version".  So reverse
the previous patch before adding this one just to be safe.

 CHANGES (all recommended by Tim or Tom):

 - fixed bug where wrong variable was undef()ined causing attempts to
change back to INET socket to never occur
 - setlogsock() now croaks on any value other than 'unix' or 'inet'
 - setlogsock() no longer uses pattern matching, but is still
 - updated documentation


24 years agoNet::hostent documentation error
Nat Torkington [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Net::hostent documentation error

perl -pi -e 's/addresses/addr_list/g' .../Net/


24 years agoIO::File and DB_File pollutes namespace with Fcntl constants
Gisle Aas [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
IO::File and DB_File pollutes namespace with Fcntl constants


24 years agoProblems with setvbuf
Ilya Zakharevich [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Problems with setvbuf

Nick Ing-Simmons writes:
> > I see two possible solutions:
> >
> > a) correct this on the level of IO.xs (manually check for
> >         IoIFP(sv_2io(ST(0)));
> I like adding this code to the else branch.

This is almost as you ask:


24 years agoxsubpp patch
John Tobey [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
xsubpp patch

The patch below is against the 5.004_01 distribution's xsubpp and
incorporates your changes.

> From: Gurusamy Sarathy <>
> On Mon, 30 Jun 1997 03:16:25 EDT, Ilya Zakharevich wrote:
> >John Tobey sent me a remarkable fix for xsubpp bugs with #line
> >directives.  I did check a previous version of his patch, and it
> >worked flawlessly, with the only drawback that it did not #line'ized
> >BOOT directives.
> >
> >Today I got his next version, and he claims it now handles BOOT too.
> >I think it may go even to the maintainance track.
> Not until the issues below are resolved.  I've attached a patch
> that fixes all but one.

I believe it's possible to avoid any subprocesses or shell invocations
by using a tied filehandle.

Getting the output filename right will require restructuring xsubpp's
command line interface and changing MakeMaker, whence my ".c" hack.
Given that the previous xsubpp didn't insert any self-pointing line
directives, I figure it's a gain, though by no means perfect.

The tie idea may improve portability at the expense of length and
complexity.  It's worked in my test cases (unlike my last patch, in
which C<splice(@BootCode, 1)> should be C<@BootCode> as you noticed).
However, I feel I'm on thin ice when using TIEHANDLE, and this code
can certainly be smoothed out a bit.

p5p-msgid: 199707010221.CAA01234@remote133

24 years agoDocs of IO::Handle [PATCH]
Ilya Zakharevich [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Docs of IO::Handle [PATCH]

I was caught by the following errors in documentation:



24 years agom2t2 broke :-(
Andreas J. Koenig [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
m2t2 broke :-(

24 years agom2t3: minor doc patch (to obsolete I18N::Collate)
Jarkko Hietaniemi [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
m2t3: minor doc patch (to obsolete I18N::Collate)


24 years ago[BUG:PATCH] parses some references incorrectly
M.J.T. Guy [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
[BUG:PATCH] parses some references incorrectly parses stringified references incorrectly when extrovert
class names are used.    For example,

     x bless {}, '=ARRAY('

will crash the debugger.

Patch (for 5.004_01 or 5.004_02) attached.


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoconfessing a carp
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
confessing a carp

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

24 years agoconfessing a carp
Nick Ing-Simmons [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
confessing a carp

Tim Bunce wrote:

> I'd like to be able to use, or tell people to use, a simple command like:
>         PERL_CONFESS=1

Does not work for csh folk - they have to do use env or
do setenv.

> or
>         perl -MCarpConfess

This is a bit like -Mblib - pragma-ish so how about

          perl -Mconfess

>  [...]
> Note that the whole point is to have a global effect so an alternate Carp
> module would not be appropriate.
> I think I prefer the very small change to

I think I prefer the very small auxillary module:

Credited: Hugo van der Sanden <>
Credited: Tim Bunce <>


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoWarning from calls using "use Shell"
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
Warning from calls using "use Shell"

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

24 years agoWarning from calls using "use Shell"
Andrew Pimlott [Wed, 6 Aug 1997 01:27:23 +0000 (13:27 +1200)]
Warning from calls using "use Shell"

On Mon, 28 Jul 1997 15:35:46 -0400 (EDT), Thomas Lowery
<> wrote:
>Following an example from the perldoc Shell produces the following
>warning messages. How do I avoid the warning?
>Variable "$cmd" will not stay shared at (eval 1) line 14.
>Variable "$cmd" will not stay shared at (eval 2) line 14.

Under 5.004, triggers this warning for every sub it autoloads.  I
didn't see any response to this message, so here is a simple patch.  It just
makes the named sub an anonymous sub assigned to a glob, suppressing the

Credited: Andrew Pimlott <>

private-msgid: Pine.SOL.3.91.970806173903.7320H-100000@abel

24 years agosplitpod broken in 5.004_01
Tim Bunce [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
splitpod broken in 5.004_01

> From: Hans Mulder <>
> Splitpod is broken in 5.004_01.

Darn, my fault.

Thanks for this and your other bug reports. I guess _02 will be
sooner rather than later.


24 years agoDocument use of - in a regex char class.
Dominic Dunlop [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Document use of - in a regex char class.

Subject: [PATCH] Re: regex matcher incorrect

At 13:17 +0200 1997-06-24, Ulrich Windl wrote:
>In a statement like "$_[0] =~ /^([ugoa]+)([+-=])([rwxst]*)$/;" some
>incorrect patterns were matched. As an example "go/rw" was matched.
>Adding a backslash in front of the minus, making "[+\-=]", solved the
>As this is a non-obvious feature, I'd consider that as a bug. Originally
>the problem was seen on Linux running the same version of Perl.

Thanks Ulrich.  You're right.   While all UNIX-descended regular expression
packages work pretty much the same way in respect how you make "-" a member
of a character class, neither the documentation delivered with Perl nor the
book "Programming Perl" tells you what to do, and they should.  Here's a
patch to apply to the perlre.pod documentation file:

p5p-msgid: v03102804afd578bcef2c@[]

24 years agodone3/perlbook.pod
Randal Schwartz [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]

24 years agoarguments swapped in perlapio.pod
Hans Mulder [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
arguments swapped in perlapio.pod

Three PerlIO functions have their arguments swapped (compared with
their stdio counterparts).  Perlapio.pod gets this almost right:


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years ago[BUG:47:LOG] Dropped "and" in pod2man
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[BUG:47:LOG] Dropped "and" in pod2man

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

24 years ago[BUG:47:LOG] Dropped "and" in pod2man
Hans Mulder [Sun, 15 Jun 1997 11:26:49 +0000 (23:26 +1200)]
[BUG:47:LOG] Dropped "and" in pod2man

Nathan Torkington wrote:

> perlfunc.pod contains:

> For a yet-more-powerful import facility, see L</use> and
> L<perlmod>.

> when pod2man | nroff -man  has its way with this, it comes out as:

>                For a yet-more-powerful import facility, see the
>                use entry elsewhere in this document the perlmod
>                manpage.

> That is, the "and" is dropped.  I've verified this with the pod2man
> that comes with 5.004_01, but I couldn't produce a simple test case in
> 30 seconds.

This is about as simple as I could produce in 50 seconds:

=head1 NAME

foo - bar


L</foo> and bar

This seems to help:

p5p-msgid: 9707082355.AA13254@

24 years agoMajor goof in XS Tutorial regarding subdirs
Ilya Zakharevich [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Major goof in XS Tutorial regarding subdirs

Subject: [PATCH] Major goof in XS Tutorial (subdirs)

I wondered for a lot of time why I never manage to compile extensions with
debugging enabled if the main Perl library is optimized.  Some time ago
I understood that this is due to the following error in XS tutorial:


24 years agoobject never destructs
Gurusamy Sarathy [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
object never destructs

On Sun, 13 Jul 1997 11:20:24 EDT, Andrew Pimlott wrote:
>package mytest;
>sub DESTROY { warn "Death"; }
>package main;
>    my $joe;
> my $moe;
> $moe = bless \$joe, 'mytest';
> print "Leaving block\n";
>print "Left block\n";

Thanks for that excellent test case.  Perl optimizes the
memory management of lexicals by not actually deallocating
unreferenced lexicals when the block exits, in order to
reuse them when the block is reentered.  This of course
fails to destruct objects at the end of blocks.

A patch that fixes the problem for all object datatypes
is attached.


24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years ago: reduced malloc patch
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
: reduced malloc patch

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

24 years ago: reduced malloc patch
Ilya Zakharevich [Sun, 15 Jun 1997 23:17:08 +0000 (11:17 +1200)]
: 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).



24 years agoConstant-fold sprintf()
Chip Salzenberg [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
Constant-fold sprintf()

24 years ago[dummy merge]
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoDon't use undef value in Config::myconfig
Tim Bunce [Wed, 6 Aug 1997 12:00:00 +0000 (00:00 +1200)]
Don't use undef value in Config::myconfig

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

24 years agoDon't use undef value in Config::myconfig
Andreas J. Koenig [Fri, 27 Jun 1997 05:21:14 +0000 (17:21 +1200)]
Don't use undef value in Config::myconfig

Subject: Config->myconfig not -w clean

Thanks to a report by Larry Virden I spotted a bug in
Undefined values trigger "Use of undefined value" messages, e.g.

# perl -MConfig -we 'print Config->myconfig'
Use of uninitialized value at /usr/local/lib/perl5/IP22-irix/5.004/ line 553.
Use of uninitialized value at /usr/local/lib/perl5/IP22-irix/5.004/ line 553.
Use of uninitialized value at /usr/local/lib/perl5/IP22-irix/5.004/ line 553.
Use of uninitialized value at /usr/local/lib/perl5/IP22-irix/5.004/ line 553.
Summary of my perl5 (5.0 patchlevel 4 subversion 0) configuration:

I'd suggest this simple patch:

Credited: Chip Salzenberg <>


24 years ago[differences between cumulative patch application and perl5.004_01] perl-5.004_01
Tim Bunce [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
[differences between cumulative patch application and perl5.004_01]

[editor's note: The changes between this and 5.004 were processed from
the m1t2 release, which was a bad idea as it was the _01 release which
had the final corrected attributions.  The differences between the
various m*t* releases do that; I considered it most valuable just to
look at the _NN releases.  Many patches have been separated out and/or
applied from the p5p archives nonetheless.]

24 years ago[inseparable changes from changes to perl-5.004_01-mt2]
Perl 5 Porters [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
[inseparable changes from changes to perl-5.004_01-mt2]


Subject: [PATCH] INSTALL-1.18
From: Andy Dougherty <>

    (applied based on p5p patch as commit 0dcb58f4e9dab7110393871db954eb94cbf90dd0)

Subject: improved gnuwin32 Configure support
From: Chris Faylor <>
Files: Configure


Subject: installhtml problems finding splitpod
From: Larry W. Virden <>
Files: installhtml INSTALL

Subject: oddity in Configure
From: Mike Stok <>
Files: Configure

Subject: Compiling perl5.004 on NEWS-OS 4.x
From: Makoto MATSUSHITA (=?ISO-2022-JP?B?GyRCJF4kRCQ3JD8kXiQzJEgbKEI=?=) <>
Files: Configure hints/

    (applied based on p5p patch as commit 4e81affe051125c1f0c81f7d518efaa52584a56d)


Subject: first true value returned by scalar C<...> is wrong
From: Hans Mulder <>
Files: pp_ctl.c t/op/flip.t

Subject: Regex Bug in 5.003_26 thru 003_99a
From: Andreas Karrer <>
Files: regcomp.h regcomp.c regexec.c

    (applied based on p5p patch as commit c8756f30ff24381844a7b05f062074a87dc23910)

Subject: -w interacts badly with -Dt
From: Spider Boardman <spider@Orb.Nashua.NH.US>
Files: sv.c

Subject: No DESTROY on untie. Tie memory leak fixed.
From: Gurusamy Sarathy <>
Files: pp_hot.c

    (applied based on p5p patch as commit 5117ca915f2c72e17e52c313797ad394bd76c418)

Subject: magic_clear_all_env proto should match svt_clear
From: Nick Ing-Simmons <>
Files: proto.h mg.c

Subject: ENV leaks on win32 (was Re: Comments on ENV patch sought)
From: Hans Mulder <>
Files: embed.h perl.h proto.h global.sym mg.c t/op/magic.t

    (applied based on p5p patch as commit 66b1d5575fd5eb6242bac2e9a08b163be8b1b960)

Subject: Patch to show @INC when require dies
From: Jim Avera <>
Files: pp_ctl.c

    (applied based on p5p patch as commit 2683423cd7aae39c7c67a005320f39d6e84a2f1f)

Subject: bug with m// nested inside s///e
From: Hans Mulder <>
Files: op.c t/op/subst.t


Subject: perlembed Win32 update
From: Doug MacEachern <>
Files: pod/perlembed.pod

Subject: perldiag.pod patch - "(W) substr outside string" is "(S)evere" if used as lvalue.
From: John Hughes <john@AtlanTech.COM>
Files: pod/perldiag.pod

Subject: local(%ENV) looses magic - document behaviour
From: Gurusamy Sarathy <>
Files: pod/perlsub.pod

Subject: perlguts caveats
From: Gurusamy Sarathy <>
Files: pod/perlguts.pod

    (applied based on p5p patch as commits:

Subject: pod2man produces broken pages
From: Davin Milun <milun@cs.Buffalo.EDU>
Files: pod/pod2man.PL
Msg-ID: 199705310447.AAA15721@obelix.cs.Buffalo.EDU

    (applied based on p5p patch as commits:

Subject: Perl 5 pod2man fix
From: Franklin Chen <>
Files: pod/pod2man.PL

    Subject: perlguts man page corrupted

    perlguts.1 has garbled headings, e.g., the following is a result of
    "man perlguts":

         What is an

         Perl uses a special typedef IV which is a simple integer
         type that is guaranteed to be large enough to hold a pointer
         (as well as an integer).


Subject: reference form chomp to chop in perlfunc
From: Hans Mulder <>
Files: pod/perlfunc.pod

Subject: pod2man gags if "=pod" is before "=head1 NAME"
From: Warren Hyde <>
Files: pod/pod2man.PL

    (applied based on p5p patch as commit a8aaa22cf27ba31be005a4b638b78d4105203ee9)

Subject: perlfunc.pod unclear about return value range of rand
From: "Tuomas J. Lukka" <>
Files: pod/perlfunc.pod

    Subject: Re: Array feature request

    Tom Phoenix writes:
    >On Fri, 16 May 1997, Tuomas J. Lukka wrote:
    >> To detract further, the perlfunc.pod says
    >>  "returns a random fractional number between 0 and EXPR".
    >> Does that mean inclusive or exclusive i.e. do I run a risk of one
    >> in a billion receiving an undef one past the array limit and growing
    >> the array? If yes or if not, should that be mentioned?
    >           0  <=  rand(EXPR)  <  EXPR
    >Hope this helps!

    Yes, this behaviour is expected but it is definitely not documented
    in the pods.


Subject: Error in perllol manpage
From: Chris Wick <>
Files: pod/perllol.pod

Subject: 5.004 removed deprecated %OVERLOAD support silently
From: Jonathan Biggar <>
Files: pod/perldelta.pod

    This is a bug report for perl from,
    generated with the help of perlbug 1.17 running under perl 5.004.


Subject: Documentation bugs
From: Stephen Potter <>
Files: pod/perldata.pod pod/perldiag.pod pod/perlfaq8.pod pod/perlfaq9.pod pod/perlop.pod pod/perlsub.pod pod/perltoot.pod

Subject: make html --> unusable xref links
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml

    Jim Avera writes:
     > By default (without editing the Makefile) the resulting .html files
     > are useless -- they have broken cross-reference links.
     > If you set HTMLROOT=. in pod/Makefile, then cross-references
     > say .//pod/... which does not work either.
     > Setting HTMLROOT to an absolute path doesn't work either (the
     > spurrious /pod/ is always there).



Subject: pod/*.html -- all hyperlinks are invalid
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml

    The INSTALL file says:

     (cd pod && make html && mv *.html <www home dir>)

    But the resulting *.html files have hyperlinks that look like this;

     <A HREF="/pod/perlfaq.html">perlfaq</A>

    The /pod/ part shouldn't be there.  As a result, all of the hyperlinks are
    invalid (unless, of course, you install the *.html files in /pod/).

    [Please do not change anything below this line]


Subject: Re: make html - any takers?
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml

    On Sat, 07 Jun 1997 02:27:49 -0000, Tim Bunce wrote:
    >My reading of the following is that the best short term fix is for
    >INSTALL to be changed so it no longer suggests
    > (cd pod && make html && mv *.html <www home dir>)
    >Comments welcome. Proven portable and tested patches preferred :-)

    Win32 uses something similar to the suggested method with
    installhtml, and it seems to work reasonably well.  I'll supply
    a patch if I wander anywhere close to a UNIX box in the
    next 24 hours, and someone else hasn't already done it. :-)

    >When I follow the doc in installhtml, I get htmlwhich mostly works.
    >Here's a sample:
    >perl -w /ldata2/gnu/perl5.004/installhtml \
    > --podpath=lib:ext:pod:vms:win32:plan9:os2:h2pl:x2p:Porting:eg \
    > --podroot=/ldata2/gnu/perl5.004 \
    > --htmldir=/projects/sprs_lwv/HTML/perl \
    > --htmlroot=/projects/sprs_lwv/HTML/perl \
    > --recurse \
    > --splithead=pod/perlipc.pod \
    > --splititem=pod/perlfunc.pod \
    > --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \
    > --verbose

     - Sarathy.


Subject: Re: make html --> unusable xref links
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml

    According to Jarkko Hietaniemi  <>:
    :Jim Avera writes:
    : > If you set HTMLROOT=. in pod/Makefile, then cross-references
    : > say .//pod/... which does not work either.
    : > Setting HTMLROOT to an absolute path doesn't work either (the
    : > spurrious /pod/ is always there).
    : >
    : > What is the intent of the current setup (p54rc1)?

    When I follow the doc in installhtml, I get htmlwhich mostly works.

    Here's a sample:

    perl -w /ldata2/gnu/perl5.004/installhtml \
     --podpath=lib:ext:pod:vms:win32:plan9:os2:h2pl:x2p:Porting:eg \
     --podroot=/ldata2/gnu/perl5.004 \
     --htmldir=/projects/sprs_lwv/HTML/perl \
     --htmlroot=/projects/sprs_lwv/HTML/perl \
     --recurse \
     --splithead=pod/perlipc.pod \
     --splititem=pod/perlfunc.pod \
     --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \


Subject: Re: make html --> unusable xref links
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml


Subject: make html --> unusable xref links
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml

    I don't understand how "make html" is intended to be used.

    By default (without editing the Makefile) the resulting .html files
    are useless -- they have broken cross-reference links.

    If you set HTMLROOT=. in pod/Makefile, then cross-references
    say .//pod/... which does not work either.
    Setting HTMLROOT to an absolute path doesn't work either (the
    spurrious /pod/ is always there).

    What is the intent of the current setup (p54rc1)?



Subject: 5.004 POD stuff
From: "Darren/Torin/Who Ever..." <>
Files: INSTALL pod/perldiag.pod installhtml
Msg-ID: 9705191839.AA28702@lemming.engeast

    (applied based on p5p patch as commit 1f8d2005982035a50557598064a5e9b1eef2b182)


Subject: sdbm can fail if a config.h exists in system directories
From: Tim Bunce <>
Files: ext/SDBM_File/sdbm/Makefile.PL

Subject: LWP and SIG __DIE__ traps not playing well together!
From: Gisle Aas <>
Files: lib/

Subject: Memory Consumption of autosplit_lib_modules/sv_gets (workaround)
From: Gurusamy Sarathy <>
Files: lib/

Subject: Comments of this Sys::Syslog patch
From: Jarkko Hietaniemi <>
Files: lib/Sys/

    Subject: clpm: 5.004 Sys::Syslog

    Russ Allbery  <> writes:
    >Richard Dows <> writes:
    >> I wanted to use Sys::Syslog, and so I tested it with a small script.  I
    >> get an error like so:
    >> Undefined subroutine &Sys::Syslog::hostname called at
    >> /usr/local/lib/perl5/Sys/ line 92.  BEGIN failed--compilation
    >> aborted at stest line 3.
    >This problem is fixed in (the just released) 5.004.

    However, 5.004 changed the behavior of in an icky way.

    In 5.003, Syslog called Sys::Hostname to get the name of the
    host, and happily used that as the logging host.

    Now, Syslog calls Sys::Hostname to get the name of the host,
    strips off all the domain info, and uses that as the host:

    sub connect {
        unless ($host) {
     require Sys::Hostname;
     my($host_uniq) = Sys::Hostname::hostname();
     ($host) = $host_uniq =~ /([\w\-]+)/;


    Was this intentional? It screws up systems which use an FQDN as their
    hostname and don't list the stripped-down version in their /etc/hosts
    file, because inet_aton fails on the stripped-down name.

    Was /([\w\-\.]+)/ what was meant?

             Alan Schwartz           | Disclaimer: I represent no one
                                     |       | "Life is what happens to you while
    UC Berkeley                      |  you're busy making other plans"
    Cognitive Psychology             |          - J. Lennon


Subject: Patch to (perl5.004) for ncftp
From: "Richard L. Maus <>
Files: lib/

    (applied based on p5p patch as commit 1f8d2005982035a50557598064a5e9b1eef2b182)

Subject: [PATCH] bug w/perl5.004 & VMS
From: Dan Sugalski <>
Files: lib/Test/

    (applied based on p5p patch as commit 2d8ca5da0888ace50c79900af6ef82761bea90b2)

Subject: more Fcntl constants [PATCH]
From: Jarkko Hietaniemi <>
Files: ext/Fcntl/ ext/Fcntl/Fcntl.xs


Subject: win32: additional default libraries
From: Gurusamy Sarathy <>
Files: lib/ExtUtils/

    (full description at 14ba8c9ed9cfdc22434f89b374aaf17cc48fd4a0)
    (base was difficult to find)

Subject: clean up perlocal.pod output on VMS
From: Peter Prymmer <>
Files: lib/ExtUtils/

Subject: Re: Term::ReadKey on Win32: set console
From: Gurusamy Sarathy <>
Files: lib/Term/

Subject: Pod::Text nit for Win32
From: Gurusamy Sarathy <>
Files: lib/Pod/

Subject: MakeMaker stumbles on Win32 UNC paths
From: Warren Jones <wjones@TC.FLUKE.COM>
Files: lib/ExtUtils/

Subject: build problem on SGI R10000 PowerChallenge (IRIX 6.2) lseek proto
From: Jarkko Hietaniemi <>
Files: doio.c

Subject: Perl 5.004 + Linux 2.0.30 & semctl()
From: Andy Dougherty <>
Files: doio.c

Subject: lib/io_udp.t fails on VMS
From: Jonathan Hudson <>
Files: pp_sys.c

    (applied based on p5p patch as commit 490ab354c465618bcdee84ecc1d256c265518f0a)

Subject: (NEXT|OPEN)STEP hints
From: Gerd Knops <>
Files: hints/ hints/

Subject: win32: user defined shell
From: Gurusamy Sarathy <>
Files: pod/perlrun.pod win32/win32.c

    (applied based on p5p patch as commit 174c211a66516a872d3a421681076bee9a56fa2b)

Subject: win32: Configure cf_email
From: Gurusamy Sarathy <>
Files: win32/Makefile win32/config.bc win32/ win32/config_sh.PL win32/

    (applied based on p5p patch as commit d484a8290f98952e0e3a67e0aae9aa08c631f5c2)

Subject: README.win32 nits
From: Gurusamy Sarathy <>
Files: README.win32

Subject: SVR4 hints for DDE SMES Supermax Enterprise Server
From: Jarkko Hietaniemi <>
Files: hints/

From: Tim Bunce <>
Files: Porting/pumpkin.pod Porting/preprel

Subject: "Major 5.004 Win32 update (Borland win32 support, and other patches)",
 "($a,undef,$b) = qw(a b c) and ties delaying DESTROY fixes"
From: Gurusamy Sarathy <>
Files: MANIFEST pod/perlguts.pod win32/include/sys/socket.h EXTERN.h opcode.h perl.h regcomp.h ext/Fcntl/ ext/SDBM_File/Makefile.PL lib/ExtUtils/ lib/ExtUtils/ lib/ExtUtils/ lib/ExtUtils/ lib/ExtUtils/ lib/File/ t/op/mkdir.t t/op/stat.t win32/win32.h win32/win32io.h win32/win32iop.h README.win32 doio.c gv.c mg.c op.c perlio.c pp.c pp_ctl.c pp_hot.c pp_sys.c util.c win32/Makefile win32/config.bc win32/ win32/config_H.bc win32/ win32/ win32/ win32/ win32/perlglob.c win32/perllib.c win32/win32.c win32/win32io.c win32/win32sck.c

Subject: Re: Maintenance release (remove PERL_DUMMY_SIZE)
From: Gurusamy Sarathy <>
Files: opcode.h perl.h regcomp.h win32/win32.h gv.c

Subject: ENV leaks on win32 (was Re: Comments on ENV patch sought)
From: Gurusamy Sarathy <>
Files: win32/win32.h win32/win32io.h win32/win32iop.h global.sym mg.c perl.c t/op/magic.t util.c win32/ win32/win32.c win32/win32io.c

Subject: win32: ExtUtils::Liblist support
From: Gurusamy Sarathy <>
Files: lib/ExtUtils/ win32/Makefile win32/config.bc win32/

Subject: Re: borland C++Perl embedding failures re __declspec()
From: Gurusamy Sarathy <>
Files: win32/win32.c


Subject: Tests depend on locale
From: "Jan D." <>
Files: t/lib/safe2.t t/op/mkdir.t

    (applied based on p5p patch as commit 3458556dd685b1767b760a72bd2e9007b5c4575e)

Subject: More simple regexp tests and test docs
From: Hans Mulder <>
Files: t/op/re_tests t/op/regexp.t

Subject: Re: Using undef to ignore values returned from split
From: Hugo van der Sanden <>
Files: t/op/split.t


Subject: bad test of -A flag in h2xs
From: "Jeffrey S. Haemer" <>
Files: utils/h2xs.PL

Subject: h2xs missing from utils/Makefile
From: Hans Mulder <>
Files: utils/Makefile

Subject: final newline missing in MANIFEST generated by h2xs
From: Hans Mulder <>
Files: utils/h2xs.PL

24 years agoTests depend on locale
Jan D [Mon, 19 May 1997 03:15:37 +0000 (15:15 +1200)]
Tests depend on locale

This is (sort of) documented in INSTALL.  But you are right,
the tests should force the LC_ALL to be 'C'.  Note: LANG is
not enough, and neither is POSIX as readily available as C.
Here are the patches:

Signed-off-by: Jarkko Hietaniemi <>
24 years agoPATCH: bug in perlbug w.r.t. environment variables
Jan D [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
PATCH: bug in perlbug w.r.t. environment variables

Here is patch for the problem, this adds sorting all of the environment
(I see little point in sorting just some).

Signed-off-by: Jarkko Hietaniemi <>
24 years agowin32: Configure cf_email
Gurusamy Sarathy [Tue, 27 May 1997 14:28:08 +0000 (02:28 +1200)]
win32: Configure cf_email

Subject: [PATCH] win32: cf_email (was Re: Win32 embedding w/ 5.004)

On Fri, 30 May 1997 11:01:57 +0800, "Gary Ng (Systek)" wrote:
>Nick and Sarathy contribute much more that me. BTW, anyone
>notice that perl -V on win32 still show 'garyng' no matter who build it
>Can that be removed ?

Actually perl -V doesn't show that for me, but perlbug does.
Here's a patch.


24 years agoh2xs missing from utils/Makefile
Hans Mulder [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
h2xs missing from utils/Makefile

24 years agowin32: user defined shell
Gurusamy Sarathy [Sat, 24 May 1997 07:50:36 +0000 (19:50 +1200)]
win32: user defined shell

This patch replaces the patch in win32.3 in the gnat collection.

The reasons for reworking that patch should be evident from
reading the patch below.


24 years agoRe: Using undef to ignore values returned from split
Hugo van der Sanden [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
Re: Using undef to ignore values returned from split

24 years agolib/io_udp.t fails on VMS
Jonathan Hudson [Thu, 22 May 1997 05:56:26 +0000 (17:56 +1200)]
lib/io_udp.t fails on VMS

perl 5.004 built without error or warning on VMS AXP/DECC with DECCRTL
(UCX) sockets (no sockshr library). However it fails the
lib/io_udp.t test for the following reasons:

1. The 'fromlen' parameter in pp_sysread *must* be sizeof(struct
   sockaddr) or the DECCRTL fails with an invalid buffer size error.

2. The DECCRTL/UCX getpeerhost() function returns defined and a blank
   'sockaddr' for udp hosts. A similar fix to that in vms/sockadapt.h
   (for sockshr) is required for DECCRTL in pp_sys.c

The following diff (unix, sorry VMS folks) patches pp_sys.c so that
the udp test is successful using UCX.


24 years agoMore simple regexp tests and test docs
Hans Mulder [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
More simple regexp tests and test docs

24 years agowin32: additional default libraries
Gurusamy Sarathy [Tue, 27 May 1997 11:10:30 +0000 (23:10 +1200)]
win32: additional default libraries

I found the default libs list is still incomplete (incomplete
enough for Tk to fail to build).

This patch adds the additional default libraries to
Note LDLOADLIBS can be overridden from Makefile.PL (although
Tk/win32 seems to want to set it directly in its Makefile,
rather than via an attribute list, and the direct setting gets
overridden by the default because the default comes later in
the makefile).

The patch is against the jumbo patch that nobody seems to like.
It is *my* new baseline, sorry.

 - Sarathy.


24 years ago[dummy merge]
Tim Bunce [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoCompiling perl5.004 on NEWS-OS 4.x
Makoto MATSUSHITA (=?ISO-2022-JP?B?GyRCJF4kRCQ3JD8kXiQzJEgbKEI=?=) [Wed, 21 May 1997 01:16:58 +0000 (13:16 +1200)]
Compiling perl5.004 on NEWS-OS 4.x

Here (attached below) is a patch for compiling perl5 on NEWS-OS 4.x. It
contains a new hints file for NEWS-OS 4.x and some modification to
Configure.  I've tested on perl5.003, perl5.003_99 and perl5.004.

Background: Current release of NEWS-OS is version 6.1.x and it is
SystemV variant. However, NEWS-OS 4.x is 4.3BSD-variant and commonly
used in Japan. So, I named 'newsos' for newer release, and 'newsos4'
for older release. Unfortunately, NEWS-OS 4.x has no uname(1).


24 years agoop/groups test fails on Linux (groups in /bin)
Tim Bunce [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
op/groups test fails on Linux (groups in /bin)

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

24 years agoop/groups test fails on Linux (groups in /bin)
Jan D [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
op/groups test fails on Linux (groups in /bin)

The test op/groups checks for groups in /usr/bin and /usr/ucb.
This fails on some Linux distributions that has groups in /bin.

A better test would be to just run groups (take whatever is in the
path) and see if it outputs a list that includes the current
group.  Possibly you could prepend /bin:/usr/bin:/usr/ucb to the
current path.  Something like this.


24 years agoINSTALL-1.18
Andy Dougherty [Thu, 29 May 1997 02:43:30 +0000 (14:43 +1200)]

This patch fixes two problems in the INSTALL file in 5.004.  This fix is
appropriate for 5.004_01.

First, the INSTALL file erroneously claims you can set all the install*
variables from the Configure command line.  You can't.  That's awaiting my
-Dinstallprefix patch, which is so far down on the ToDo list that it may
never get done.

Second, I misspelled 'override'.  I had two 'v's and one 'r'. :-)


24 years agoSVR4 hints for DDE SMES Supermax Enterprise Server
Jarkko Hietaniemi [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
SVR4 hints for DDE SMES Supermax Enterprise Server

24 years ago5.004 POD stuff
Darren/Torin/Who Ever [Thu, 8 May 1997 09:58:06 +0000 (21:58 +1200)]
5.004 POD stuff

Caught a small typo in perldiag.pod; patch below.

p5p-msgid: 9705191839.AA28702@lemming.engeast
Signed-off-by: "Paul D. Smith" <psmith@BayNetworks.COM>
Signed-off-by: Gurusamy Sarathy <>
Signed-off-by: Jarkko Hietaniemi <>
Signed-off-by: Michael R Cook <>
Signed-off-by: Jim Avera <>
Signed-off-by: Larry W. Virden <>
24 years agomisc perl5.004 doc fixes
Larry W. Virden [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
misc perl5.004 doc fixes

here are a few doc changes that fix a few typos, etc.


24 years agopod2man gags if "=pod" is before "=head1 NAME"
Warren Hyde [Tue, 20 May 1997 03:33:29 +0000 (15:33 +1200)]
pod2man gags if "=pod" is before "=head1 NAME"

This is strictly a pod2man issue:
when using =pod and =cut to intermingle docs into a perl program,
pod2man does not allow the "=pod" directive to appear before the
"=head1 NAME" line, and assumes that your pod manpage is improper.

This bug was a problem in 5.003 as well, and here's the patch...


24 years ago(NEXT|OPEN)STEP hints
Gerd Knops [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]

24 years agopod2man produces broken pages
Davin Milun [Sun, 25 May 1997 12:54:04 +0000 (00:54 +1200)]
pod2man produces broken pages

Georg Moritz <> wrote:

>A single quote in a pod file beginning a line, translated to \*(L'
>by B<pod2man> lets the formatter choke, i.e. the line is (in the best
>case) treated as a comment.

I think it would be better to leave the pods alone, and fix pod2man:

Signed-off-by: Hans Mulder <>
24 years agopathname bug in xsubpp on win32
Jonathan Biggar [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
pathname bug in xsubpp on win32

If xsubpp is run with the argument "c:\i.xs", it will
generate bad #line directives, like:

 #line 1 "c:\i.xs"

which will cause VC++ to barf over a bad "\i"
escape sequence.


24 years agopod2man produces broken pages
Davin Milun [Sun, 25 May 1997 12:54:04 +0000 (00:54 +1200)]
pod2man produces broken pages

Georg Moritz <> wrote:

>A single quote in a pod file beginning a line, translated to \*(L'
>by B<pod2man> lets the formatter choke, i.e. the line is (in the best
>case) treated as a comment.

I think it would be better to leave the pods alone, and fix pod2man:

private-msgid: 199705310447.AAA15721@obelix.cs.Buffalo.EDU
Signed-off-by: Hans Mulder <>
24 years agoPod::Text nit for Win32
Gurusamy Sarathy [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
Pod::Text nit for Win32

24 years agoperlguts caveats
Gurusamy Sarathy [Tue, 27 May 1997 03:18:24 +0000 (15:18 +1200)]
perlguts caveats

I've planted more warning signs per Ilya request.

Signed-off-by: Ilya Zakharevich <>
24 years agoRe: Term::ReadKey on Win32: set console
Gurusamy Sarathy [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
Re: Term::ReadKey on Win32: set console

24 years agoperlguts caveats
Gurusamy Sarathy [Sat, 17 May 1997 08:59:27 +0000 (20:59 +1200)]
perlguts caveats

Subject: Re: perlguts additions

On Sat, 17 May 1997 21:35:50 EDT, Spider Boardman wrote:
>Your first referenct to `mg_get', here:
>+a tied array, the caller will usually need to call C<mg_get(val)> to
>should be to `mg_set'.

Oops, thanks.

Signed-off-by: Ilya Zakharevich <>
24 years agoclean up perlocal.pod output on VMS
Peter Prymmer [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
clean up perlocal.pod output on VMS

24 years agoperlguts caveats
Gurusamy Sarathy [Wed, 30 Apr 1997 22:14:34 +0000 (10:14 +1200)]
perlguts caveats

Subject: perlguts additions

Here are some additions that describe tied hash and array access.

Signed-off-by: Ilya Zakharevich <>
24 years ago[dummy merge]
Tim Bunce [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
[dummy merge]

This merge exists so that the p5p version of the patch and the applied
version are both in the history

24 years agoPatch to show @INC when require dies
Jim Avera [Thu, 22 May 1997 06:10:01 +0000 (18:10 +1200)]
Patch to show @INC when require dies

When 'require' dies because it can't find the file in @INC, it would
be helpful if perl printed out the contents of @INC, to help debu
the problem (especially when perl is invoked in devious ways, such
as via a C application in which perl is embedded with funny secret
-I args passed to perl_parse!).

I would like to contribute a patch to 5.004 to do just that.


24 years agoperl5.004 on AIX: Patches
Tim Bunce [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
perl5.004 on AIX: Patches

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

24 years agoperl5.004 on AIX: Patches
Peter van Heusden [Wed, 11 Jun 1997 00:00:00 +0000 (12:00 +1200)]
perl5.004 on AIX: Patches

I took a further look at the problems which I described in my previous
post, and managed to make a patch for the -Duseperlio problem. [this]
makes both -Duseperlio and -Dshrplib work [...]

Should have spotted this earlier, but hey...


24 years agoENV leaks on win32 (was Re: Comments on ENV patch sought)
Hans Mulder [Thu, 29 May 1997 08:30:44 +0000 (20:30 +1200)]
ENV leaks on win32 (was Re: Comments on ENV patch sought)

Subject: [PATCH] for NETaa13787: %ENV=(); doesn't clear the environment

Perl maintains two representations of the environment:

(A) a hash named %ENV, used by the perl script
(B) a char** named environ, which is passed to child processes

Obviously, the intent is to keep tho two in sync.
This fails in two situations:

(1) A list assignment to %ENV clears (A) but not (B);
(2) Assigning to $0 has the side effect of deleting the key
NoNeSuCh form (B) but not from (A).

$ perl -e '%ENV=(); print "home\n" if exists $ENV{HOME}; exec "echo \$HOME";'
$ perl -e '$ENV{NoNeSuCh} = "foo"; $0 = "bar"; exec "echo \$NoNeSuCh";'

$ perl -e '$ENV{NoNeSuCh} = "foo"; exec "echo \$NoNeSuCh";'

I've complained about rpoblem (1) before; and Larry assigned
it bug ID NETaa13787 when he entered it into DDTS.

The patch below attempts to remedy both problems, at least on
Unix platforms.  I don't know how to handle the environment
on VMS and WIN32; my code simply calls DIE('unimplemented"),
which is honest but won't make users on those plaforms happy.

Signed-off-by: Peter Prymmer <>