[perl #36733] %SIG not properly local-ized

2005-08-01 Thread via RT
# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #36733]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36733 



This is a bug report for perl from [EMAIL PROTECTED],
generated with the help of perlbug 1.35 running under perl v5.8.6.


-
The construct 
local %SIG = %SIG;
does *not* make an exact local copy of %SIG, as it should.

The program

perl -e 'print scalar keys %SIG,\n; local %SIG = %SIG; print scalar keys 
%SIG, \n'
prints

49
0

instead of (something like)

49
49

as it should.

For comparison, another magic hash, %ENV, does not have the same problem.

perl -e 'print scalar keys %ENV,\n; local %ENV = %ENV; print scalar keys 
%ENV, \n'
61
61

-
---
Flags:
category=core
severity=medium
---
Site configuration information for perl v5.8.6:

Configured by mb29450 at Wed Dec  8 21:44:47 PST 2004.

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
  Platform:
osname=solaris, osvers=2.9, archname=sun4-solaris
uname='sunos suttles 5.9 generic_112233-05 sun4u sparc sunw,sun-blade-1000 '
config_args='-ds -e -Dprefix=/usr/local'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='cc', ccflags ='-I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-I/usr/local/include'
ccversion='Sun C 5.5 Patch 112760-04 2003/10/03', gccversion='', 
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='cc', ldflags =' -L/usr/lib -L/usr/ccs/lib -L/u/SUNWspro/prod/lib 
-L/usr/local/lib '
libpth=/usr/lib /usr/ccs/lib /u/SUNWspro/prod/lib /usr/local/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-KPIC', lddlflags='-G -L/usr/lib -L/usr/ccs/lib 
-L/u/SUNWspro/prod/lib -L/usr/local/lib'

Locally applied patches:


---
@INC for perl v5.8.6:
/usr/local/lib/perl5/5.8.6/sun4-solaris
/usr/local/lib/perl5/5.8.6
/usr/local/lib/perl5/site_perl/5.8.6/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.6
/usr/local/lib/perl5/site_perl/5.8.5/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.5
/usr/local/lib/perl5/site_perl/5.8.4/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.4
/usr/local/lib/perl5/site_perl/5.8.3/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.3
/usr/local/lib/perl5/site_perl/5.8.1/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.1
/usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.0
/usr/local/lib/perl5/site_perl
.

---
Environment for perl v5.8.6:
HOME=/u/martin
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

PATH=/u/martin/bin:/u/martin/bin/sun:/usr/java1.5.0/bin:/opt/Acrobat5/bin:/usr/local/bin:/usr/local/samba/bin:/usr/local/apache2/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/dt/bin:/usr/openwin/bin:/usr/xpg4/bin:/usr/proc/bin:/usr/ccs/bin:/usr/bin:/sbin:/usr/sbin:/devtools/sparc/SUNWspro/SS10/bin
PERL_BADLANG (unset)
SHELL=/usr/bin/zsh



Re: [patch] [EMAIL PROTECTED] - t/op/pack.t undefined value fix

2005-08-01 Thread Rafael Garcia-Suarez
John E. Malmberg wrote:
 This test is exiting before running any tests with an undefined value 
 being referenced if $Config{u64size} is not defined.

Thanks, applied as change #25249.


Re: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread Rafael Garcia-Suarez
John E. Malmberg wrote:
 The script 03examples.t is failing at test 1 because the includes seem 
 to be set wrong for VMS.
 
 --- ext/compress/zlib/t/03examples_t.blead  Sun Jul 31 22:54:06 2005
 +++ ext/compress/zlib/t/03examples.tSun Jul 31 22:54:12 2005
 @@ -42,7 +42,7 @@
 
   my $Inc = '' ;
   if ($^O eq 'VMS') {
 -  $Inc = '-I[.blib.lib] -I[.blib.arch]';
 +  $Inc = '-I[-.lib] -I[-.arch]';
   }
   elsif ($^O eq 'MSWin32') {
 foreach (@INC)
 
 This gets the script passing up to test 10 which causes the subsequent 
 tests to fail.

Thanks, patch applied as #25250. (cc:'ing Paul Marquess)


Re: [EMAIL PROTECTED] on OpenVMS (not good)

2005-08-01 Thread Rafael Garcia-Suarez
John E. Malmberg wrote:
 
 This requires fixing in multiple places.
 
 perl.h, util.c, and embed.fnc, and this seems to require a running perl 
 to rebuild proto.h

Thanks, applied as change #25251.


Re: [perl #36622] y/// at end of file

2005-08-01 Thread Rafael Garcia-Suarez
Michael G Schwern wrote:
 
 Bleadperl appears to have this fixed.  A test is attached.  Ironically
 the fresh_perl test function would always append a newline to the code
 being tested.  I've whacked that out, it was a hold over from the original
 code in t/run/kill_perl.t.

Thanks, applied as change #25252.


Re: [PATCH] POD typos

2005-08-01 Thread Rafael Garcia-Suarez
Piotr Fusik wrote:
 I've extracted a list of words from all the PODs and spell-checked it.
 The result is in the attachment.

Thanks, applied, except bits that touch dual-live modules.
I didn't apply the bit to perltoc.pod, which is a generated document,
and I backported the bit to perlapi.pod to its original source file XSUB.h.


[PATCH] Configure : linux amd64

2005-08-01 Thread Rafael Garcia-Suarez
This patch adds 2 cpp symbols to be checked by Configure for linux/gcc on
AMD64.

--- Configure   (révision 5520)
+++ Configure   (copie de travail)
@@ -19995,7 +19995,7 @@
 $cat 'EOSH'  Cppsym.know
 a29k ABI64 aegis AES_SOURCE AIX AIX32 AIX370
 AIX41 AIX42 AIX43 AIX_SOURCE aixpc ALL_SOURCE
-alliant alpha am29000 AM29000 AMD64 amiga AMIGAOS AMIX
+alliant alpha am29000 AM29000 AMD64 amd64 amiga AMIGAOS AMIX
 ansi ANSI_C_SOURCE apollo ardent ARM32 atarist att386 att3b
 BeOS BIG_ENDIAN BIT_MSF bsd BSD bsd43 bsd4_2 bsd4_3 BSD4_3 bsd4_4
 BSD_4_3 BSD_4_4 BSD_NET2 BSD_TIME BSD_TYPES BSDCOMPAT bsdi
@@ -20053,7 +20053,7 @@
 USE_MISC USE_POSIX USE_POSIX199309 USE_POSIX199506 USE_POSIX2
 USE_REENTRANT USE_SVID USE_UNIX98 USE_XOPEN USE_XOPEN_EXTENDED
 USGr4 USGr4_2
-Utek UTek UTS UWIN uxpm uxps vax venix VMESA vms xenix Xenix286
+Utek UTek UTS UWIN uxpm uxps vax venix VMESA vms x86_64 xenix Xenix286
 XOPEN_SOURCE XOPEN_SOURCE_EXTENDED XPG2 XPG2_EXTENDED
 XPG3 XPG3_EXTENDED XPG4 XPG4_EXTENDED
 z8000


Re: Smoke [5.9.3] 25245 FAIL(F) MSWin32 Win2000 SP4 (x86/1 cpu)

2005-08-01 Thread Steve Hay
Abe Timmerman wrote:

Op een mooie zomerdag (Friday 29 July 2005 21:11),schreef  Abe Timmerman:
  

Automated smoke report for 5.9.3 patch 25245
neewa: x86 Family 6 Model 5 Stepping 2(~450 MHz) (x86/1 cpu)
onMSWin32 - Win2000 SP4
using bcc32 version 5.5.1
smoketime 2 hours 13 minutes (average 1 hour 6 minutes)

Summary: FAIL(F)

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:   - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

   25245 Configuration (common) -DCCHOME=C:\Borland\BCC55
   -DCCTYPE=BORLAND -DINST_DRV=P:
--- -
F F -Duseithreads -Duselargefiles
| +- -DDEBUGGING
+--- no debugging


Failures: (common-args) -DCCHOME=C:\Borland\BCC55 -DCCTYPE=BORLAND
-DINST_DRV=P: [default] -Duseithreads -Duselargefiles
[default] -DDEBUGGING -Duseithreads -Duselargefiles
../lib/Time/Local.t.FAILED 97-120


Weird.  I just tried a smoke with the same version of Borland and the 
same configurations of perl, and got success:

http://www.nntp.perl.org/group/perl.daily-build.reports/29840

The only difference is a few patch levels (which I don't think is 
relevant) and the OS -- I'm using Win XP.  I don't have Win 2000 machine 
on which I can take a closer look at this.

I see that your VC++ smokes on the same Win 2000 machine are successful, 
though, so it looks like some strange issue with bcc32 + Win 2000.

Do you have a Win XP machine that you could try the bcc32 smoke on to 
confirm that?




Radan Computational Ltd.

The information contained in this message and any files transmitted with it are 
confidential and intended for the addressee(s) only.  If you have received this 
message in error or there are any problems, please notify the sender 
immediately.  The unauthorized use, disclosure, copying or alteration of this 
message is strictly forbidden.  Note that any views or opinions presented in 
this email are solely those of the author and do not necessarily represent 
those of Radan Computational Ltd.  The recipient(s) of this message should 
check it and any attached files for viruses: Radan Computational will accept no 
liability for any damage caused by any virus transmitted by this email.



RE: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread Paul Marquess
From: John E. Malmberg [mailto:[EMAIL PROTECTED]

 The script 03examples.t is failing at test 1 because the includes seem
 to be set wrong for VMS.
 
 --- ext/compress/zlib/t/03examples_t.blead  Sun Jul 31 22:54:06 2005
 +++ ext/compress/zlib/t/03examples.tSun Jul 31 22:54:12 2005
 @@ -42,7 +42,7 @@
 
   my $Inc = '' ;
   if ($^O eq 'VMS') {
 -  $Inc = '-I[.blib.lib] -I[.blib.arch]';
 +  $Inc = '-I[-.lib] -I[-.arch]';
   }
   elsif ($^O eq 'MSWin32') {
 foreach (@INC)

Is this the layout needed for running these tests when Compress::Zlib is in
the core only? Is the use of blib still valid for the case when C::Z is
built on VMS away from the core?

 This gets the script passing up to test 10 which causes the subsequent
 tests to fail.

Test 10 triggers the perl interface to the zlib function gzdopen. This is
one of the non-portable hot-spots in Compress::Zlib (and is reworked
completely in the next version of Compress::Zlib).

DB5 x `$Perl $Inc ${examples}/gzstream $file1 $file2 2$stderr`
 
 The error captured in the file $stderr is:
 
 EAGLE type err.out
 Cannot open stdout: invalid argument
 %C-F-EINVAL, invalid argument
 
 The value for stdout should have been the filename hello2.gz, and there
 should be nothing illegal about that.  I will need to chase that down
 later, if someone else does not find the fix before this.

Unless VMS works completely differently to Unix-land, that isn't the case.
The code that is triggering the error is this:

my $gz = gzopen(\*STDOUT, wb)
  or die Cannot open stdout: $gzerrno\n ;

I'm passing the STDOUT filehandle into gzopen, not the hello2.gz filename.
That in turn calls this code in Zlib.pm (where $file is the STDOUT
filehandle)

IO::Handle::flush($file) ;
my $offset = tell($file) ;
gzdopen_(fileno($file), $mode, $offset) ;

The gzdopen_ call is where I interface to the zlib gzdopen 'C' function.

Does VMS allow this messing with the STDOUT filehandle?

Paul



___ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com



Re: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread Rafael Garcia-Suarez
Paul Marquess wrote:
  -  $Inc = '-I[.blib.lib] -I[.blib.arch]';
  +  $Inc = '-I[-.lib] -I[-.arch]';
}
elsif ($^O eq 'MSWin32') {
  foreach (@INC)
 
 Is this the layout needed for running these tests when Compress::Zlib is in
 the core only? Is the use of blib still valid for the case when C::Z is
 built on VMS away from the core?

That's possible, but blib should take care of that IIRC. (non-core builds)


Smoke [5.9.3] 25250 FAIL(XF) bsd/os 4.1 (i386/1 cpu)

2005-08-01 Thread kane
Automated smoke report for 5.9.3 patch 25250
fixit.xs4all.nl: Pentium II (i386/1 cpu)
onbsd/os - 4.1
using cc version egcs-2.91.66 19990314 (egcs-1.1.2 release)
smoketime 3 hours 55 minutes (average 1 hour 57 minutes)

Summary: FAIL(XF)

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:   - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

   25250 Configuration (common) none
--- -
F F - - -Duse64bitint
X O - - 
| | | +- PERLIO = perlio -DDEBUGGING
| | +--- PERLIO = stdio  -DDEBUGGING
| +- PERLIO = perlio
+--- PERLIO = stdio


Failures: (common-args) none
[stdio] -Duse64bitint
../t/op/int.t...FAILED 11

[perlio] -Duse64bitint
../lib/Net/hostent.tFAILED 4-7
../t/op/int.t...FAILED 11

[stdio] 
Inconsistent test results (between TEST and harness):
../lib/Net/hostent.tFAILED at test 4

-- 
Report by Test::Smoke v1.19_67 build 842 running on perl 5.00503
(Reporter v0.019 / Smoker v0.023)



Re: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread John E. Malmberg

Rafael Garcia-Suarez wrote:

Paul Marquess wrote:


-  $Inc = '-I[.blib.lib] -I[.blib.arch]';
+  $Inc = '-I[-.lib] -I[-.arch]';
 }
 elsif ($^O eq 'MSWin32') {
   foreach (@INC)


Is this the layout needed for running these tests when Compress::Zlib is in
the core only? Is the use of blib still valid for the case when C::Z is
built on VMS away from the core?


That's possible, but blib should take care of that IIRC. (non-core builds)


I am kind of new at working on Perl if that was not obvious.

From what I have seen of the other tests, the INC setting when running 
these tests is usually inherited from the parent, and I have seen the 
tests use a test when deciding to use blib or not.


I did not know the correct fix, just what I needed to stop the script 
from failing so soon.  The [-.lib] was the only place that I could find 
the modules.  That is also the setting that was passed on the command 
line to 03examples.t.


-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread John E. Malmberg

Paul Marquess wrote:

From: John E. Malmberg [mailto:[EMAIL PROTECTED]



The script 03examples.t is failing at test 1 because the includes seem
to be set wrong for VMS.


snip - answered in previous discussion



This gets the script passing up to test 10 which causes the subsequent
tests to fail.
 
Test 10 triggers the perl interface to the zlib function gzdopen. This is

one of the non-portable hot-spots in Compress::Zlib (and is reworked
completely in the next version of Compress::Zlib).



  DB5 x `$Perl $Inc ${examples}/gzstream $file1 $file2 2$stderr`

The error captured in the file $stderr is:

EAGLE type err.out
Cannot open stdout: invalid argument
%C-F-EINVAL, invalid argument

The value for stdout should have been the filename hello2.gz, and there
should be nothing illegal about that.  I will need to chase that down
later, if someone else does not find the fix before this.





Unless VMS works completely differently to Unix-land, that isn't the case.
The code that is triggering the error is this:


In this case it does.  The input and output redirections on the command 
line are handled by VMS specific code in the Perl binary, not by the 
shell.  There are probably other significant differences.



my $gz = gzopen(\*STDOUT, wb)
  or die Cannot open stdout: $gzerrno\n ;

I'm passing the STDOUT filehandle into gzopen, not the hello2.gz filename.
That in turn calls this code in Zlib.pm (where $file is the STDOUT
filehandle)

IO::Handle::flush($file) ;
my $offset = tell($file) ;
gzdopen_(fileno($file), $mode, $offset) ;

The gzdopen_ call is where I interface to the zlib gzdopen 'C' function.

Does VMS allow this messing with the STDOUT filehandle?


I do not know.  I will need to do more investigations to find out why it 
is failing, what I will have to do is find the actual C code that is 
being processed.


Also, VMS has many internal file structures. GZIP and TAR can 
effectively only work on to classes of files, STREAM and BINARY.  For 
the other types, information that is stored in the file header is not 
preserved in the compressed file or archive anywhere, and with out that 
information, there is no way to restore most files.


The natural text file format of VMS is known as VFC, which has a byte 
count at the beginning of each record.  STDIN, STDERR, and STDOUT are 
normally text files.


I can think of two ways that TAR/GZIP can handle all VMS file types. 
Either add an extra made up file that has the file header information, 
or encode the file header information in the stored filename.  Of course 
that means that what ever restores the file on VMS would have to know 
what is going on.


So this will take some investigation on a VMS system to see what the 
real problem is.


-John
[EMAIL PROTECTED]
Personal Opinion Only


[PATCH] perldoc -m switch strange behaviour (or a little bug? :-) )

2005-08-01 Thread Enrico Sorcinelli
Hi all,

during development of POD2::IT translation project, I've looked more in deep the
(excellent) Pod::Perldoc package.

Since we've proposed also a patch to perldoc in order to integrate it with
generic pod translations package (not only italian), we've tested all switches
with the new one -L language_code.

We've seen that ther's a strange behaviour with -m switch (it shows file in its
entirety). In particular:

% perldoc -m perlboot

works well (in general with all core pods). But for example:

% perldoc -m lwpcook

doesn't work and:

% perldoc lwpcook

does work! (of course, with the last two you must have LWP installed in your
system).

In a few words: Pod/Perldoc.pm adds also .pod extension (to perldoc argument)
only if:

1) -m switch hasn't been specified

or 

2) only for 'pod/' or 'pods/' subdirectory (indipendently from -m switch
presence). 

Sincerely, I don't know if there's a directive and/or specification and/or a
reason that suggests to put *.pod files (shipped in a distribution) into a pod/
or pods/ subdirectory, but there are many CPAN modules that don't do it! :-)

So, I think that the !$self-opt_m condition at the line 1537 of Pod/Perldoc.pm
could be omitted.

I've included a very simple patch over Pod/Perldoc.pm 3.14 

by

- Enrico




Perldoc.pm-3.14-switchm_patch
Description: Binary data


Re: [EMAIL PROTECTED] on OpenVMS (not good)

2005-08-01 Thread John E. Malmberg

Rafael Garcia-Suarez wrote:

John E. Malmberg wrote:


This requires fixing in multiple places.

perl.h, util.c, and embed.fnc, and this seems to require a running perl 
to rebuild proto.h


Thanks, applied as change #25251.


Change #25218 needs to be backed out.  Adding the (char *) cast to 
suppress a the compiler warning changes a build time error in to several 
potential run time errors, including access violations and data corruptions.


Patch 25217, while making the code build, has the same bug in it.  The 
patches for perl/pp_sys.c, pp_ctl.c, and mg.c contained in it are 
incorrect and should eventually cause runtime corruption or access 
violations.


I previously submitted patches that fix the problem correctly.

The way that Perl uses this type of memory, the data corruption is 
likely to be rare and hard to diagnose.  The access violations may also 
be rare, but when they happen they will be obvious.


Look with great suspicion on any code that is using a cast to get around 
a NON-CONST Qualified error.  There are only a few cases where that is 
valid to do, and that is where you are setting up a structure to be 
passed to a read-only argument.


While the code involved in all these cases in Perl is VMS specific, this 
handling of const qualified variables is not a VMS specific issue.


This was not a case of the compiler being too picky, it was flagging a 
significant bug.


-John
[EMAIL PROTECTED]
Personal Opinion Only


RE: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread Paul Marquess
From: Rafael Garcia-Suarez [mailto:[EMAIL PROTECTED]
 
 Paul Marquess wrote:
   -  $Inc = '-I[.blib.lib] -I[.blib.arch]';
   +  $Inc = '-I[-.lib] -I[-.arch]';
 }
 elsif ($^O eq 'MSWin32') {
   foreach (@INC)
 
  Is this the layout needed for running these tests when Compress::Zlib is
 in
  the core only? Is the use of blib still valid for the case when C::Z is
  built on VMS away from the core?
 
 That's possible, but blib should take care of that IIRC. (non-core builds)

Sorry, I don't think I was very clear. When I said to use blib, I didn't
mean -Mblib, but to use the previous code that checked the blib directory

$Inc = '-I[.blib.lib] -I[.blib.arch]'

So should the change be something like this to allow the module to be
installed with the core and standalone?

  if ($^O eq 'VMS') {
 if (INCORE ) {
$Inc = '-I[-.lib] -I[-.arch]';
 }
 else {
$Inc = '-I[.blib.lib] -I[.blib.arch]';
 }
  }

Where INCORE figures out which incpath to use.

Paul



___ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com



Re: [patch] [EMAIL PROTECTED] on OpenVMS/vms.c - fopen bug.

2005-08-01 Thread Rafael Garcia-Suarez
John E. Malmberg wrote:
 The existing code in the fopen() call aways fails with an invalid 
 argument, so the if clause following it has never been run since this 
 version of the code was in place.
 
 Fixing this bug may expose other side effects as it is assuming that the 
 first 4 bytes of an executable are not printable.  I have not checked
 if that is true for the ELF executables found on I64.
 
 EAGLE gdiff -u vms/vms.c_bug2 vms/vms.c
 --- vms/vms.c_bug2  Fri Jul 29 10:15:32 2005
 +++ vms/vms.c   Fri Jul 29 10:14:03 2005
 @@ -5300,7 +5300,7 @@
 *s = '\0';
 
 /* check that it's really not DCL with no file extension */
 -  fp = fopen(resspec,r,ctx=bin,shr=get);
 +  fp = fopen(resspec,r,ctx=bin,shr=get);

Thanks, applied to bleadperl as change #25255.


Re: [EMAIL PROTECTED] on OpenVMS (not good)

2005-08-01 Thread Rafael Garcia-Suarez
John E. Malmberg wrote:
 
 Change #25218 needs to be backed out.  Adding the (char *) cast to 
 suppress a the compiler warning changes a build time error in to several 
 potential run time errors, including access violations and data corruptions.
 
 Patch 25217, while making the code build, has the same bug in it.  The 
 patches for perl/pp_sys.c, pp_ctl.c, and mg.c contained in it are 
 incorrect and should eventually cause runtime corruption or access 
 violations.
 
 I previously submitted patches that fix the problem correctly.

I think I've applied them correctly as change #25257, including backing
out the patches you mentioned.

http://public.activestate.com/cgi-bin/perlbrowse?patch=25257

(not having access to a VMS box, and being a bit in a hurry since I'll
be leaving soon for OSCON, it would be useful if you check that I've not
messed it up completely.)


Re: [PATCH] POD typos

2005-08-01 Thread Johan Vromans
Rafael Garcia-Suarez [EMAIL PROTECTED] writes:

 Piotr Fusik wrote:
 I've extracted a list of words from all the PODs and spell-checked it.
 The result is in the attachment.

 Thanks, applied, except bits that touch dual-live modules.

I applied the changes to the development tree of Getopt::Long, so they
will not get lost when a new version is taken into production.

-- Johan


Re: [perl #36616] bug or feature? foreach (sort @array) {y/a-z/A-Z/;} # @array modified!

2005-08-01 Thread Rafael Garcia-Suarez
Michael G Schwern wrote:
 So it sounds like the resolution for this bug is to document that sort
 uses aliases like grep does.  I've stolen the wording from grep.

Thanks, applied as change #25258.


Smoke [5.9.3] 25248 FAIL(F) openbsd 3.7 (i386/1 cpu)

2005-08-01 Thread steve
Automated smoke report for 5.9.3 patch 25248
mccoy.peters.homeunix.org: Intel Pentium III (GenuineIntel 686-class, 512KB 
L2 cache) (548 MHz) (i386/1 cpu)
onopenbsd - 3.7
using cc version 3.3.5 (propolice)
smoketime 8 hours 36 minutes (average 1 hour 4 minutes)

Summary: FAIL(F)

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:   - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

   25248 Configuration (common) none
--- -
F F F F 
F F F F -Duse64bitint
F F F F -Duseithreads
F F F F -Duseithreads -Duse64bitint
| | | +- PERLIO = perlio -DDEBUGGING
| | +--- PERLIO = stdio  -DDEBUGGING
| +- PERLIO = perlio
+--- PERLIO = stdio


Failures: (common-args) none
[stdio/perlio] 
[stdio/perlio] -DDEBUGGING
[stdio/perlio] -Duse64bitint
[stdio/perlio] -DDEBUGGING -Duse64bitint
[stdio/perlio] -Duseithreads
[stdio/perlio] -DDEBUGGING -Duseithreads
[stdio/perlio] -Duseithreads -Duse64bitint
[stdio/perlio] -DDEBUGGING -Duseithreads -Duse64bitint
../t/op/sprintf.t...FAILED 147

Compiler messages(gcc):
/tmp//ccRxb614.o(.text+0x3e): In function `main':
/tmp//ccQ13941.o(.text+0x5d): In function `main':
/tmp//cca23652.o(.text+0xde): In function `main':
op.c: In function `Perl_newCONSTSUB':
op.c:4611: warning: null argument where non-null required (arg 1)
opmini.c: In function `Perl_newCONSTSUB':
opmini.c:4611: warning: null argument where non-null required (arg 1)
libperl.a(perlio.o)(.text+0x4ed8): In function `PerlIO_vsprintf':
opmini.o(.text+0x316): In function `Perl_allocmy':
libperl.a(toke.o)(.text+0x722c): In function `Perl_yylex':
libperl.a(op.o)(.text+0x316): In function `Perl_allocmy':
lib/auto/DynaLoader/DynaLoader.a(DynaLoader.o)(.text+0x23e): In function 
`XS_DynaLoader_dl_load_file':
util.o(.text+0x1f3): In function `savestr':
str.o(.text+0x5d): In function `str_2ptr':
byterun.c: In function `byterun':
byterun.c:893: warning: comparison is always false due to limited range of data 
type
../libperl.a(perlio.o)(.text+0x4ed8): In function `PerlIO_vsprintf':
../libperl.a(op.o)(.text+0x316): In function `Perl_allocmy':
../libperl.a(toke.o)(.text+0x722c): In function `Perl_yylex':
/tmp//ccp28709.o(.text+0x3e): In function `main':
/tmp//ccx28812.o(.text+0x5d): In function `main':
/tmp//ccl27392.o(.text+0xde): In function `main':
libperl.a(perlio.o)(.text+0x4f98): In function `PerlIO_vsprintf':
libperl.a(toke.o)(.text+0x7f30): In function `Perl_yylex':
lib/auto/DynaLoader/DynaLoader.a(DynaLoader.o)(.text+0x326): In function 
`XS_DynaLoader_dl_load_file':
util.o(.text+0x2c3): In function `savestr':
str.o(.text+0x81): In function `str_2ptr':
../libperl.a(perlio.o)(.text+0x4f98): In function `PerlIO_vsprintf':
../libperl.a(toke.o)(.text+0x7f30): In function `Perl_yylex':
/tmp//ccul8271.o(.text+0x3e): In function `main':
/tmp//ccL26524.o(.text+0x5d): In function `main':
/tmp//ccp20819.o(.text+0xde): In function `main':
libperl.a(perlio.o)(.text+0x52f4): In function `PerlIO_vsprintf':
libperl.a(toke.o)(.text+0x7330): In function `Perl_yylex':
../libperl.a(perlio.o)(.text+0x52f4): In function `PerlIO_vsprintf':
../libperl.a(toke.o)(.text+0x7330): In function `Perl_yylex':
/tmp//ccqJ1449.o(.text+0x3e): In function `main':
/tmp//ccQq6087.o(.text+0x5d): In function `main':
/tmp//ccB14186.o(.text+0xde): In function `main':
libperl.a(perlio.o)(.text+0x53b4): In function `PerlIO_vsprintf':
libperl.a(toke.o)(.text+0x8030): In function `Perl_yylex':
lib/auto/DynaLoader/DynaLoader.a(DynaLoader.o)(.text+0x32a): In function 
`XS_DynaLoader_dl_load_file':
../libperl.a(perlio.o)(.text+0x53b4): In function `PerlIO_vsprintf':
../libperl.a(toke.o)(.text+0x8030): In function `Perl_yylex':
/tmp//ccJ22655.o(.text+0x3e): In function `main':
/tmp//ccf20406.o(.text+0x5d): In function `main':
/tmp//ccm31490.o(.text+0xde): In function `main':
libperl.a(perlio.o)(.text+0x127): In function `PerlIO_debug':
opmini.o(.text+0x39d): In function `Perl_allocmy':
libperl.a(toke.o)(.text+0x8060): In function `Perl_yylex':
libperl.a(op.o)(.text+0x39d): In function `Perl_allocmy':
lib/auto/DynaLoader/DynaLoader.a(DynaLoader.o)(.text+0x302): In function 
`XS_DynaLoader_dl_load_file':
DProf.xs:140: warning: `unused' attribute ignored
../libperl.a(perlio.o)(.text+0x127): In function `PerlIO_debug':
../libperl.a(op.o)(.text+0x39d): In function `Perl_allocmy':
../libperl.a(toke.o)(.text+0x8060): In function `Perl_yylex':
/tmp//ccV13334.o(.text+0x3e): In function `main':
/tmp//ccJA9839.o(.text+0x5d): In function `main':
/tmp//cci28480.o(.text+0xde): In function `main':
libperl.a(toke.o)(.text+0x8ed0): In function `Perl_yylex':
lib/auto/DynaLoader/DynaLoader.a(DynaLoader.o)(.text+0x4f6): In function 
`XS_DynaLoader_dl_load_file':

Re: Smoke [5.9.3] 25248 FAIL(F) openbsd 3.7 (i386/1 cpu)

2005-08-01 Thread Steve Peters
On Mon, Aug 01, 2005 at 10:41:00AM -0500, [EMAIL PROTECTED] wrote:
 Automated smoke report for 5.9.3 patch 25248
 mccoy.peters.homeunix.org: Intel Pentium III (GenuineIntel 686-class, 512KB 
 L2 cache) (548 MHz) (i386/1 cpu)
 onopenbsd - 3.7
 using cc version 3.3.5 (propolice)
 smoketime 8 hours 36 minutes (average 1 hour 4 minutes)
 
 Summary: FAIL(F)
 
 O = OK  F = Failure(s), extended report at the bottom
 X = Failure(s) under TEST but not under harness
 ? = still running or test results not (yet) available
 Build failures during:   - = unknown or N/A
 c = Configure, m = make, M = make (after miniperl), t = make test-prep
 
25248 Configuration (common) none
 --- -
 F F F F 
 F F F F -Duse64bitint
 F F F F -Duseithreads
 F F F F -Duseithreads -Duse64bitint
 | | | +- PERLIO = perlio -DDEBUGGING
 | | +--- PERLIO = stdio  -DDEBUGGING
 | +- PERLIO = perlio
 +--- PERLIO = stdio
 
 
 Failures: (common-args) none
 [stdio/perlio] 
 [stdio/perlio] -DDEBUGGING
 [stdio/perlio] -Duse64bitint
 [stdio/perlio] -DDEBUGGING -Duse64bitint
 [stdio/perlio] -Duseithreads
 [stdio/perlio] -DDEBUGGING -Duseithreads
 [stdio/perlio] -Duseithreads -Duse64bitint
 [stdio/perlio] -DDEBUGGING -Duseithreads -Duse64bitint
 ../t/op/sprintf.t...FAILED 147
 
It appears that the additional sprintf.t test is causing failures on OpenBSD.

ok 142
ok 143
ok 144
ok 145
ok 146
not ok 147 %.0g -0.0 -0 0 # No minus
ok 148
ok 149
ok 150
ok 151

Steve Peters
[EMAIL PROTECTED]


Re: Smoke [5.9.3] 25248 FAIL(F) openbsd 3.7 (i386/1 cpu)

2005-08-01 Thread Dominic Dunlop

On 2005–08–01, at 17:45, Steve Peters wrote:

Automated smoke report for 5.9.3 patch 25248
mccoy.peters.homeunix.org: Intel Pentium III (GenuineIntel 686- 
class, 512KB L2 cache) (548 MHz) (i386/1 cpu)

onopenbsd - 3.7
using cc version 3.3.5 (propolice)

...
It appears that the additional sprintf.t test is causing failures  
on OpenBSD.


ok 142
ok 143
ok 144
ok 145
ok 146
not ok 147 %.0g -0.0 -0 0 # No minus
ok 148
ok 149
ok 150
ok 151

3.7 is the latest openbsd, isn't it? Presumably gcc 3.3.5 is the  
default C compiler for this version. Can you say how the tests look  
if you use gcc 4.0 instead of 3.3.5?


If gcc 4.0 does not fix the problem, and if it is reasonable to  
expect most people to build perl for openbsd 3.7 using gcc 3.3.5, can  
you cook up and test a patch for the relevant line of sprintf.t, such  
that openbsd is added to the skip list? If you feel optimistic about  
a fix appearing in the next release of openbsd, limit the skip to  
v3.7 and earlier; otherwise skip for all versions.


As I think this is a divergence from the C standard*, can you report  
it as a bug to the openbsd people? My (cursory) search of their  
problem reports does not turn up anything that looks close to this  
issue. The following test program should output -0. Well, it does  
for me on Mac OS X, anyway:


#include math.h
#include stdio.h
main(){printf(%g\n, -pow(10, -200) * pow(10, -200));}

(Identity cribbed from http://www.savrola.com/resources/ 
negative_zero.html.)



Thanks for your help.

* The results of all floating conversions of a negative zero, and of  
negative values that round to zero, include a minus sign. --  
footnote in section 7.19.6.1, sprintf, of ISO 9899:1999 --  
Programming Language C.

--
Dominic Dunlop



Re: Smoke [5.9.3] 25245 FAIL(F) MSWin32 Win2000 SP4 (x86/1 cpu)

2005-08-01 Thread Abe Timmerman

[sorry, no mail on this box]
Steve Hay wrote:

Abe Timmerman wrote:

Op een mooie zomerdag (Friday 29 July 2005 21:11),schreef  Abe Timmerman:

Automated smoke report for 5.9.3 patch 25245
neewa: x86 Family 6 Model 5 Stepping 2(~450 MHz) (x86/1 cpu)
  onMSWin32 - Win2000 SP4
  using bcc32 version 5.5.1
  smoketime 2 hours 13 minutes (average 1 hour 6 minutes)
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available

Summary: FAIL(F)

...

  ../lib/Time/Local.t.FAILED 97-120


Weird.  I just tried a smoke with the same version of Borland and the 
same configurations of perl, and got success:


http://www.nntp.perl.org/group/perl.daily-build.reports/29840

The only difference is a few patch levels (which I don't think is 
relevant) and the OS -- I'm using Win XP.  I don't have Win 2000 machine 
on which I can take a closer look at this.


I see that your VC++ smokes on the same Win 2000 machine are successful, 
though, so it looks like some strange issue with bcc32 + Win 2000.


I'm afraid not :-(

Do you have a Win XP machine that you could try the bcc32 smoke on to 
confirm that?


Automated smoke report for 5.9.3 patch 25260
ati4:  Intel(R) Pentium(R) 4 CPU 2.80GHz(~2793 MHz) (x86/2 cpu)
onMSWin32 - WinXP/.Net SP2
using bcc32 version 5.5.1
smoketime 39 minutes 42 seconds (average 19 minutes 51 seconds)

Summary: FAIL(F)

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:   - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

   25260 Configuration (common) -DCCHOME=C:\Borland\BCC55
   -DCCTYPE=BORLAND -DINST_DRV=P:
--- -
F F -Duseithreads -Duselargefiles
| +- -DDEBUGGING
+--- no debugging

Locally applied patches:
DEVEL24148

Failures: (common-args) -DCCHOME=C:\Borland\BCC55 -DCCTYPE=BORLAND 
-DINST_DRV=P:


[default] -Duseithreads -Duselargefiles
[default] -DDEBUGGING -Duseithreads -Duselargefiles
../lib/Time/Local.t.FAILED 97-120

-- Abe.


Re: [perl #22758] debugger command |x swallows all output

2005-08-01 Thread Ulrich Windl
On 12 Jul 2005 at 16:19, Michael G Schwern via RT wrote:

  [EMAIL PROTECTED] - Sun Jun 22 23:53:28 2003]:
  
  -
  The debugger command x works as expected, but |x shows no output
  at all:
 
 I am unable to reproduce this problem.  What pager does the debugger
 think you're using?  You can find out with this:
 
 $ perl -de 1
 
 Loading DB routines from perl5db.pl version 1.28
 Editor support available.
 
 Enter h or `h h' for help, or `man perldebug' for more help.
 
 main::(-e:1):   1
   DB1 print DB::pager
 |/usr/bin/less
 

main::(-e:1):   1
  DB1 print DB::pager
|less

So maybe it's the missting fully qualified name. Shouldn't perl print some 
diagnostics if the pager cannot be found?

BTW: I tried (not sure which configuration I had reported the problem):

mailgate:/var/tmp # PATH= /usr/bin/perl -de 1

Loading DB routines from perl5db.pl version 1.27
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   1
  DB1 @a=(1 .. 17)

  DB2 x @a
0  1
1  2
2  3
3  4
4  5
5  6
6  7
7  8
8  9
9  10
10  11
11  12
12  13
13  14
14  15
15  16
16  17
  DB3 |x @a

[1]+  Stopped PATH= /usr/bin/perl -de 1
(Perl seems to hang here)

Regards,
Ulrich



t/op/tr failing on EBCDIC Platform.

2005-08-01 Thread Sastry
Hi

Can somebody enlighten me how the transliteration operator (tr//) is
supposed to work  on EBCDIC platform?
I am asking this question with reference to a test case in perl-5.8.6
i.e t/op/tr which is failing on EBCDIC platform

Here is the snipped of the test case

...
# Tricky on EBCDIC: while [a-z] [A-Z] must not match the gap characters,
# (i-j, r-s, I-J, R-S), [\x89-\x91] [\xc9-\xd1] has to match them,
# from Karsten Sperling.

# Not working in EBCDIC as of 12674.
$c = ($a = \x89\x8a\x8b\x8c\x8d\x8f\x90\x91) =~ tr/\x89-\x91/X/;
is($c, 8);
is($a, );
   
# Not working in EBCDIC as of 12674.
$c = ($a = \xc9\xca\xcb\xcc\xcd\xcf\xd0\xd1) =~ tr/\xc9-\xd1/X/;
is($c, 8);
is($a, );
...


Is it supposed to change the gapped characters to X also? In that case
what is the behaviour for tr/a-z/X ?

Thanks in advance
Sastry


[perl #36741] perl build switchable compatible arch name?

2005-08-01 Thread via RT
# New Ticket Created by  Auke Kok 
# Please include the string:  [perl #36741]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36741 



Hi,

Not sure if this is a BUILD bug but it certainly is a nuisance and
should be a lot easier:

I'm trying to build perl on a i686 machine for i386. Since all my
software is optimized for i386 this should not pose a problem, however
perl refuses to see (even when passed the many -Dtarch -Dtargetarch
options) my i386 and assumes i686, which results in an improper build
(gcc nicely is even installed as i386). $BUILD is also set accordingly.

The current fix I'll be using is to replace /bin/arch with a script that
does `echo i386`. This is very ugly. Can the Configure script of perl be
adjusted so that it is possible to _set_ the arch to i386 ?

Thanks.

Auke Kok



Re: Smoke [5.9.3] 25248 FAIL(F) openbsd 3.7 (i386/1 cpu)

2005-08-01 Thread Abe Timmerman
Op een mooie zomerdag (Monday 01 August 2005 18:51),schreef  Dominic Dunlop:
 On 2005–08–01, at 17:45, Steve Peters wrote:
  Automated smoke report for 5.9.3 patch 25248
  mccoy.peters.homeunix.org: Intel Pentium III (GenuineIntel 686-
  class, 512KB L2 cache) (548 MHz) (i386/1 cpu)
  onopenbsd - 3.7
  using cc version 3.3.5 (propolice)

 ...

  It appears that the additional sprintf.t test is causing failures
  on OpenBSD.
...
  not ok 147 %.0g -0.0 -0 0 # No minus
...

 3.7 is the latest openbsd, isn't it? Presumably gcc 3.3.5 is the
 default C compiler for this version. Can you say how the tests look
 if you use gcc 4.0 instead of 3.3.5?

 If gcc 4.0 does not fix the problem, and if it is reasonable to
 expect most people to build perl for openbsd 3.7 using gcc 3.3.5, can
 you cook up and test a patch for the relevant line of sprintf.t, such
 that openbsd is added to the skip list? If you feel optimistic about
 a fix appearing in the next release of openbsd, limit the skip to
 v3.7 and earlier; otherwise skip for all versions.

It looks like there's more than windows and openbsd3.7:


http://www.test-smoke.org/cgi/tsdb?fososver=1farch=1frtext=1rtext=failed+147pversion=5.9.3plcmp=fromlmode=List+reports

(sorry, it's slow)


 As I think this is a divergence from the C standard*, can you report
 it as a bug to the openbsd people? My (cursory) search of their
 problem reports does not turn up anything that looks close to this
 issue. The following test program should output -0. Well, it does
 for me on Mac OS X, anyway:

 #include math.h
 #include stdio.h
 main(){printf(%g\n, -pow(10, -200) * pow(10, -200));}

 (Identity cribbed from http://www.savrola.com/resources/
 negative_zero.html.)


 Thanks for your help.

 * The results of all floating conversions of a negative zero, and of
 negative values that round to zero, include a minus sign. --
 footnote in section 7.19.6.1, sprintf, of ISO 9899:1999 --
 Programming Language C.

Good luck,

Abe
-- 
This thread is supposed to be about what it means - not about the 
implementation. I am painfully aware of the implementation issues.
-- Nick Ing-Simmons on p5p @ 2003-05-22


p5p++ party

2005-08-01 Thread Nathan Torkington
What started life as the perl5-porters party has grown into more of a 
FONT party (Friends Of Nat Torkington), but at its heart are still the 
p5p folks.  If you're on this list, consider yourself invited:


Room 1555, Doubletree Hotel, Portland OR
8:00pm- Thursday August 4th.

Eat dinner before you come.  We'll lay on dessert and drinks, but feel 
free to bring your own as well.  There will be kids, alcohol, and 
conversation.  If you're uncomfortable around any of these, you 
probably should think twice about coming :-)


Cheers;

Nat



[EMAIL PROTECTED] on OpenVMS still not building

2005-08-01 Thread Abe Timmerman
Hi all,

The build stops here:

Running Mkbootstrap for B::C ()
MCR BLDROOT:[00]miniperl.exe -I[---.lib] -I[---.lib] 
-MExtUtils::Comman
d -e chmod 644 C.BS
MCR BLDROOT:[00]miniperl.exe -I[---.lib] -I[---.lib] 
-MExtUtils::Comman
d -e cp C.bs [---.LIB.AUTO.B.C]C.BS
MCR BLDROOT:[00]miniperl.exe -I[---.lib] -I[---.lib] 
-MExtUtils::Comman
d -e chmod 644 [---.LIB.AUTO.B.C]C.BS
%MMS-F-ABORT, For target SUBDIRS, CLI returned abort status: %X10EE8180.
%MMS-F-ABORT, For target DYNEXT, CLI returned abort status: %X10EE8034.

HTH +
Good luck,

Abe
-- 
Let's not cloud the issue with facts, shall we?
   -- Jarkko Hietaniemi on p5p @ 2003-05-02


[patch]vms.c - buffer highwater overrun in vmsify

2005-08-01 Thread John E. Malmberg
This bug is in the routine mp_to_vmsspec().  If it is passed a name like 
/foo where foo is a logical name, with no other directories or file 
names in the path, after the translation, the null terminator was always 
being skipped over, and what ever was previously in that memory would 
get concatenated to the string.


The result would usually be an unusable string.

As I fix the UNIX name handling elsewhere in the VMS specific parts of 
perl to remove the /00 that should not be there, it may make this 
bug more visible.


-John
[EMAIL PROTECTED]
Personal Opinion Only
--- vms/vms.c_blead Mon Aug  1 19:37:03 2005
+++ vms/vms.c   Mon Aug  1 19:36:56 2005
@@ -3842,8 +3842,10 @@
 if (!buf  ts) Renew(rslt,strlen(path)-strlen(rslt)+trnend+4,char);
 strcpy(rslt,trndev);
 cp1 = rslt + trnend;
-*(cp1++) = '.';
-cp2++;
+   if (*cp2 != 0) {
+  *(cp1++) = '.';
+  cp2++;
+}
   }
   else {
 *(cp1++) = ':';


Re: [EMAIL PROTECTED] - ext/Compress/Zlib on VMS.

2005-08-01 Thread John E. Malmberg

John E. Malmberg wrote:

Rafael Garcia-Suarez wrote:


Paul Marquess wrote:


-  $Inc = '-I[.blib.lib] -I[.blib.arch]';
+  $Inc = '-I[-.lib] -I[-.arch]';
 }
 elsif ($^O eq 'MSWin32') {
   foreach (@INC)



Is this the layout needed for running these tests when Compress::Zlib 
is in

the core only? Is the use of blib still valid for the case when C::Z is
built on VMS away from the core?



That's possible, but blib should take care of that IIRC. (non-core 
builds)



I am kind of new at working on Perl if that was not obvious.

 From what I have seen of the other tests, the INC setting when running 
these tests is usually inherited from the parent, and I have seen the 
tests use a test when deciding to use blib or not.


I did not know the correct fix, just what I needed to stop the script 
from failing so soon.  The [-.lib] was the only place that I could find 
the modules.  That is also the setting that was passed on the command 
line to 03examples.t.


Is there really any reason that there is VMS specific code here?

-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: [EMAIL PROTECTED] on OpenVMS (not good)

2005-08-01 Thread John E. Malmberg

Rafael Garcia-Suarez wrote:



I think I've applied them correctly as change #25257, including backing
out the patches you mentioned.

http://public.activestate.com/cgi-bin/perlbrowse?patch=25257

(not having access to a VMS box, and being a bit in a hurry since I'll
be leaving soon for OSCON, it would be useful if you check that I've not
messed it up completely.)


I just checked the files for the edits, I have not run a newer build.

vms/vms.c - ok.

vms/vmsish.h - ok

perl.h - ok

embed.fnc - ok

util.c - ok

mg.c - ok

vms/descrip_mms.template - patch not yet applied.  With out this patch, 
the debug build produces large listings that do not really have any 
usable content.


-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: [EMAIL PROTECTED] on OpenVMS still not building

2005-08-01 Thread John E. Malmberg

Abe Timmerman wrote:

Hi all,

The build stops here:

Running Mkbootstrap for B::C ()
MCR BLDROOT:[00]miniperl.exe -I[---.lib] -I[---.lib] 
-MExtUtils::Comman

d -e chmod 644 C.BS
MCR BLDROOT:[00]miniperl.exe -I[---.lib] -I[---.lib] 
-MExtUtils::Comman

d -e cp C.bs [---.LIB.AUTO.B.C]C.BS
MCR BLDROOT:[00]miniperl.exe -I[---.lib] -I[---.lib] 
-MExtUtils::Comman

d -e chmod 644 [---.LIB.AUTO.B.C]C.BS
%MMS-F-ABORT, For target SUBDIRS, CLI returned abort status: %X10EE8180.
%MMS-F-ABORT, For target DYNEXT, CLI returned abort status: %X10EE8034.


Unfortunately I can not translate those status codes to anything, which 
means that facility is not on my ALPHA system.


All the patches that I know of for vms.c have been applied, except for 
the one that I just posted, and I do not think it is affecting you.


I do not have time to do a build of 25260 tonight, I want to get some 
minor patches submitted for some other things that I have found while 
getting the UNIX mode of VMS to work.


Chasing this down will require finding the exact command that is 
aborting for target SUBDIRS.


-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: [PATCH] POD typos

2005-08-01 Thread Michael G Schwern
On Mon, Aug 01, 2005 at 10:42:46AM +0200, Rafael Garcia-Suarez wrote:
 Piotr Fusik wrote:
  I've extracted a list of words from all the PODs and spell-checked it.
  The result is in the attachment.
 
 Thanks, applied, except bits that touch dual-live modules.

I've applied the fixes from both his spell check packages to Test-Simple
and ExtUtils-MakeMaker.


-- 
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern
Reality is that which, when you stop believing in it, doesn't go away.
-- Phillip K. Dick


[patch] [EMAIL PROTECTED] - VMS specific fixes.

2005-08-01 Thread John E. Malmberg
Here are some miscellaneous VMS specific things that need to be fixed 
for VMS to work with the VMS C Run-Time Library (CRTL) UNIX filename 
mode that do not require any other changes to Perl for implementation.


When the VMS CRTL is in UNIX filename mode, the VMS C library calls 
return filenames in UNIX format.


Sorry if I got the case of some of the filenames wrong.  I tried to get 
them right.


t/op/anonsub.t :
t/op/closure.t :
t/op/lex_assign.t :
t/op/runlevel.t :
t/lib/warnings/doio :
lib/Test/Harness/Straps.pm :

Remove 'MCR'.  It is not needed, and it breaks Perl when the VMS CRTL is 
in UNIX filename mode.  PERL on VMS usually knows when to add the MCR 
command and how to handle $^X as either a VMS or UNIX file specification.



lib/vmsish.t:
vms/ext/Stdio/test.pl:

MCR is still needed in these cases, but must make sure that $^X is a VMS 
file specification if MCR is prefixing it.



utils/c2ph.pl :

VMS now supports LINK, but still uses a different filename.  Since link 
is configured, the link routine is expected to succeed.  Note that not 
all file systems on VMS support the link(), but we are assuming that if 
someone built a binary with link(), they are building on a file system 
with link support on.



t/op/chdir.t

Clean up SYS$LOGIN after this script is run out side of the test 
harness.  A bit strange to exit a script and find the pointer to the 
login directory gone.



t/op/stat.t

Perl could find a /bin/ls on VMS but not really know how to run it yet, 
resulting in some interesting test failures.



t/x2p/s2p.t

RMSEXPAND needs a VMS format file specification.  When the VMS CRTL is 
in UNIX filename mode, these additional vmsify() commands are needed.



t/pod/find.t

VMS could be in a UNIX filename mode, so if you want a filename in VMS 
format, it needs to be converted.


-John
[EMAIL PROTECTED]
Personal Opinion Only
--- t/op/anonsub.t_bleadMon Aug  1 21:04:15 2005
+++ t/op/anonsub.t  Mon Aug  1 21:04:22 2005
@@ -32,7 +32,7 @@
 print TEST $prog\n;
 close TEST or die Could not close: $!;
 my $results = $Is_VMS ?
-   `MCR $^X -I[-.lib] $switch $tmpfile 21` :
+   `$^X -I[-.lib] $switch $tmpfile 21` :
  $Is_MSWin32 ?
`.\\perl -I../lib $switch $tmpfile 21` :
  $Is_MacOS ?  
--- utils/c2ph.pl   Mon Aug  1 22:15:46 2005
+++ utils/c2ph.pl_blead Mon Aug  1 22:12:34 2005
@@ -1437,7 +1437,7 @@
 unlink 'pstruct';
 print Linking c2ph to pstruct.\n;
 if (defined $Config{d_link}) {
-  link $file, 'pstruct';
+  link 'c2ph', 'pstruct';
 } else {
   unshift @INC, '../lib';
   require File::Copy;
--- t/op/chdir.t_blead  Mon Aug  1 22:24:46 2005
+++ t/op/chdir.tMon Aug  1 22:24:24 2005
@@ -138,6 +138,10 @@
 
 # Restore the environment for VMS (and doesn't hurt for anyone else)
 @[EMAIL PROTECTED] = @[EMAIL PROTECTED];
+
+# On VMS this must be deleted or process table is wrong on exit
+# when this script is run interactively.
+delete $ENV{'SYS$LOGIN'} if $IsVMS;
 }
 
 
--- t/op/closure.t_bleadMon Aug  1 22:30:08 2005
+++ t/op/closure.t  Mon Aug  1 22:30:14 2005
@@ -466,7 +466,7 @@
my $errfile = terr$$;  $errfile++ while -e $errfile;
my @tmpfiles = ($cmdfile, $errfile);
open CMD, $cmdfile; print CMD $code; close CMD;
-   my $cmd = (($^O eq 'VMS') ? MCR $^X
+   my $cmd = (($^O eq 'VMS') ? $^X
   : ($^O eq 'MSWin32') ? '.\perl'
   : ($^O eq 'MacOS') ? $^X
   : ($^O eq 'NetWare') ? 'perl'
--- t_lib_warnings_doio.blead   Mon Aug  1 22:39:42 2005
+++ t/lib/warnings/doio.Mon Aug  1 22:40:25 2005
@@ -60,10 +60,10 @@
 __END__
 # doio.c [Perl_do_open9]
 use warnings 'io' ;
-open(F, '|'.($^O eq 'VMS' ? 'mcr ':'').$^X -e 1|);
+open(F, '|'.$^X -e 1|);
 close(F);
 no warnings 'io' ;
-open(G, '|'.($^O eq 'VMS' ? 'mcr ':'').$^X -e 1|);
+open(G, '|'.$^X -e 1|);
 close(G);
 EXPECT
 Can't open bidirectional pipe at - line 3.
--- t/op/lex_assign.t_blead Mon Aug  1 22:52:28 2005
+++ t/op/lex_assign.t   Mon Aug  1 22:52:34 2005
@@ -8,7 +8,7 @@
 $| = 1;
 umask 0;
 $xref = \ ;
-$runme = ($^O eq 'VMS' ? 'MCR ' : '') . $^X;
+$runme = $^X;
 @a = (1..5);
 %h = (1..6);
 $aref = [EMAIL PROTECTED];
--- t/op/runlevel.t_blead   Mon Aug  1 23:01:00 2005
+++ t/op/runlevel.t Mon Aug  1 23:01:22 2005
@@ -34,7 +34,7 @@
 print TEST $prog\n;
 close TEST or die Could not close: $!;
 my $results = $Is_VMS ?
-  `MCR $^X -I[-.lib] $switch $tmpfile 21` :
+  `$^X -I[-.lib] $switch $tmpfile 21` :
  $Is_MSWin32 ?  
  `.\\perl -I../lib $switch $tmpfile 21` :
  $Is_NetWare ?  
--- t/x2p/s2p.t_blead   Mon Aug  1 23:09:15 2005
+++ t/x2p/s2p.t Mon Aug  1 23:09:20 2005
@@ -791,6 +791,8 @@
 my $psed = File::Spec-catfile( File::Spec-curdir(), 'psed' );
 if ($^O eq 'VMS') {
   #