Re: IO::* indexing on PAUSE
On Mon, 29 Aug 2005 19:48:57 +0200, [EMAIL PROTECTED] said: Hi, In one of my automated build runs, i noticed that the dependency on 'IO::File' is being resolved as being on CPAN in IO-1.20.tgz rathern than the perl core[1]... which is odd, as the core version is quite a bit more recent. Also, IO-1.20.tgz fails building on at least my machine, and looking at testers.cpan on quite a few more boxes[2]. I suggest PAUSE remove IO-1.20 as authoritive for the IO::*[3] modules and let them be indexed as 'core' instead. Thoughts? Is there no volunteer to roll a new IO-X.XX.tar.gz? That would resolve the issue in the way that has been considered the superior around 2002 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-07/msg01579.html http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-08/msg00062.html -- andreas
Re: [EMAIL PROTECTED] hv.c vms environment fix.
John E. Malmberg wrote: In Perl_hv_iternext_flags, on the VMS platform, the calls prime_env_iter() which can load up new environment values. If it does, then the index to the environment hash needs to be reset, otherwise it cause this problem. This patch appears to fix this. It is quite possible that there are better ways of doing this, and that this also potentially affects any other platform that calls prime_env_iter(). Thanks, applied as change #25535.
Re: ext/Devel/Peek/t/Peek.t failure on VMS question
John E. Malmberg wrote: The dump of [EMAIL PROTECTED] on VMS produces the following output that is different from the expected. In particular, there is no trailing null on the value on the resulting value, and it has the additional flags of READONLY and FAKE. What I do not know is if this is an intended behavior on VMS as a side effect of creating or modifying $ENV{PATH}. As far as I can tell from a quick glance, the \0 absence is a bug, but harmless since perl doesn't use a trailing \0 to mark end of strings internally ; and the FAKE/READONLY flags are ok, due to the way %ENV is handled on VMS. got: [ snip SV = PVMG(0x2b5770) at 0x28c6d8 FLAGS = (TEMP,POK,FAKE,READONLY,pPOK) PV = 0x2c4e84 PATH snip ] expected: [ (?:ALLOCATED at .*? )?SV = PVMG\(0x[[:xdigit:]]+\) at 0x[[:xdigit:]]+ snip FLAGS = \(TEMP,POK,pPOK\) (?: IV = 0 )? PV = 0x[[:xdigit:]]+ (?i:PATH)\\0 snip ] not ok 21
Re: sv-head refactor
Jim Cromie wrote: attached patch does nothing - ie it changes no behavior whatsoever (i tested it to be sure - all tests pass) it just pulls the the common structure of the various sv, av, hv, gv etc types into a pair of macros. Thanks, applied as change #25337.
Re: [perl #37000] New version of Text::Tabs, Text::Wrap
David Muir Sharnoff (via RT) wrote: I've rolled a new release of Text::Tabs Text::Wrap. Please pull it into the current development perl5. You can find it on CPAN or from ftp://ftp.idiom.com/users/muir/CPAN/modules It appears that you've missed a from bleadperl (at least one) : http://public.activestate.com/cgi-bin/perlbrowse?patch=24273 is it intentional ?
s///ge; consumes PL_tmps_stack in its loop
Hi. A large amount of s///ge; consumes PL_tmps_stack in its loop. This occues REPLACEMENT (right) part has statement ( eg. s//$x;$x/ge;). Patch is follows: diff -urN perl-5.8.7.orig/pp_ctl.c perl-5.8.7/pp_ctl.c --- perl-5.8.7.orig/pp_ctl.c2005-04-22 23:12:38.0 +0900 +++ perl-5.8.7/pp_ctl.c 2005-08-30 10:55:05.0 +0900 @@ -188,6 +188,11 @@ if (!(cx-sb_rxtainted 2) SvTAINTED(TOPs)) cx-sb_rxtainted |= 2; sv_catsv(dstr, POPs); + if( (cx-sb_iters0x)==0 ) { + /* shrink tmps stack */ + FREETMPS; + SAVETMPS; + } /* Are we done */ if (cx-sb_once || !CALLREGEXEC(aTHX_ rx, s, cx-sb_strend, orig, make test is also fine. sample code is follows: $ time ./perl -Ilib -MTime::HiRes=gettimeofday,tv_interval -le ' my$t=[gettimeofday];my$i=0;s;my$s=.x5_000_000; print length: .length($s);s; $s=~s/./my$x=.;++$i%100 or s;$x/ge; s; sub s{ system(grep VmSize /proc/$$/status); my$tt=$t;$t=[gettimeofday]; print i=$i, interval=.tv_interval($tt,$t) }' original one results: VmSize:22,024 kB i=0, interval=0.018394 VmSize: 101,408 kB i=100, interval=1.159893 VmSize: 180,948 kB i=200, interval=1.224288 VmSize: 260,356 kB i=300, interval=1.241251 VmSize: 339,764 kB i=400, interval=1.237665 VmSize: 419,304 kB i=500, interval=1.23893 VmSize: 414,420 kB i=500, interval=0.60233 real0m9.858s user0m7.952s sys 0m1.898s patched one results: VmSize:22,020 kB i=0, interval=0.018664 VmSize:28,192 kB i=100, interval=1.131531 VmSize:29,168 kB i=200, interval=1.145311 VmSize:30,144 kB i=300, interval=1.143441 VmSize:31,120 kB i=400, interval=1.151553 VmSize:32,096 kB i=500, interval=1.152435 VmSize:27,212 kB i=500, interval=0.007292 real0m5.774s user0m4.679s sys 0m1.083s Result of evaluate is putted on stack and it is mortaled. Stacked one is removed immediately when it concateneted into substitute result. But mortaled one is living in the PL_tmps_stack. And at end of s///ge; statement (pp_nextstate) releases all of them. Just small code s//1/ge; does not occur this problem. At least s//1;1/ge; needed. ./perl -Ilib -MO=Terse -le '$_=.x5_000_000; s/./$x/ge;' PMOP (0x6119a0) subst LOGOP (0x62db80) substcont UNOP (0x62f2c0) null LISTOP (0x611cb0) scope OP (0x6305f0) null [174] UNOP (0x611b60) null [15] SVOP (0x611c70) gvsv GV (0x628430) *x ./perl -Ilib -MO=Terse -le '$_=.x5_000_000; s/./$x;$x/ge;' PMOP (0x6119a0) subst LOGOP (0x62db80) substcont UNOP (0x62fa90) null LISTOP (0x611cb0) leave OP (0x61db50) enter COP (0x6305f0) nextstate UNOP (0x611b60) null [15] SVOP (0x611c70) gvsv GV (0x628430) *x COP (0x630660) nextstate UNOP (0x62db00) null [15] SVOP (0x62f2c0) gvsv GV (0x628430) *x ./perl -le '$_=.x5_000_000;s/./1;1/ge;'; this code show 0.5% time loss, memory reduce is from 450M into 25M. but s/./$x;$x/ge; shows 15% speedup. much of s///ge with small string seems no extra time. Regards. -- YAMASHINA Hio [EMAIL PROTECTED]
Re: [EMAIL PROTECTED] t/op/magic.t - Last 3 tests invalid on VMS
John E. Malmberg wrote: According to the code in mg.c / Perl_magic_clear_all_env() the last three tests can not be done on VMS, EPOC, and SYMBIAN. I do not know how to test for EPOC or SYMBIAN, but this patch will handle the VMS case. Thanks, applied as #25336.
Re: ext/Devel/Peek/t/Peek.t failure on VMS question
Rafael Garcia-Suarez wrote: John E. Malmberg wrote: The dump of [EMAIL PROTECTED] on VMS produces the following output that is different from the expected. In particular, there is no trailing null on the value on the resulting value, and it has the additional flags of READONLY and FAKE. What I do not know is if this is an intended behavior on VMS as a side effect of creating or modifying $ENV{PATH}. As far as I can tell from a quick glance, the \0 absence is a bug, but harmless since perl doesn't use a trailing \0 to mark end of strings internally ; and the FAKE/READONLY flags are ok, due to the way %ENV is handled on VMS. Actually VMS does not use a trailing NULL on two of the items, DCL symbols and logical name, that are accessible through the $ENV hash. Both of those store the data as counted strings, and it is legal for those strings to contain embedded NULLs and other binary values. Not usually done because it is not trivial to put those embedded NULLs in from the command line, and also some programs written in C may not be able to deal with the result. Perl might be one of them, I would have to check the source again. I can submit a patch in about 10 hours for this test to make conditional the pattern for the READONLY,FAKE, and trailing NULL being optional. I would rather not change Perl on VMS to pretend that logical names and symbols have a trailing NULL. While it would probably be harmless, it is possible that could have some strange side effects on VMS specific Perl scripts. -John [EMAIL PROTECTED] Personal Opinion Only
Optree Generation
There is file called lib/B.pm here there is function as follows sub B::IV::int_value { my ($self) = @_; my $ni = $self-IV; # i have added this print \n $ni $self \n; # i have added this return (($self-FLAGS() SVf_IVisUV()) ? $self-UVX : $self-IV); } when i tried printing the $ni. if i run the following comman perl -I../lib -MO=Concise,BEGIN,CHECK,INIT,END,-exec -e '$a=$b print q/foo/' then $ni is printing negative value -1585856300 (i am working on EBCDIC platform) B::PVIV=SCALAR(0x2102f900) my question 1. what is that negative value is it correct or what. 2. how is variable IV is populated from where? 3. what is the meaning of B::PVIV=SCALAR(0x2102f900) 4. if u go to the begining of the file (lib/B.pm) and comment the following line @B::PVIV::ISA = qw(B::PV B::IV); on running the above mentioned line gives error. Here from where B::IV is picked from. what is the exact meaning of B::IV Regards Yaseen - Yahoo! Mail for Mobile Take Yahoo! Mail with you! Check email on your mobile phone.
Re: [perl #37000] New version of Text::Tabs, Text::Wrap
No, not intentional. Nobody sent that one to me. Unfortunantly I've gotten busy again and may not be able to merge it in immdidately. I'll do so as soon as I can. -Dave On 8/30/05, Rafael Garcia-Suarez via RT [EMAIL PROTECTED] wrote: David Muir Sharnoff (via RT) wrote: I've rolled a new release of Text::Tabs Text::Wrap. Please pull it into the current development perl5. You can find it on CPAN or from ftp://ftp.idiom.com/users/muir/CPAN/modules It appears that you've missed a from bleadperl (at least one) : http://public.activestate.com/cgi-bin/perlbrowse?patch=24273 is it intentional ?
[perl #37029] Perl bug - help
# New Ticket Created by Yeoman, Dave # Please include the string: [perl #37029] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37029 I'm by no means an expert with perl, but I need some Perl help. We have one x440 server with RH 3.0.5 and perl v5.8.0 built for i386-linux-thread-multiand and another server x445 upgraded with RH 4.0 perl v5.8.5 built for i386-linux-thread-multi. The server with Perl v5.8.5 produces different results from the pop (line 458 below) and I'm not sure why. Can you help answer my question? NGGF445TEST4 (RH 3.0.5, Perl v5.8.0): GOOD main::(/usr/local/bin/splfr:441): @dirs = File::Spec-splitdir($exechomedirs); main::(/usr/local/bin/splfr:442):printf(\n *** exechomedirs=$exechomedirs \n); *** exechomedirs=/usr/local/bin main::(/usr/local/bin/splfr:458): pop @dirs; main::(/usr/local/bin/splfr:463): if (File::Spec-can('catdir')) { main::(/usr/local/bin/splfr:465): $opt_exechome_parent_dir = File::Spec-catdir(@dirs); main::(/usr/local/bin/splfr:467): printf(\n *** opt_exechome_parent_dir=$opt_exechome_parent_dir \n); *** opt_exechome_parent_dir=/usr/local NGGF445TEST6 (RH 4.0, Perl v5.8.5): BAD main::(/usr/local/bin/splfr:441): @dirs = File::Spec-splitdir($exechomedirs); main::(/usr/local/bin/splfr:442): printf(\n *** exechomedirs=$exechomedirs \n); *** exechomedirs=/usr/local/bin/ main::(/usr/local/bin/splfr:458): pop @dirs; main::(/usr/local/bin/splfr:463): if (File::Spec-can('catdir')) { main::(/usr/local/bin/splfr:465): $opt_exechome_parent_dir = File::Spec-catdir(@dirs); main::(/usr/local/bin/splfr:467): printf(\n *** opt_exechome_parent_dir=$opt_exechome_parent_dir \n); *** opt_exechome_parent_dir=/usr/local/bin Dave Yeoman System Engineer - Enterprise Performance Galileo International Phone: (303) 397-5721 E-mail: mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] The information in this electronic mail message is sender's business Confidential and may be legally privileged. It is intended solely for the addressee(s). Access to this Internet electronic mail message by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. The sender believes that this E-mail and any attachments were free of any virus, worm, Trojan horse, and/or malicious code when sent. This message and its attachments could have been infected during transmission. By reading the message and opening any attachments, the recipient accepts full responsibility for taking protective and remedial action about viruses and other defects. Cendant is not liable for any loss or damage arising in any way from this message or its attachments.
Re: Optree Generation
Can you tell us what your goal is?
[patch pod/perlmod.pod] CLONE_SKIP addition version is wrong
CLONE_SKIP was added in 5.8.7, not 5.7.2. Please use the patch in the attachment. --- pod/perlmod.pod.orig2005-08-30 11:01:47.0 -0700 +++ pod/perlmod.pod 2005-08-30 11:02:57.0 -0700 @@ -539,8 +539,8 @@ module or by doing fork() on win32 (fake fork() support). When a thread is cloned all Perl data is cloned, however non-Perl data cannot be cloned automatically. Perl after 5.7.2 has support for the CCLONE -and CCLONE_SKIP special subroutines. In CCLONE you can do whatever -you need to do, +special subroutine (and CCLONE_SKIP, described later on, was added in 5.8.7). +In CCLONE you can do whatever you need to do, like for example handle the cloning of non-Perl data, if necessary. CCLONE will be called once as a class method for every package that has it defined (or inherits it). It will be called in the context of the new thread, -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://mailchannels.com --- pod/perlmod.pod.orig2005-08-30 11:01:47.0 -0700 +++ pod/perlmod.pod 2005-08-30 11:02:57.0 -0700 @@ -539,8 +539,8 @@ module or by doing fork() on win32 (fake fork() support). When a thread is cloned all Perl data is cloned, however non-Perl data cannot be cloned automatically. Perl after 5.7.2 has support for the CCLONE -and CCLONE_SKIP special subroutines. In CCLONE you can do whatever -you need to do, +special subroutine (and CCLONE_SKIP, described later on, was added in 5.8.7). +In CCLONE you can do whatever you need to do, like for example handle the cloning of non-Perl data, if necessary. CCLONE will be called once as a class method for every package that has it defined (or inherits it). It will be called in the context of the new thread,
Re: [patch pod/perlmod.pod] CLONE_SKIP addition version is wrong
On 8/30/05, Stas Bekman [EMAIL PROTECTED] wrote: CLONE_SKIP was added in 5.8.7, not 5.7.2. Please use the patch in the attachment. Already fixed in blead by : Change 24822 by [EMAIL PROTECTED] on 2005/06/13 12:49:18 Subject: [PATCH] Re: [perl #36047] perlmod.pod/CLONESKIP error From: Offer Kaye [EMAIL PROTECTED] Date: Thu, 2 Jun 2005 09:14:53 +0300 Message-ID: [EMAIL PROTECTED]
Re: [perl #36976] system() always returns -1 in forked child with SIG{CHLD}='IGNORE' in parent
On 8/23/05, Rick Delaney [EMAIL PROTECTED] wrote: My footnote was paraphrased from `man 2 wait` and IMO the described behaviour is a bug. And it must have been a bug in someone else's opinion too since wait/waitpid do not behave like that on Linux. At least they don't for me with kernel 2.6.8 and a C program. They behave the SysV way (return -1 and set ECHILD when SIG_IGN). I guess the man page is out of date. So perl is behaving exactly like the underlying system call. Sorry for any confusion. I applied the following clarification to perlfunc : Change 25339 by [EMAIL PROTECTED] on 2005/08/30 18:55:46 Clarify the cases where system() returns 1, per a suggestion of Rick Delaney (bug #36976) Affected files ... ... //depot/perl/pod/perlfunc.pod#490 edit Differences ... //depot/perl/pod/perlfunc.pod#490 (text) @@ -6012,11 +6012,12 @@ of CIO::Handle on any open handles. The return value is the exit status of the program as returned by the -Cwait call. To get the actual exit value, shift right by eight (see below). -See also L/exec. This is Inot what you want to use to capture +Cwait call. To get the actual exit value, shift right by eight (see +below). See also L/exec. This is Inot what you want to use to capture the output from a command, for that you should use merely backticks or Cqx//, as described in Lperlop/`STRING`. Return value of -1 -indicates a failure to start the program (inspect $! for the reason). +indicates a failure to start the program or an error of the wait(2) system +call (inspect $! for the reason). Like Cexec, Csystem allows you to lie to a program about its name if you use the Csystem PROGRAM LIST syntax. Again, see L/exec.
Re: [perl #37029] Perl bug - help
On Tue, Aug 30, 2005 at 06:51:22AM -0700, Yeoman, Dave wrote: # New Ticket Created by Yeoman, Dave # Please include the string: [perl #37029] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37029 I'm by no means an expert with perl, but I need some Perl help. We have one x440 server with RH 3.0.5 and perl v5.8.0 built for i386-linux-thread-multiand and another server x445 upgraded with RH 4.0 perl v5.8.5 built for i386-linux-thread-multi. The server with Perl v5.8.5 produces different results from the pop (line 458 below) and I'm not sure why. Can you help answer my question? If Cpop() is returning different results, then the array it is pop'ping off of is likely getting populated in a different order, or with different results. From what you've included, though, its hard to say. How are the results different in 5.8.5 from 5.8.0? Steve Peters [EMAIL PROTECTED]
Re: [patch pod/perlmod.pod] CLONE_SKIP addition version is wrong
Rafael Garcia-Suarez wrote: On 8/30/05, Stas Bekman [EMAIL PROTECTED] wrote: CLONE_SKIP was added in 5.8.7, not 5.7.2. Please use the patch in the attachment. Already fixed in blead by : Change 24822 by [EMAIL PROTECTED] on 2005/06/13 12:49:18 Subject: [PATCH] Re: [perl #36047] perlmod.pod/CLONESKIP error From: Offer Kaye [EMAIL PROTECTED] Date: Thu, 2 Jun 2005 09:14:53 +0300 Message-ID: [EMAIL PROTECTED] Cool, but it needs to be fixed in maint as well. Nicholas, mind to backport this to maint? Thanks. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://mailchannels.com
[perl #37033] open2 oddity with eval ... and STDIN closed
# New Ticket Created by Petr Pajas # Please include the string: [perl #37033] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37033 This is a bug report for perl from [EMAIL PROTECTED], generated with the help of perlbug 1.35 running under perl v5.8.6. - Hi! A virtual beer to anyone who sheds some light on this:-) I'm puzzled by a weird behavior of output redirection in a larger application of mine. Finally, I was able to trim the code down to the few lines below. __CODE_STARTS_HERE__ #!/usr/bin/env perl close STDIN; eval 'EVAL'; # - remove or replace with eval {} #to see the correct output use Encode::Byte; # - instead of POD of this use IPC::Open2; open2('STDOUT',$P,'cat') || die cannot open pipe: $!\n; print $P (HALLO\n); EVAL __END__ It is now only a way round to pass the string HALLO\n to 'cat' program. However, under the specific scenario, the content that follows __END__ in the module Encode/Byte.pm is unexpectedly passed to 'cat' instead. HELLO is printed if either of the following conditions is satisfied: * eval is removed * eval is replaced with eval { } * the initial close STDIN is removed * close STDIN is moved into the eval If 'use Encode::Byte' is removed, the program outputs nothing. I'm assuming this is a bug because I don't see a reason why changing eval to eval{} should make any difference here and also why closing STDIN should be relevant. I'm marking the bug as medium severe because of the fact that 'use Module' exposes an open filehandle (fd0) with an unexpected content and open2 passes it to a subprocess where it shouldn't. Beside the reported versions, I was able to reproduce the problem with a 5.9.3 build on Fedora Core 3. Thanks, -- Petr - --- Flags: category=core severity=medium --- This perlbug was built using Perl v5.8.6 - Sat Mar 19 17:33:54 UTC 2005 It is being executed now by Perl v5.8.6 - Sat Mar 19 17:29:44 UTC 2005. Site configuration information for perl v5.8.6: Configured by abuild at Sat Mar 19 17:29:44 UTC 2005. Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=linux, osvers=2.6.9, archname=i586-linux-thread-multi uname='linux salieri 2.6.9 #1 smp fri jan 14 15:41:33 utc 2005 i686 athlon i386 gnulinux ' config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -g -Wall -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe' ccversion='', gccversion='3.3.5 20050117 (prerelease) (SUSE Linux)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags ='' libpth=/lib /usr/lib /usr/local/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.6/i586-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared' Locally applied patches: --- @INC for perl v5.8.6: /usr/lib/perl5/5.8.6/i586-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.6/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl . --- Environment for perl v5.8.6: HOME=/home/pajas LANG=cs_CZ.UTF-8 LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/pajas/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin PERL_BADLANG (unset) SHELL=/bin/bash
[EMAIL PROTECTED] ext/Dev/Peek/t/peek.t fix for VMS
This fixes test 21 on blead-perl to pass on VMS. The hash set by VMS now has the READONLY and FAKE attributes, and two of the three VMS resources that are represented by ENV hashes are not null terminated and can contain binary values. -John [EMAIL PROTECTED] Personal Opinion Only --- ext/Devel/Peek/t/Peek.t_25339 Tue Aug 30 21:49:49 2005 +++ ext/Devel/Peek/t/Peek.t Tue Aug 30 21:40:43 2005 @@ -410,6 +410,8 @@ # TAINTEDDIR is not set on: OS2, AMIGAOS, WIN32, MSDOS # environment variables may be invisibly case-forced, hence the (?i:PATH) # Cscalar(@ARGV) is turned into an IV on VMS hence the (?:IV)? +# VMS is setting FAKE and READONLY flags. What VMS uses for storing +# ENV hashes is also not always null terminated. # do_test(21, [EMAIL PROTECTED], # scalar(@ARGV) is a handy known tainted value @@ -430,9 +432,9 @@ MG_PTR = $ADDR (?:(?i:PATH)|= HEf_SVKEY SV = PV(?:IV)?\\($ADDR\\) at $ADDR REFCNT = \d+ - FLAGS = \\(TEMP,POK,pPOK\\) + FLAGS = \\(TEMP,POK,(?:FAKE,READONLY,)pPOK\\) (?: IV = 0 -)? PV = $ADDR (?i:PATH)\\\0 +)? PV = $ADDR (?i:PATH)(?:\\\0)? CUR = \d+ LEN = \d+) MAGIC = $ADDR
Re: Building 25309 on VAX (OpenVMS 7.2) not ok
Abe Timmerman wrote: This bit in the @configure output might be related: Good, found drand48(). %DCL-W-UNDSYM, undefined symbol - check validity and spelling \PSNWRT\ It did, patch fixes it: Sorry, my typo. I missed the path used on VAX. -John [EMAIL PROTECTED] Personal Opinion Only
Re: [EMAIL PROTECTED] on VMS initial results
John E. Malmberg wrote: Initial results on 25308 blead on OpenVMS/Alpha. EAGLE search blead.log failed t/op/goto.FAILED at test 53 Appears to be known issue with VMS adding extra new lines to piped output. t/op/gv...FAILED at test 67 Appears to be passing a multiple line Perl program on the command line, which VMS does not appear to be currently able to handle. ext/Compress/Zlib/t/03examplesFAILED at test 10 ext/Compress/Zlib/t/06gzdopen.FAILED--unexpected output at test 0 New tests to VMS, investigation needed. ext/Devel/Peek/t/Peek.FAILED--unexpected output at test 20 Patch submitted. lib/Archive/Tar/t/02_methods..FAILED--unexpected output at test 68 New test to VMS, preliminary investigation shows a pathname that is longer than Perl on VMS can handle. lib/ExtUtils/ParseXS/t/basic..FAILED--unexpected output at test 3 VMS specific code needs to be written for the PERL module being tested. Needs option file and fixed compile/link syntax. lib/ExtUtils/t/basic..FAILED at test 67 Investigation needed. lib/ExtUtils/t/FIRST_MAKEFILE.FAILED at test 4 Investigation needed. lib/ExtUtils/t/PL_FILES...FAILED at test 3 Investigation needed. lib/File/Copy.FAILED at test 20 Time not preserved on copy. lib/Math/BigInt/t/mbi_randFAILED--unexpected output at test 60 Known restriction on VMS with a work around. Real fix is to find out how to fix the extra new lines being added to piped output. lib/Test/Simple/t/create..FAILED at test 7 Patch for create.t submitted to me to test by Michael G. Schwern seems to fix. Failed 16 test scripts out of 921 Now down to 8 test scripts that I need to investigate what is needed for fixes. 4 of them are tests that appear to be new for OpenVMS. -John [EMAIL PROTECTED] Personal Opinion Only