Improved File::Spec::Win32-path [PATCH]
I noticed that File::Spec::Win32-path does not work the same as the internal utility function we usually use. This is a patch that makes it work the same. - . is always searched first on Windows - empty paths are ignored - paths can be quoted - %ENV is caseless --Gisle --- lib/File/Spec/Win32.pm.orig 2005-09-17 08:59:45.0 +0200 +++ lib/File/Spec/Win32.pm 2005-09-17 09:02:32.0 +0200 @@ -108,9 +108,10 @@ } sub path { -my $path = $ENV{'PATH'} || $ENV{'Path'} || $ENV{'path'}; -my @path = split(';',$path); -foreach (@path) { $_ = '.' if $_ eq '' } +my @path = split(';', $ENV{PATH}); +s///g for @path; +@path = grep length, @path; +unshift(@path, .); return @path; }
Re: Smoke [5.9.3] 25409 FAIL(XF) bsd/os 4.1 (i386/1 cpu)
On Sep 14, 2005, at 1:56 PM, [EMAIL PROTECTED] wrote: Automated smoke report for 5.9.3 patch 25409 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 56 minutes (average 1 hour 58 minutes) Summary: FAIL(XF) And this was the last smoke report to come from that machine -- it was the last BSDI box in our server park, and it's been retired. -- Jos Boumans Suicide is our way of saying to God: You can't fire me! I quit! CPANPLUShttp://cpanplus.sf.net
RE: Zlib 2.00_03 / Blead 25366 on VMS + patched vms.c
From: John E. Malmberg [mailto:[EMAIL PROTECTED] Paul Marquess wrote: According to your previous post that means that the only thing left failing is one test in globmapper.t ext/Compress/Zlib/t/globmapper.t 68 of 69 ok That was a typo, there are only 68 tests in globmapper and they are all working for me on VMS now. Good stuff. Did you have to make any changes to globmapper.t? It passes ./ to glob and it uses [] to mean a character class, not a VMS directory. The big difference between globmapper.t and 16oneshot.t is that all tests in globmapper will use csh_glob whilst the tests in 16oneshot will trigger both glob and csh_glob. Does VMS use File::Glob behind the scenes for glob like Unix-land? Paul
Lots of warnings building [EMAIL PROTECTED]
This is with gcc 3.4.3 $ make test `sh cflags optimize='-g' miniperlmain.o` miniperlmain.c CCCMD = gcc-3.4.3 -DPERL_CORE -c -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -g -Wall `sh cflags optimize='-g' perl.o` perl.c CCCMD = gcc-3.4.3 -DPERL_CORE -c -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -g -Wall perl.c: In function `perl_construct': perl.c:335: warning: assignment from incompatible pointer type perl.c: In function `S_parse_body': perl.c:1707: warning: passing arg 1 of `S_open_script' discards qualifiers from pointer target type `sh cflags optimize='-g' gv.o` gv.c CCCMD = gcc-3.4.3 -DPERL_CORE -c -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -g -Wall gv.c: In function `Perl_gv_fetchpv': gv.c:735: warning: passing arg 1 of `Perl_is_utf8_idcont' discards qualifiers from pointer target type gv.c:735: warning: passing arg 1 of `Perl_is_utf8_digit' discards qualifiers from pointer target type `sh cflags optimize='-g' toke.o` toke.c CCCMD = gcc-3.4.3 -DPERL_CORE -c -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -g -Wall toke.c: In function `S_no_op': toke.c:386: warning: passing arg 1 of `Perl_is_utf8_idcont' discards qualifiersfrom pointer target type toke.c:386: warning: passing arg 1 of `Perl_is_utf8_digit' discards qualifiers from pointer target type toke.c:388: warning: passing arg 1 of `Perl_is_utf8_alnum' discards qualifiers from pointer target type toke.c: In function `S_check_uni': toke.c:807: warning: passing arg 1 of `Perl_is_utf8_alnum' discards qualifiers from pointer target type toke.c: In function `S_force_word': toke.c:900: warning: passing arg 1 of `Perl_is_utf8_idcont' discards qualifiers from pointer target type toke.c:900: warning: passing arg 1 of `Perl_is_utf8_digit' discards qualifiers from pointer target type ...
Re: Lots of warnings building [EMAIL PROTECTED]
On Sat, Sep 17, 2005 at 02:28:30PM +0100, Paul Marquess wrote: This is with gcc 3.4.3 They're mostly the same errors as blead had around patch 24079 (etc) when Andy started adding const to blead. I'm hoping that as I work through them most of the warnings will go away because I bring in the patches that fix the warnings. Then I'll only be left with the warnings that are due to me keeping all the non-static functions identical to 5.8.7 (ie no const there) I might have broken VMS or Windows, but as testdrive is down I can't check on VMS. Sorry. Nicholas Clark
Re: Storable 2.15 on OSX 10.4 with maintperl fails make test
Nicholas == Nicholas Clark [EMAIL PROTECTED] writes: I've said maintperl a few times already. Nicholas No, I'm not, in as much as I don't understand why the perl Nicholas you installed only had a pure perl List::Utils What do you want me to send you? The entire make all / make install log? Or should I look for something in particular? -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 merlyn@stonehenge.com URL:http://www.stonehenge.com/merlyn/ Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
Re: Storable 2.15 on OSX 10.4 with maintperl fails make test
Randal == Randal L Schwartz merlyn@stonehenge.com writes: Nicholas == Nicholas Clark [EMAIL PROTECTED] writes: I've said maintperl a few times already. Nicholas No, I'm not, in as much as I don't understand why the perl Nicholas you installed only had a pure perl List::Utils Randal What do you want me to send you? The entire make all / make install log? Randal Or should I look for something in particular? OK, I just did another make install, and here's the relevant lines: ... /opt/perl/snap/lib/5.8.7/darwin/auto/List/Util/Util.bundle ... /opt/perl/snap/lib/5.8.7/List/Util.pm /opt/perl/snap/lib/5.8.7/Scalar/Util.pm ... Yup. *No* Scalar/Util.bundle That'd do it. What do you want to do next? -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 merlyn@stonehenge.com URL:http://www.stonehenge.com/merlyn/ Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
Re: Lots of warnings building [EMAIL PROTECTED]
They're mostly the same errors as blead had around patch 24079 (etc) when Andy started adding const to blead. I'm hoping that as I work through them most of the warnings will go away because I bring in the patches that fix the warnings. Is there anything I can do to help this effort? xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
Re: [PATCH blead] Re: [perl #3269] no warnings foo without use warnings turns off all warnings.
Does this patch look ok? On Wed, Jul 13, 2005 at 03:48:26AM -0400, Rick Delaney wrote: diff -ruN perl-current/mg.c perl-current-dev/mg.c --- perl-current/mg.c 2005-07-07 11:16:35.0 -0400 +++ perl-current-dev/mg.c 2005-07-13 03:37:46.973571403 -0400 @@ -781,11 +781,16 @@ if (*(mg-mg_ptr+1) == '\0') sv_setiv(sv, (IV)((PL_dowarn G_WARN_ON) ? TRUE : FALSE)); else if (strEQ(mg-mg_ptr+1, ARNING_BITS)) { - if (PL_compiling.cop_warnings == pWARN_NONE || - PL_compiling.cop_warnings == pWARN_STD) - { + if (PL_compiling.cop_warnings == pWARN_NONE) { sv_setpvn(sv, WARN_NONEstring, WARNsize) ; -} + } + else if (PL_compiling.cop_warnings == pWARN_STD) { + sv_setpvn( + sv, + (PL_dowarn G_WARN_ON) ? WARN_ALLstring : WARN_NONEstring, + WARNsize + ); + } else if (PL_compiling.cop_warnings == pWARN_ALL) { /* Get the bit mask for $warnings::Bits{all}, because * it could have been extended by warnings::register */ diff -ruN perl-current/t/lib/warnings/2use perl-current-dev/t/lib/warnings/2use --- perl-current/t/lib/warnings/2use 2004-04-23 17:05:07.0 -0400 +++ perl-current-dev/t/lib/warnings/2use 2005-07-13 03:27:32.832203077 -0400 @@ -72,6 +72,12 @@ EXPECT Reversed += operator at - line 3. +-w +no warnings 'reserved' ; +foo.bar; +EXPECT +Useless use of concatenation (.) or string in void context at - line 3. + --FILE-- abc my $a =+ 1 ; -- Rick Delaney [EMAIL PROTECTED]
Re: Lots of warnings building [EMAIL PROTECTED]
On Sat, Sep 17, 2005 at 10:02:19AM -0500, Andy Lester wrote: They're mostly the same errors as blead had around patch 24079 (etc) when Andy started adding const to blead. I'm hoping that as I work through them most of the warnings will go away because I bring in the patches that fix the warnings. Is there anything I can do to help this effort? Not yet - I've not got all your changes merged in. I know that you fixed warnings in later changes. Once they're all merged in, then it would be useful to work out what remains to be done to get maint warning free once more. One thing I did notice on blead was that if I Configure with -Accflags='-ansi -pedantic -DPERL_GCC_PEDANTIC' then I'm getting warnings about function pointer to data pointer conversions in (at least) toke.c and sv.c, and a lot from intrpvar.h, perlvars.h and thrdvar.h ISO C forbids conversion of function pointer to object pointer type Oh, and this: op.c: In function `Perl_newXS': op.c:4628: warning: assignment discards qualifiers from pointer target type I don't think that glibc has clean enough headers to allow perl to compile with -ansi -pedantic on Linux - I was doing it on FreeBSD, which does. So now I want valgrind dtrace gdb that works with threads *and* clean system headers all on the same platform. Is this too much to ask? (What are the system headers like on Solaris x86? Is anyone porting valgrind to it? This seems like the path of least resistance) Nicholas Clark
Re: Zlib 2.00_03 / Blead 25366 on VMS + patched vms.c
Paul Marquess wrote: From: John E. Malmberg [mailto:[EMAIL PROTECTED] Did you have to make any changes to globmapper.t? It passes ./ to glob and it uses [] to mean a character class, not a VMS directory. No, but I have made a note on my personal TO DO list about that. What is needed is some methods to be used consistently internally and externally for filename classifications, as currently there are several different rules that are being applied in the VMS conversions depending on where you are. As most of them do not know about VMS extended filenames, they really all will need updating, so I might as well make them common, and document the rules. What I was looking at is methods named something like the following: is_vms_pathname(), is_unix_pathname() And more generic aliases: is_perl_pathname() same as is_unix_pathname() is_host_pathname() map to is_vms_pathname() on VMS, default to is_unix_pathname() if not overridden. The possible return values are a little tricky as there are three possibilities: 0 - is not for sure. 1 - Maybe, but can not tell for sure. 2 - is definitely. With those methods, then foo[xyz] would not be confusing to Perl on VMS. Currently the rules I plan to implement are and in this order: Is not VMS filename if / is present with out a preceding ^. Is VMS if :: is present but not preceded by any other punctuation character, but preceded by alpha numeric. The double :: must be end of string, or followed by one of ^[.;$ or an alpha-numeric character. Is VMS if : is present but not preceded by any other punctuation except the :: rule above. The double :: must be end of string, or followed by one of ^[.;$ or an alpha-numeric character. Is VMS if [ or is at the beginning of the string or immediately following one of the : rules above. Is VMS if a ^ is present and EFS character sets are enabled. Is VMS if a ; is present. If VMS is in a UNIX report mode: . and .. are treated as UNIX directories and the VMS files [].; or []^. are invisible. If the name has no directory punctuation for either type, then it is ambiguous. I am also thinking of assuming that a trailing . indicates VMS because trailing . is significant on VMS and suppressed on UNIX. Of course a pathname with no punctuation could also be a VMS logical name. And if the SYS$PARSE() system service fails on the name, it will be presumed not VMS. As a full check could take significant resources, it may be desired to take shortcuts. The problem is that the glob() issue exposed what happens if shortcuts are taken. The big difference between globmapper.t and 16oneshot.t is that all tests in globmapper will use csh_glob whilst the tests in 16oneshot will trigger both glob and csh_glob. Does VMS use File::Glob behind the scenes for glob like Unix-land? I do not know for sure. I think it uses a special one in doio.c. -John [EMAIL PROTECTED] Personal Opinion Only
Parallel testing
The core regression test suite is getting ever more comprehensive. This is seen as good. Consequentially it's getting larger. Getting larger is making it take longer to run. This isn't so good. apt-get has this nice feature where it can download packages from several sites in parallel, to exploit the fact that the download bottleneck for a single site may be beyond where the routes diverge. Multi-CPU machines are becoming more common. I was wondering - would it be feasible to give the harness script the *option* of running sets of tests in parallel. I'm assuming that this would be useful for things like t/op/*.t and t/uni/*.t, and maybe lib/.../*.t I can see 3 initial questions 1: how does screen layout work when you're running more than one test? 2: how does the caller of test specify how many tests to run in parallel? 3: how do setup/teardown tests identify themselves? Is this feasible? If we can get parallel makes working reliably (now in perltodo: http://public.activestate.com/cgi-bin/perlbrowse?patch=25431 ) then I suspect that the time for make test will become the biggest bottleneck. Also, I've re-ordered perltodo to put the easiest tasks first: http://public.activestate.com/cgi-bin/perlbrowse?file=pod%2Fperltodo.podrev= I'm hoping that more people might read it (and find something interesting to challenge themselves with) now that it no longer starts with scary brain- melting things like re-writing the regexp engine and copy on write for ithreads. Nicholas Clark
[perl #37190] -DT -e 'use warnings;' crashes
# New Ticket Created by Nicholas Clark # Please include the string: [perl #37190] # in the subject line of all future correspondence about this issue. # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37190 This is a bug report for perl from [EMAIL PROTECTED], generated with the help of perlbug 1.35 running under perl vv5.9.3. - [Please enter your report here] Using -DT with use warnings; goes bang on OS X. I was able to get out of memory failures on FreeBSD, but everything works on x86/Linux, at least for me. I guess x86/Linux is just lucky - this seems to be a real bug, although quite where, I'm not sure. Starting gdb as gdb --args ./perl -Ilib -DT -e 'use warnings;' and running the program gives: Program received signal EXC_BAD_ACCESS, Could not access memory. 0x8ab0 in __memcpy () (gdb) where #0 0x8ab0 in __memcpy () #1 0x00065390 in Perl_sv_catpvn_flags (my_perl=0x800200, dsv=0x815060, sstr=0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15, slen=4235230, flags=2) at sv.c:4723 #2 0x0013eadc in S_tokereport (my_perl=0x800200, s=0x81384e , # [0..46]\n, rv=40) at toke.c:327 #3 0x00146628 in Perl_yylex (my_perl=0x800200) at toke.c:2517 #4 0x0019304c in Perl_yyparse (my_perl=0x800200) at perly.c:412 #5 0x000efa90 in S_doeval (my_perl=0x800200, gimme=0, startop=0x0, outside=0x0, seq=0) at pp_ctl.c:2954 #6 0x000f20ac in Perl_pp_require (my_perl=0x800200) at pp_ctl.c:3411 #7 0x00173420 in Perl_runops_debug (my_perl=0x800200) at dump.c:1597 #8 0x00032500 in S_call_body (my_perl=0x800200, myop=0xbfffe540, is_eval=0 '\0') at perl.c:2617 #9 0x00031f70 in Perl_call_sv (my_perl=0x800200, sv=0x810220, flags=6) at perl.c:2546 #10 0x00038c2c in S_call_list_body (my_perl=0x800200, cv=0x810220) at perl.c:5123 #11 0x0003861c in Perl_call_list (my_perl=0x800200, oldscope=2, paramList=0x8102f0) at perl.c:5062 #12 0x000212c4 in Perl_newATTRSUB (my_perl=0x800200, floor=112, o=0x405d70, proto=0x0, attrs=0x0, block=0x405e00) at op.c:4541 #13 0x0001b33c in Perl_utilize (my_perl=0x800200, aver=1, floor=112, version=0x0, idop=0x405b60, arg=0x0) at op.c:3079 #14 0x001945ac in Perl_yyparse (my_perl=0x800200) at perly.y:382 #15 0x00030730 in S_parse_body (my_perl=0x800200, env=0x0, xsinit=0x2c04 xs_init) at perl.c:2133 #16 0x0002edc0 in perl_parse (my_perl=0x800200, xsinit=0x2c04 xs_init, argc=5, argv=0xb6fc, env=0x0) at perl.c:1540 #17 0x2b74 in main (argc=5, argv=0xb6fc, env=0xb714) at perlmain.c:101 (gdb) up #1 0x00065390 in Perl_sv_catpvn_flags (my_perl=0x800200, dsv=0x815060, sstr=0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15, slen=4235230, flags=2) at sv.c:4723 4723Move(sstr, SvPVX(dsv) + dlen, slen, char); (gdb) p sstr $1 = 0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15 (gdb) p slen $2 = 4235230 I suspect that this length has something to do with the out of memory on FreeBSD. I've no idea what the pattern in the memory pointed to by sstr represents. Nicholas Clark [Please do not change anything below this line] - --- Flags: category=core severity=low --- Site configuration information for perl vv5.9.3: Configured by nick at Sat Sep 17 18:27:53 BST 2005. Summary of my perl5 (revision 5 version 9 subversion 3) configuration: Platform: osname=darwin, osvers=7.9.0, archname=darwin-thread-multi-2level uname='darwin ship-in-a-bottle 7.9.0 darwin kernel version 7.9.0: wed mar 30 20:11:17 pst 2005; root:xnuxnu-517.12.7.obj~1release_ppc power macintosh powerpc ' config_args='-Dusedevel=y -Dcc=ccache gcc -Dld=gcc -Ubincompat5005 -Uinstallusrbinperl [EMAIL PROTECTED] [EMAIL PROTECTED] -Doptimize=-g -Dusethreads=y -Uuse64bitint -Duselargefiles -Dprefix=~/Sandpit/blead25436 -de' hint=recommended, useposix=true, d_sigaction=define 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='ccache gcc', ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp -DDEBUGGING -fno-strict-aliasing -pipe', optimize='-g', cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -DDEBUGGING -fno-strict-aliasing -pipe' ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1666)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /usr/lib libs=-ldbm -ldl -lm -lc perllibs=-ldl -lm -lc
Smoke [5.8.7] 25424 FAIL(F) linux 2.6.12-8-686 [debian] (i686/1 cpu)
Automated smoke report for 5.8.7 patch 25424 kirk: Intel(R) Celeron(R) CPU 2.00GHz (GenuineIntel 1994MHz) (i686/1 cpu) onlinux - 2.6.12-8-686 [debian] using cc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8) smoketime 12 hours 48 minutes (average 42 minutes 41 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 25424 Configuration (common) none --- - O - - O - - -Uuseperlio O O O O O O O O O O O O -Duse64bitint O O O O O O -Duselongdouble O O O O O O -Dusemorebits O O O O O O -Duseithreads O O O O O O -Duseithreads -Duse64bitint O O O O O O -Duseithreads -Duselongdouble O O F O O O -Duseithreads -Dusemorebits | | | | | +- LC_ALL = en_US.utf8 -DDEBUGGING | | | | +--- PERLIO = perlio -DDEBUGGING | | | +- PERLIO = stdio -DDEBUGGING | | +--- LC_ALL = en_US.utf8 | +- PERLIO = perlio +--- PERLIO = stdio Failures: [en_US.utf8] -Duseithreads -Dusemorebits ../lib/ExtUtils/t/Install.t.FAILED 6-29 ../lib/ExtUtils/t/basic.t...FAILED 1-51 53-55 57-64 66 67 69-73 -- Report by Test::Smoke v1.19#716 running on perl 5.8.7 (Reporter v0.016 / Smoker v0.015)
PXPerl - A full-featured Perl, Pugs and Parrot binary distribution for Windows - New Site
Hello, Just to inform you that PXPerl, the growing Perl distribution for Windows, changed its address. You may thus have a look at: http://pxperl.com Current developments aim at creating a fully automated building and updating process for PXPerl, so you're always up-to-date. And, not dependent of a proprietary package format such as PPM. Vive Perl! Grégoire
Re: Parallel testing
On Sat, Sep 17, 2005 at 16:43:34 +0100, Nicholas Clark wrote: I was wondering - would it be feasible to give the harness script the *option* of running sets of tests in parallel. I'm assuming that this would be useful for things like t/op/*.t and t/uni/*.t, and maybe lib/.../*.t Pugs does this: http://svn.openfoundry.org/pugs/util/yaml_harness.pl -- () Yuval Kogman [EMAIL PROTECTED] 0xEBD27418 perl hacker /\ kung foo master: /me tips over a cow: neeyah!! pgpRRiReSlwEH.pgp Description: PGP signature
Re: [perl #37190] -DT -e 'use warnings;' crashes
On Sat, Sep 17, 2005 at 11:31:11AM -0700, Nicholas Clark wrote: (gdb) up #1 0x00065390 in Perl_sv_catpvn_flags (my_perl=0x800200, dsv=0x815060, sstr=0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15, slen=4235230, flags=2) at sv.c:4723 4723Move(sstr, SvPVX(dsv) + dlen, slen, char); (gdb) p sstr $1 = 0x409870 \\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x55\\x15 (gdb) p slen $2 = 4235230 I suspect that this length has something to do with the out of memory on FreeBSD. I've no idea what the pattern in the memory pointed to by sstr represents. The pattern is the bits for which warning categories are set, or WARN_ALLstring. The length should be WARNsize (12). -- Rick Delaney [EMAIL PROTECTED]
RE: [PATCH] Cwd::abs_path dies on win32 when used against non-existant file. This breaks Devel::Cover.
On September 9th 2005 Yves Orton wrote: --- Cwd.pm.org2004-12-13 08:49:02.0 +0100 +++ Cwd.pm2005-09-09 18:39:11.094375000 +0200 @@ -154,6 +154,8 @@ =cut +#' stupid syntax highlighting... + Is this really necessary? Adding ugly comments that don't even relate to the functionality of the code just to work around the limitations of one particular editor seems a bad idea to me. use strict; use Exporter; use vars qw(@ISA @EXPORT @EXPORT_OK); @@ -211,7 +213,7 @@ getcwd = '_NT_cwd', fastcwd = '_NT_cwd', fastgetcwd = '_NT_cwd', -abs_path = 'fast_abs_path', +abs_path = 'win32_fast_abs_path', realpath = 'fast_abs_path', Why don't you replace realpath() as well? abs_path() and realpath() are supposed to be synonyms. }, @@ -529,6 +531,12 @@ } +sub win32_fast_abs_path { +my $path = @_ ? shift : .; +require Win32; That line is not necessary. Win32::GetFullPathName() is always available in Perl when $^O is MSWin32. +return Win32::GetFullPathName($path); +} + # added function alias for those of us more # used to the libc function. --tchrist 27-Jan-00 *realpath = \abs_path; Cheers, -Jan From: Orton, Yves [mailto:[EMAIL PROTECTED] Sent: September 9, 2005 10:02 AM To: perl5-porters@perl.org Subject: FW: [PATCH] Cwd::abs_path dies on win32 when used against non-existant file. This breaks Devel::Cover. Not sure if this is the right thing to do, but I just sent this off about an error in Cwd on Win32. Yves -Original Message- From: Orton, Yves Sent: Friday, September 09, 2005 6:51 PM To: 'Ken Williams' Cc: 'Paul Johnson' Subject: [PATCH] Cwd::abs_path dies on win32 when used against non-existant file. This breaks Devel::Cover. Hi Ken, Cwd::abs_path uses its own logic to simulate the behaviour of the Win32 built in API call Win32::GetFullPathName(). By using its own logic it breaks compatibility between code using it on different OSes as on *nix it will be happy with a non-existant file and on Win32 it will die in the same situation. (It would be nice if Cwd used 'confess' and not 'carp' as the later hides the true source of the error: it took me a while to realize that Cwd was at fault and not the 'cover' script from the Devel::Cover distro.) By switching to using the built in API call the bug goes away. A similar patch should probably be applied in File::Spec. Anyway, the attached patch fixes the error. Cheers, Yves
Re: Zlib 2.00_03 / Blead 25366 on VMS + patched vms.c
John E. Malmberg [EMAIL PROTECTED] wrote on 09/17/2005 11:24:39 AM: Paul Marquess wrote: The big difference between globmapper.t and 16oneshot.t is that all tests in globmapper will use csh_glob whilst the tests in 16oneshot will trigger both glob and csh_glob. Does VMS use File::Glob behind the scenes for glob like Unix-land? I do not know for sure. I think it uses a special one in doio.c. I am pretty sure that VMS does not use File::Glob the way that the unixes do. The extension is built on VMS, but is not useful in a practical sense particularly for ODS-2 type file specifications. Peter Prymmer