[perl #36837] B::Deparse fails when it comes to ByteLoader programs

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


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


-
[Please enter your report here]

B::Deparse simply fails when it comes to ByteLoader files. This is 
always the error given:

C:\programperl -MO=Deparse program
Can't locate object method sibling via package B::NULL at 
C:/Perl/lib/B/Depa
rse.pm line 1189.
CHECK failed--call queue aborted.

My program is set up like the following:

use ByteLoader 0.05;
byte code here

[Please do not change anything below this line]
-
---
Flags:
category=library
severity=low
---
Site configuration information for perl v5.8.7:

Configured by builder at Mon Jun  6 13:36:05 2005.

Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
  Platform:
osname=MSWin32, osvers=5.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
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='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 
-D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DBUILT_BY_ACTIVESTATE 
-DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT 
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='12.00.8804', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', 
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf  
-libpath:C:\Perl\lib\CORE  -machine:x86'
libpth=\lib
libs=  oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib 
odbc32.lib odbccp32.lib msvcrt.lib
perllibs=  oldnames.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib 
oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  
version.lib odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib
gnulibc_version='undef'
  Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug 
-opt:ref,icf  -libpath:C:\Perl\lib\CORE  -machine:x86'

Locally applied patches:
ACTIVEPERL_LOCAL_PATCHES_ENTRY
#  if !defined(PERL_DARWIN)
Iin_load_module moved for compatibility with build 806
#  endif
#  if defined(__hpux)
Avoid signal flag SA_RESTART for older versions of HP-UX
#  endif
PerlEx hacks for CGI::Carp
Less verbose ExtUtils::Install and Pod::Find
instmodsh upgraded from ExtUtils-MakeMaker-6.25
24699 ICMP_UNREACHABLE handling in Net::Ping
21540 Fix backward-compatibility issues in if.pm

---
@INC for perl v5.8.7:
C:/Perl/lib
C:/Perl/site/lib
.

---
Environment for perl v5.8.7:
HOME (unset)
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

PATH=C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
 
Files\Common Files\Adobe\AGL
PERL_BADLANG (unset)
SHELL (unset)




[perl #36839] \xA0 (non-breaking space) does and doesn't match \s

2005-08-09 Thread Christopher J. Madsen
# New Ticket Created by  Christopher J. Madsen 
# Please include the string:  [perl #36839]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36839 


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


-
[Please enter your report here]

I'm not clear on whether the non-breaking space character (\xA0) is
supposed to match \s or not, but it certainly shouldn't depend on what
other characters are in the string.  So this test case:

\xA0\x{2019} =~ /\s/ and print first\n;
\xA0'=~ /\s/ and print second\n;
\xA1\x{2019} =~ /\s/ and print whoops, this REALLY shouldn't match\n;

should either print nothing or both first and second.  Under
5.8.7, 5.8.6, or 5.8.4, I get only first.  (I'm sending this from
5.8.6, because I only built 5.8.7 to test this bug, and didn't install
it.)

I discovered this while investigating why HTML::TreeBuilder was
sometimes condensing nbsp; sequences into a single space.  This
turned out to be the reason.

[Please do not change anything below this line]
-
---
Flags:
category=core
severity=medium
---
Site configuration information for perl v5.8.6:

Configured by Gentoo at Sun Jul  3 22:57:42 CDT 2005.

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
  Platform:
osname=linux, osvers=2.6.11-gentoo-r6, archname=i686-linux
uname='linux bit 2.6.11-gentoo-r6 #1 fri apr 22 16:50:04 cdt 2005
i686 amd athlon(tm) xp 1700+ authenticamd gnulinux '
config_args='-des -Darchname=i686-linux -Dcccdlflags=-fPIC
-Dccdlflags=-rdynamic -Dcc=i686-pc-linux-gnu-gcc -Dprefix=/usr
-Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth=
-Doptimize=-march=athlon-xp -O3 -pipe -Duselargefiles -Dd_semctl_semun
-Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1
-Dinstallman3dir=/var/tmp/portage/perl-5.8.6-r5/image//usr/share/man/man3
-Dman1ext=1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/i686-linux
5.8.2 5.8.2/i686-linux 5.8.4 5.8.4/i686-linux 5.8.5 5.8.5/i686-linux
-Dcf_by=Gentoo -Ud_csh -Di_ndbm -Di_gdbm -Di_db'
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='i686-pc-linux-gnu-gcc', ccflags ='-fno-strict-aliasing -pipe
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-march=athlon-xp -O3 -pipe',
cppflags='-DPERL5 -fno-strict-aliasing -pipe'
ccversion='', gccversion='3.3.5-20050130 (Gentoo Linux
3.3.5.20050130-r1, ssp-3.3.5.20050130-1, pie-8.7.7.1)',
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='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.4.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.4'
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:


---
@INC for perl v5.8.6:
/etc/perl
/usr/lib/perl5/site_perl/5.8.6/i686-linux
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.2/i686-linux
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.5/i686-linux
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.6/i686-linux
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.2/i686-linux
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.6/i686-linux
/usr/lib/perl5/5.8.6
/usr/local/lib/site_perl
/usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.2/i686-linux
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.5/i686-linux
.

---
Environment for perl v5.8.6:
HOME=/home/cjm
LANG (unset)
LANGUAGE (unset)
LC_ALL=en_US
LD_LIBRARY_PATH (unset)
LOGDIR (unset)


Re: Encoding iso-8859-16

2005-08-09 Thread Sastry
Hi

I get 73 printed on EBCDIC platform.  I think it is supposed to print 
129 as it is the numeric equivalent of 'a'.

-Sastry



On 8/8/05, Nicholas Clark [EMAIL PROTECTED] wrote:
 On Thu, Aug 04, 2005 at 11:51:44AM +0530, Sastry wrote:
  Hi
 
  I am running the following script on EBCDIC
 
  use Encode;
  $string = a;
  $enc_string = encode(iso-8859-16, $string);
  print \n String: $string\n;
  print \n enc_string: $enc_string\n;
 
 
  The output:
 
  String: a
  enc_string: ñ (This is the character for codepoint \xF1 on iso-8859-16)
 
  What is the expected output in enc_string?
 
 You're doing way too many steps here at once to work out what's going on.
 
 On your EBCDIC platform, what does this give?
 
 It prints 73 
 use Encode;
 $string = a;
 $enc_string = encode(iso-8859-16, $string);
 
 print ord ($enc_string), \n;
 
 __END__
 
 Nicholas Clark



Re: Encoding iso-8859-16

2005-08-09 Thread Nicholas Clark
On Tue, Aug 09, 2005 at 10:58:48AM +0530, Sastry wrote:
 Hi
 
 I get 73 printed on EBCDIC platform.  I think it is supposed to print 
 129 as it is the numeric equivalent of 'a'.
 
 -Sastry
 
 
 
 On 8/8/05, Nicholas Clark [EMAIL PROTECTED] wrote:

  On your EBCDIC platform, what does this give?
  
  It prints 73 
  use Encode;
  $string = a;
  $enc_string = encode(iso-8859-16, $string);
  
  print ord ($enc_string), \n;

73. Odd.

It should print 97 on all platforms. Because:

$string contains 1 byte, the byte that represents 'a' in the platform's
default character encoding.

The encode call should convert from the default encoding to iso-8859-16
And 'a' in iso-8859-16 is 97.
Everywhere.

So $enc_string should be a single byte, 97, everywhere.

Nicholas Clark


Re: [perl #36839] \xA0 (non-breaking space) does and doesn't match \s

2005-08-09 Thread Nicholas Clark
On Mon, Aug 08, 2005 at 04:01:05PM -0700, Christopher J. Madsen wrote:
 # New Ticket Created by  Christopher J. Madsen 
 # Please include the string:  [perl #36839]
 # in the subject line of all future correspondence about this issue. 
 # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36839 
 
 
 This is a bug report for perl from [EMAIL PROTECTED],
 generated with the help of perlbug 1.35 running under perl v5.8.6.
 
 
 -
 [Please enter your report here]
 
 I'm not clear on whether the non-breaking space character (\xA0) is
 supposed to match \s or not, but it certainly shouldn't depend on what
 other characters are in the string.  So this test case:

No, I agree that it should not.

However, this is *the* unfixable UTF-8 bug in Perl 5 - the fact that 1 bit
is used as a flag that both signals buffer is encoded as UTF-8 and
string should use Unicode rather than bytes semantics

(bytes being ASCII or EBCDIC)

It all comes down to the internal representation that the scalar happens to
have:

$ ./perl -Ilib
$_ = \xA0;
print Bytes\n if /\s/;
utf8::upgrade $_;
print UTF-8\n if /\s/;
__END__
UTF-8



[well, it might be fixable long term, but an incomplete list of requirements
would be:

1: finding another flag bit in every SV
2: a deprecation cycle in 5.10

so it wouldn't be done until 5.12]


I think that the best work around would be to normalise all the data you
process to UTF-8 representation internally. This will make \s consistent.

Nicholas Clark


[PATCH] Re: [PATCH] perlfunc.pod grammar fixes

2005-08-09 Thread Yitzchak Scott-Thoennes
On Thu, Jul 28, 2005 at 05:43:08PM -0500, David Nicol wrote:
 On 7/28/05, John P. Linderman [EMAIL PROTECTED] wrote:
 
  is there any significant difference between perl and Perl?
 
 That is exactly the sort of edge case that is under discussion in
 this thread.  One possibility is maintaining an explicit glossary.pod file
 which would not only answer that question, but differentiate between
 effect, affect, and effect.

Sorry, no entries for [ae]ffect.  But how's this:

--- perl/pod/perlglossary.pod.orig  2005-08-01 01:42:33.0 -0700
+++ perl/pod/perlglossary.pod   2005-08-09 00:21:29.451790400 -0700
@@ -2180,6 +2180,17 @@
 file.  On Unix systems, you can check the Ils(1) manpage for more
 information.
 
+=item perl
+
+A program that compiles and usually executes L/Perl scripts.  Or is
+that Lperlfaq1/Is it a Perl program or a Perl script?|Perl programs?
+See Lperlfaq1/What's the difference between perl and Perl?.
+
+=item Perl
+
+A programming language.  You are reading part of its documentation.
+See Lperlfaq1/What's the difference between perl and Perl?.
+
 =item Pern
 
 What you get when you do CPerl++ twice.  Doing it only once will


Re: [perl #36810] Enhance ExtUtils::Embed robustness

2005-08-09 Thread Yitzchak Scott-Thoennes
On Thu, Aug 04, 2005 at 02:37:01AM -0700, Harald Joerg wrote:
 perl -MExtUtils::Embed -e xsinit -- -o perlxsi.c
 
 ...has problems if perl has been built with a static extension
 provided in a hints file.
 
 In the cygwin hints file for perl 5.8.7, after applying the
 patches from the distribution, we have the following line:
 
 static_ext=$static_ext Win32CORE

I thought that had switched that to:
  static_ext=Win32CORE $static_ext
at least in the later 5.8.6 builds.  

It seems to have switched back, though.

Gerrit, can you release a 5.8.7-4 with this fixed?


Re: [PATCH] undup

2005-08-09 Thread Yitzchak Scott-Thoennes
On Sun, Aug 07, 2005 at 12:41:34PM +0200, H.Merijn Brand wrote:
 I have the idea that the Encode part should be Cc's to Dan K, but this file
 is not mentioned in Maintainers.pl

 'Encode' =
 {
 'MAINTAINER'= 'dankogai',
 'FILES' = q[ext/Encode],
 'CPAN'  = 1,
 },

 I have the idea that the Test::Harness part should be Cc'd to Andy L, but
 this file is not mentioned in Maintainers.pl

 'Test::Harness' =
 {
 'MAINTAINER'= 'petdance',
 'FILES' = q[lib/Test/Harness.pm lib/Test/Harness
  t/lib/sample-tests],
 'CPAN'  = 1,
 },


The lib/Test/Harness and ext/Encode there include everything under
those directories.


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

2005-08-09 Thread Yitzchak Scott-Thoennes
On Fri, Aug 05, 2005 at 12:37:44PM +0100, Steve Hay wrote:
 Simply choosing a bigger (well, more negative) number than -3600 in the 
 test above also works, e.g. -7200 gives the correct result for GMT+1 but 
 fails for GMT+2, etc.  So using -50400 (-3600 * 14) should also do the 
 trick.

There is a +14 timezone (Kiritimati), so I'd make it * 15 if you do that.



RE: [perl #36839] \xA0 (non-breaking space) does and doesn't matc h \s

2005-08-09 Thread Konovalov, Vadim
 However, this is *the* unfixable UTF-8 bug in Perl 5 - the 
 fact that 1 bit
 is used as a flag that both signals buffer is encoded as UTF-8 and
 string should use Unicode rather than bytes semantics

But may be those two concepts should be considered synonyms in this context?

Otherwise, once you'll invent another Unicode semantics bit, it will not
stop people mixing SVs with different combinations of those two bits, and
things will get worse and you'll get more similar bug reports

In my opinion that was not a bug, but quite robust design, and in this case
it was user who was lost and not perl.

 
 (bytes being ASCII or EBCDIC)
 
 It all comes down to the internal representation that the 
 scalar happens to
 have:
 
 $ ./perl -Ilib
 $_ = \xA0;
 print Bytes\n if /\s/;
 utf8::upgrade $_;
 print UTF-8\n if /\s/;
 __END__
 UTF-8

this example only demostrated that you need to be carefull when transferring
from bytes to unicode semantics. Here is an excerpt from perlunicode.pod

quote
. The low-level calls
utf8::upgrade($bytestring) and utf8::downgrade($utf8string) are
the answers.

Do not use them without careful thought, though: Perl may easily get
very confused, angry, or even crash, if you suddenly change the 'nature'
of scalar like that.  Especially careful you have to be if you use the
utf8::upgrade(): any random byte string is not valid UTF-8.
quote

Script was buggy, and Perl did its best guess - it interpreted \xA0 as
U+00A0, which is non-breaking space in cp1251 but matches /\w/ in CP866.

One need to use correct re-encoding functions or write \x{A0} instead of
\xA0


[PATCH] Fix a couple of random warnings

2005-08-09 Thread Steve Peters
Attached is a patch for a couple of random warnings I've looked at but
haven't gotten to fixing.  The fix in nostdio.h is complained about 
by gcc if compiling with -Wundef.  The change in perl.c is complained about
by bcc without -DDEBUGGING.  It looks like bcc dislike code like if(0){.
 
Enjoy!

Steve Peters
[EMAIL PROTECTED]

--- nostdio.h.old   2003-04-16 16:25:36.0 -0500
+++ nostdio.h   2005-08-09 06:09:00.0 -0500
@@ -111,7 +111,7 @@
 #define _flsbuf(c,f)  _CANNOT _flsbuf_
 #define fdopen(fd,p)  _CANNOT _fdopen_
 #define fileno(f)  _CANNOT _fileno_
-#if SFIO_VERSION  2101L
+#if defined(SFIO_VERSION)  SFIO_VERSION  2101L
 #define flockfile(f)  _CANNOT _flockfile_
 #define ftrylockfile(f)  _CANNOT _ftrylockfile_
 #define funlockfile(f)  _CANNOT _funlockfile_
--- perl.c.old  2005-07-20 07:58:35.0 -0500
+++ perl.c  2005-08-09 06:20:32.0 -0500
@@ -2238,8 +2238,10 @@
 
 if (!PL_restartop) {
DEBUG_x(dump_all());
+#ifdef DEBUGGING
if (!DEBUG_q_TEST)
  PERL_DEBUG(PerlIO_printf(Perl_debug_log, \nEXECUTING...\n\n));
+#endif
DEBUG_S(PerlIO_printf(Perl_debug_log, main thread is 0x%UVxf\n,
  PTR2UV(thr)));



Re: [perl #36839] \xA0 (non-breaking space) does and doesn't matc h \s

2005-08-09 Thread Dave Mitchell
On Tue, Aug 09, 2005 at 03:17:51PM +0400, Konovalov, Vadim wrote:
 One need to use correct re-encoding functions or write \x{A0} instead of
 \xA0

That shouldn't make any difference:

$ ./perl -Ilib -MDevel::Peek -e 'Dump \xA0'
SV = PV(0x985de28) at 0x985cce0
  REFCNT = 1
  FLAGS = (PADTMP,POK,READONLY,pPOK)
  PV = 0x9864f80 \240\0
  CUR = 1
  LEN = 4

$ ./perl -Ilib -MDevel::Peek -e 'Dump \x{A0}'
SV = PV(0x9adce28) at 0x9adbce0
  REFCNT = 1
  FLAGS = (PADTMP,POK,READONLY,pPOK)
  PV = 0x9ae3f80 \240\0
  CUR = 1
  LEN = 4


-- 
A major Starfleet emergency breaks out near the Enterprise, but
fortunately some other ships in the area are able to deal with it to
everyone's satisfaction.
-- Things That Never Happen in Star Trek #13


Re: [PATCH] Re: [PATCH] perlfunc.pod grammar fixes

2005-08-09 Thread Piotr Fusik
+A program that compiles and usually executes L/Perl scripts.  Or is
+that Lperlfaq1/Is it a Perl program or a Perl script?|Perl programs?

s/is that/are they/, I guess, but I may be wrong...
s/usually //


Smoke [5.9.3] 25278 FAIL(F) bsd/os 4.1 (i386/1 cpu)

2005-08-09 Thread kane
Automated smoke report for 5.9.3 patch 25278
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(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

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


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

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



Re: [PATCH] Re: [PATCH] perlfunc.pod grammar fixes

2005-08-09 Thread Yitzchak Scott-Thoennes
On Tue, Aug 09, 2005 at 01:38:11PM +0200, Piotr Fusik wrote:
 +A program that compiles and usually executes L/Perl scripts.  Or is
 +that Lperlfaq1/Is it a Perl program or a Perl script?|Perl programs?
 
 s/is that/are they/, I guess, but I may be wrong...

Implied is that phrase in the previous sentence supposed to be.
Or are they would be correct also, but with a different meaning.
But I'm ok either way.

 s/usually //

Leaving aside alternate backends (-MO=...) and the possibility of perl
lying over and dying during the compile, there's still perl -c.


Re: [PATCH] Fix a couple of random warnings

2005-08-09 Thread H.Merijn Brand
On Tue, 9 Aug 2005 06:21:48 -0500, Steve Peters [EMAIL PROTECTED] wrote:

 Attached is a patch for a couple of random warnings I've looked at but
 haven't gotten to fixing.  The fix in nostdio.h is complained about 
 by gcc if compiling with -Wundef.  The change in perl.c is complained about
 by bcc without -DDEBUGGING.  It looks like bcc dislike code like if(0){.

Thanks, applied as change #25279

 Steve Peters
 [EMAIL PROTECTED]
 
 --- nostdio.h.old   2003-04-16 16:25:36.0 -0500
 +++ nostdio.h   2005-08-09 06:09:00.0 -0500
 @@ -111,7 +111,7 @@
  #define _flsbuf(c,f)  _CANNOT _flsbuf_
  #define fdopen(fd,p)  _CANNOT _fdopen_
  #define fileno(f)  _CANNOT _fileno_
 -#if SFIO_VERSION  2101L
 +#if defined(SFIO_VERSION)  SFIO_VERSION  2101L
  #define flockfile(f)  _CANNOT _flockfile_
  #define ftrylockfile(f)  _CANNOT _ftrylockfile_
  #define funlockfile(f)  _CANNOT _funlockfile_
 --- perl.c.old  2005-07-20 07:58:35.0 -0500
 +++ perl.c  2005-08-09 06:20:32.0 -0500
 @@ -2238,8 +2238,10 @@
  
  if (!PL_restartop) {
 DEBUG_x(dump_all());
 +#ifdef DEBUGGING
 if (!DEBUG_q_TEST)
   PERL_DEBUG(PerlIO_printf(Perl_debug_log, \nEXECUTING...\n\n));
 +#endif
 DEBUG_S(PerlIO_printf(Perl_debug_log, main thread is 0x%UVxf\n,
   PTR2UV(thr)));
 
 


-- 
H.Merijn BrandAmsterdam Perl Mongers (http://amsterdam.pm.org/)
using Perl 5.6.2, 5.8.0, 5.8.5,  5.9.2  on HP-UX 10.20, 11.00  11.11,
 AIX 4.3  5.2, SuSE 9.2  9.3, and Cygwin. http://www.cmve.net/~merijn
Smoking perl: http://www.test-smoke.org,perl QA: http://qa.perl.org
 reports  to: [EMAIL PROTECTED],perl-qa@perl.org


Re: [PATCH] undup

2005-08-09 Thread H.Merijn Brand
On Tue, 9 Aug 2005 03:34:17 -0700, Yitzchak Scott-Thoennes [EMAIL PROTECTED]
wrote:

 On Sun, Aug 07, 2005 at 12:41:34PM +0200, H.Merijn Brand wrote:
  I have the idea that the Encode part should be Cc's to Dan K, but this
  file is not mentioned in Maintainers.pl
 
  'Encode' =
  {
  'MAINTAINER'= 'dankogai',
  'FILES' = q[ext/Encode],
  'CPAN'  = 1,
  },
 
  I have the idea that the Test::Harness part should be Cc'd to Andy L, but
  this file is not mentioned in Maintainers.pl
 
  'Test::Harness' =
  {
  'MAINTAINER'= 'petdance',
  'FILES' = q[lib/Test/Harness.pm lib/Test/Harness
   t/lib/sample-tests],
  'CPAN'  = 1,
  },
 
 
 The lib/Test/Harness and ext/Encode there include everything under
 those directories.

Then I misinterpreted FILES as FILES, and I will change my algorithm to
include all the files under any of those. Thanks

-- 
H.Merijn BrandAmsterdam Perl Mongers (http://amsterdam.pm.org/)
using Perl 5.6.2, 5.8.0, 5.8.5,  5.9.2  on HP-UX 10.20, 11.00  11.11,
 AIX 4.3  5.2, SuSE 9.2  9.3, and Cygwin. http://www.cmve.net/~merijn
Smoking perl: http://www.test-smoke.org,perl QA: http://qa.perl.org
 reports  to: [EMAIL PROTECTED],perl-qa@perl.org


RE: [perl #36839] \xA0 (non-breaking space) does and doesn't matc h \s

2005-08-09 Thread Konovalov, Vadim
  One need to use correct re-encoding functions or write 
 \x{A0} instead of
  \xA0
 
 That shouldn't make any difference:
 
 $ ./perl -Ilib -MDevel::Peek -e 'Dump \xA0'
 SV = PV(0x985de28) at 0x985cce0
   REFCNT = 1
   FLAGS = (PADTMP,POK,READONLY,pPOK)
   PV = 0x9864f80 \240\0
   CUR = 1
   LEN = 4
 
 $ ./perl -Ilib -MDevel::Peek -e 'Dump \x{A0}'
 SV = PV(0x9adce28) at 0x9adbce0
   REFCNT = 1
   FLAGS = (PADTMP,POK,READONLY,pPOK)
   PV = 0x9ae3f80 \240\0
   CUR = 1
   LEN = 4

As a honest user that does RTFM, I got an impression exactly opposite: I use
\x{} even for two-byte to get Unicode which is internally in UTF-8, and
I use \xXX otherwise.

Now I see I was wrong and in order to get U+00A0 I need more than \x{A0},
something like 
perl -MDevel::Peek -e Dump ''.substr(qq/\x{FEFF}\x{A0}/,1)

/me confused...


Re: Re: [PATCH] Re: [PATCH] perlfunc.pod grammar fixes

2005-08-09 Thread Piotr Fusik
Leaving aside alternate backends (-MO=...) and the possibility of perl
lying over and dying during the compile, there\'s still perl -c.

-c is check syntax and not compile.

And there are also -h and -v, but I wouldn't take serious writing something 
like perl can be used for checking syntax or running Perl scripts, but it can 
be also used for just displaying its version information or help instructions. 
:-)


Re: Encoding iso-8859-16

2005-08-09 Thread Sastry
Hi Nicholas Clark
 I agree that it is supposed to print the numerical equivalent 97. 

I attempted to see if there is any bug in the encode module.
Surprisingly, I noticed  that there are two .c files in
ext/Encode/def_t.c and ext/Encode/Byte/byte_t.c which are generated
using enc2xs. They are different on EBCDIC platform and ASCII platform
like Linux.
I just replaced those files from linux  onto EBCDIC which  gave  the
expected result '97'
Please let me know if those .c files should be the same on both the platform!

-Sastry



On 8/9/05, Nicholas Clark [EMAIL PROTECTED] wrote:
 On Tue, Aug 09, 2005 at 10:58:48AM +0530, Sastry wrote:
  Hi
 
  I get 73 printed on EBCDIC platform.  I think it is supposed to print
  129 as it is the numeric equivalent of 'a'.
 
  -Sastry
 
 
 
  On 8/8/05, Nicholas Clark [EMAIL PROTECTED] wrote:
 
   On your EBCDIC platform, what does this give?
  
   It prints 73
   use Encode;
   $string = a;
   $enc_string = encode(iso-8859-16, $string);
  
   print ord ($enc_string), \n;
 
 73. Odd.
 
 It should print 97 on all platforms. Because:
 
 $string contains 1 byte, the byte that represents 'a' in the platform's
 default character encoding.
 
 The encode call should convert from the default encoding to iso-8859-16
 And 'a' in iso-8859-16 is 97.
 Everywhere.
 
 So $enc_string should be a single byte, 97, everywhere.
 
 Nicholas Clark



Re: Transliteration operator(tr//)on EBCDIC platform

2005-08-09 Thread SADAHIRO Tomoyuki
Hello,

On Tue, 9 Aug 2005 15:09:42 +0530, Sastry [EMAIL PROTECTED] wrote
 Hi
 
 As suggested by you, I ran the following script which resulted in
 substituting all the characters with X irrespective of the special 
 case [i-j].

 ($a = \x89\x8a\x8b\x8c\x8d\x8f\x90\x91) =~ s/[\x89-\x91]/X/g;
 is($a, );

Right, that behavior of ranges in character classes [ ] is expectable
from literal_endpoint, which is introduced by Change 16556.

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

 I have also observed that whenever there are any gapped characters eg:
 [r-s] as in the following script, it just translates 'r' and 's' to X 
 alone!
 
 ($a = \x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2) =~ tr/\x99-\xa2/X/;
 is($a, XX);

 a) Why is it mentioned that when [i-j] is included [\x89-\x91] should
 not be included?
 b) Do you think there is a bug in the tr// implementation as a
 consequence of the above?
 
 -Sastry 

Answer for a) is mentioned in perlebcdic.pod.
The last sentence (This works in...) seems to be added there
in accompanied with Change 16556 as above.

+++quote begin
REGULAR EXPRESSION DIFFERENCES
As of perl 5.005_03 the letter range regular expression such as [A-Z]
and [a-z] have been especially coded to not pick up gap characters.
For example, characters such as o WITH CIRCUMFLEX that lie between I
and J would not be matched by the regular expression range /[H-K]/.
This works in the other direction, too, if either of the range end
points is explicitly numeric: [\x89-\x91] will match \x8e, even though
\x89 is i and \x91 is j, and \x8e is a gap character from the alphabetic
viewpoint.
quote end

I'll give some additional explanations from the viewpoint
of portability:
a letter range [h-k] always means [hijk], even on EBCDIC platforms,
but not [hi\x8A-\x90jk], because the string h is always the small
letter 'h' whether its code value is 0x68 or 0x88;
thus a numeric range [\x89-\x91] should always mean
[\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91] even on EBCDIC platforms,
but not [\x89\x91], because the string \x89 always stands for
the code value 0x89 whether it encodes a certain C1 control character
or the letter 'i'.

b): In my opinion the above change in [  ] for regular expressions
is an improvement and a similar change in tr/// is also advisable.

The reason why I hesitate to use the word bug is based on
the following statement on tr/// in perlop.pod, esp. the last sentence:

+++quote begin
Note also that the whole range idea is rather unportable between
character sets--and even within character sets they may cause results
you probably didn't expect. A sound principle is to use only ranges
that begin from and end at either alphabets of equal case (a-e, A-E),
or digits (0-4). Anything else is unsafe. If in doubt, spell out
the character sets in full.
quote end

where numeric ranges such as \x89-\x91 are not declared
to be safe, but to be unsafe.

Regards,
SADAHIRO Tomoyuki




Re: [perl #36839] \xA0 (non-breaking space) does and doesn't matc h \s

2005-08-09 Thread SADAHIRO Tomoyuki

On Tue, 9 Aug 2005 16:04:00 +0400 , Konovalov, Vadim [EMAIL PROTECTED] wrote

 As a honest user that does RTFM, I got an impression exactly opposite: I use
 \x{} even for two-byte to get Unicode which is internally in UTF-8, and
 I use \xXX otherwise.
 
 Now I see I was wrong and in order to get U+00A0 I need more than \x{A0},
 something like 
 perl -MDevel::Peek -e Dump ''.substr(qq/\x{FEFF}\x{A0}/,1)
 
 /me confused...

What you want may be to read Creating Unicode in perluniintro.pod

http://perldoc.perl.org/perluniintro.html#Creating-Unicode

and pack('U', 0xA0).

perl -MDevel::Peek -e Dump(pack 'U', 0xA0)
SV = PV(0x365764) at 0x36496c
  REFCNT = 1
  FLAGS = (PADTMP,POK,pPOK,UTF8)
  PV = 0x182e8e4 \302\240\0 [UTF8 \x{a0}]
  CUR = 2
  LEN = 14

But I also think the notation [UTF8 \x{a0}] is confusing...

SADAHIRO Tomoyuki




Re: [PATCH] New test of IEEE floating point peculiarities

2005-08-09 Thread Ton Hospel
In article [EMAIL PROTECTED],
Dominic Dunlop [EMAIL PROTECTED] writes:
 stringified as -0. (If somebody can point me at a user-visible way  
 in Perl of extracting the sign from an NV other than by stringifying  
 it, I'd love to hear about it.) And of course everything's skipped  

atan2(X, -1) should do the job of mapping X to something with an 
easily testable sign

perl -wle 'print atan2(-0.0, -1)'
-3.14159265358979324
perl -wle 'print atan2(0.0, -1)'
3.14159265358979324


Re: 5.8.8?

2005-08-09 Thread Rafael Garcia-Suarez
On 8/9/05, Alexey Tourbin [EMAIL PROTECTED] wrote:
 Okay.  My concern is that bugfix changes are not tagged as bufixes (at
 least as they come through perl5-changes), so there's a chance you can
 miss the one when there's a lot of them.

I should get more verbose in my application logs...

 (Being more specific, I'm concerned about change #24367 (and also
 changes #24703 and #24709) that fixes getppid() cache; the change was
 made before 5.8.7 release and did not find its way into 5.8.7; there's
 a chance it's not in again if you simply review the changes made after
 5.8.7 release.)

Yes, IMO this one should go in maint.


Re: 5.8.8?

2005-08-09 Thread Nicholas Clark
On Tue, Aug 09, 2005 at 11:45:16PM +0200, Rafael Garcia-Suarez wrote:
 On 8/9/05, Alexey Tourbin [EMAIL PROTECTED] wrote:
  Okay.  My concern is that bugfix changes are not tagged as bufixes (at
  least as they come through perl5-changes), so there's a chance you can
  miss the one when there's a lot of them.
 
 I should get more verbose in my application logs...
 
  (Being more specific, I'm concerned about change #24367 (and also
  changes #24703 and #24709) that fixes getppid() cache; the change was
  made before 5.8.7 release and did not find its way into 5.8.7; there's
  a chance it's not in again if you simply review the changes made after
  5.8.7 release.)

5.8.7 slipped quite a bit. I decided that it was better to get it out than
try to keep going through the backlog I had already. I will go through the
backlog, and it's actually easer to do so, because I don't have a direct
record of where 5.8.7's release came - the change messages all sit in a
mailbox and get deleted once I've concluded whether they are to be
integrated or aren't suitable.

 Yes, IMO this one should go in maint.

Yes, it looks like it should. (But there's looking quickly, and thinking
slowly and committing. And I don't think that 11pm is a good time to start
the latter)

Nicholas Clark


RE: [PATCH] Re: [perl #36235] perl + gcc-4.0.0 + solaris + gnu binutils

2005-08-09 Thread Niki Waibel

On 26-Jul-2005 Andy Dougherty via RT wrote:
 On Tue, 26 Jul 2005, Niki Waibel wrote:
 
 On 25-Jul-2005 Andy Dougherty via RT wrote:
  On Thu, 10 Jun 2005, Niki W. Waibel wrote:
  
  # New Ticket Created by  Niki W. Waibel 
  # Please include the string:  [perl #36235]
  # in the subject line of all future correspondence about this issue. 
  # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36235 
  
  
  perl on solaris using gcc-3.X and gnu binutils correctly adds -Wl,-E to
  to LDFLAGS. it seems that the detection of the gnu binutils is somehow
  broken if gcc-4.X is used.
  
  The detection is done in hints/solaris_2.sh.  It's quite possible that the 
  output of gcc has changed such that the hints file doesn't pick it up 
  correctly anymore.
 
 Thanks for the verbose output.  It looks like the problem is that the old 
 output of gcc-[23] 'Reading specs from ... ' has been replaced in gcc-4 
 (at least in this configuration) by 'Using built-in specs'.
 
 The following simple patch to hints/solaris_2.sh might be enough to get 
 things to work.  Could you try it out?  (apply with patch -p1).  You'll 
 have to remove your old config.sh before re-running Configure.
 
   rm config.sh
   sh Configure [whatever options you want]
 
 --- perl-current/hints/solaris_2.sh   Sun May 22 10:38:40 2005
 +++ perl-andy/hints/solaris_2.sh  Tue Jul 26 11:29:22 2005
 @@ -211,7 +211,10 @@
   # Indent to avoid propagation to config.sh
   verbose=`${cc:-cc} -v -o try try.c 21`
  
 -if echo $verbose | grep '^Reading specs from' /dev/null 21; then
 +# XXX TODO:  'specs' output changed from 'Reading specs from' in gcc-[23] to 
 'Using
 +# built-in specs' in gcc-4.  Perhaps we should just use the same gcc test as
 +# in Configure to see if we're using gcc.
 +if echo $verbose | egrep '(Reading specs from)|(Using built-in specs)' 
 /dev/null 21; then
   #
   # Using gcc.
   #
 -- 

patch is fine and works ok. although i'd really love to see:
a) std configure produced by autoconf
b) std makefiles produces by automake
c) std handling of libraries (libperl.a/libperl.so.1.0.0) by libtool
but maybe that is anyway on the roadmap...

thanks for help, niki



[perl #36848] Sys::Syslog::syslog kills program if syslogd not running

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


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


-
[Please enter your report here]

On our NetBSD 2.0 boxes with perl 5.6.1, we use Sys::Syslog this way:

   use strict;
   use Sys::Syslog qw(:DEFAULT setlogsock);  # use Unix-domain socket

   openlog $progname, cons,pid, daemon ||
   warn $progname: openlog() fails: $!\n;

But when we send messages with syslog(), the program dies if syslogd
is not running, with this message:

   connect: No such file or directory (SOCK_DGRAM after trying SOCK_STREAM)
at perlprog line NNN

Where the offending line is something like:

   syslog(notice, SHUTDOWN: $sig);

The offending line is in a signal handler.  If I edit out the syslog()
call n the signal handler, it gets even worse - the program dies with
no error message.  Here's what happens when I step through with the
debugger:

   main::(/usr/local/sbin/servicemon:160):
   160:syslog(notice, STARTUP: services=  . join(/, @services) . ,
   startwait=$startwait, cyclewait=$cyclewait);
 DB1
   Debugged program terminated.  Use q to quit or R to restart,
 use O inhibit_exit to avoid stopping after program termination,
 h q, h R or h O to get additional info.

Any suggestions?


[Please do not change anything below this line]
-
---
Flags:
category=core
severity=medium
---
Site configuration information for perl v5.8.0:

Configured by fn at Mon Jul 29 16:55:09 EDT 2002.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
osname=netbsd, osvers=1.5.2, archname=i386-netbsd
uname='netbsd juggler.panix.com 1.5.2 netbsd 1.5.2 (panix-std) #0: wed oct 
17 21:14:18 edt 2001 [EMAIL 
PROTECTED]:develnetbsd1.5.2srcsysarchi386compilepanix-std i386 '
config_args='-Dprefix=/pkg/perl-5.8.0'
hint=previous, 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=y, bincompat5005=undef
  Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
optimize='-O',
cppflags='-fno-strict-aliasing -I/usr/local/include -fno-strict-aliasing 
-I/usr/local/include'
ccversion='', gccversion='egcs-2.91.66 19990314 (egcs-1.1.2 release)', 
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='gcc', ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib 
-L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-lm -lc -lposix -lcrypt -lutil
perllibs=-lm -lc -lposix -lcrypt -lutil
libc=/usr/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, 
ccdlflags='-Wl,-whole-archive -lgcc -Wl,-no-whole-archive
-Wl,-E '
cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared  
-L/usr/local/lib'

Locally applied patches:


---
@INC for perl v5.8.0:
/pkg/perl-5.8.0/lib/perl-5.8.0/i386-netbsd
/pkg/perl-5.8.0/lib/perl-5.8.0
/pkg/perl-5.8.0/lib/site_perl/5.8.0/i386-netbsd
/pkg/perl-5.8.0/lib/site_perl/5.8.0
/pkg/perl-5.8.0/lib/site_perl
.

---
Environment for perl v5.8.0:
HOME=/net/u/2/e/eravin
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

PATH=/net/u/2/e/eravin/bin:/usr/local/bin:/bin:/usr/bin:/usr/etc:/sbin:/usr/local/contrib/bin
PERL_BADLANG (unset)
SHELL=/usr/local/bin/bash



Re: Partial status of Friday evening's bead-perl on VMS

2005-08-09 Thread John Malmberg

John E. Malmberg wrote:

Sorry, my buggy rsync did not bring over the .patches file.

t/run/exit  FAILED


Now fixed:

Fixes to the mapping of VMS (NATIVE) status codes to PERL (UNIX) in 
progress.  Changes needed to vms.c,perl.h,pp_sys.c and t/run/exit.t so far.


t/op/exec.FAILED at test 15


Now fixed:

Fixed involved a side trip of putting the needed const qualifiers in 
vms.c and fixing doio.c/pp_sys.c/proto.h/embed.fnc so that the casts for 
(char *) were not needed.


Perl.h needs to handle the VMS (NATIVE) status codes to PERL (UNIX) 
differently on a child exit then when converting parent status code.


t/op/recurse..FAILED at test 28
t/op/ref..FAILED at test 58
ext/Filter/t/call.FAILED at test 5
ext/POSIX/t/sigaction.FAILED--unexpected output at
lib/ExtUtils/t/Embed..FAILED at test 1
lib/ExtUtils/t/installbaseFAILED at test 3
lib/ExtUtils/t/recurs.FAILED at test 3
lib/h2xs..FAILED at test 3
lib/vmsishFAILED at test 2

All of theses now seem to be working.

Most of the following have not yet been investigated, as I am trying to 
get the VMS to PERL status mapping fixed.  A lot of them look to be the 
same symptoms, so fixing one case may fix them all.


Some vmsify() cases are broken, but I have quite a few fixes queued up 
for vmsify and related routines so I will investigate these last unless 
they are blocking verifying other problems.



t/op/goto.FAILED at test 53
not ok 53 - next and goto
# Failed at [-.t.op]goto.t line 421
#  got 'ok
# '
# expected 'ok'
not ok 54 - redo and goto
# Failed at [-.t.op]goto.t line 428
#  got 'ok
# '
# expected 'ok'
Looks like a normal behavior on VMS that needs to be changed to have a 
TODO tag.




t/op/gv...FAILED at test 67
Attempting to pipe a multi-line program as an embedded perl command on VMS.
It does not seem to work.




t/op/magicFAILED at test 7
@ENV{keys(%ENV)} is duplicating the first hash member the first time it 
is called, and only the first time it is called.



t/lib/vmsfspecFAILED--unexpected output at 
test 62

not ok 76 - pathify('__down_:[__the_.__garden_]__path_.dir;1'): ''
# Failed at [-.t.lib]vmsfspec.t line 24
#  got undef
# expected '__down_:[__the_.__garden_.__path_]'


Will fix this later unless I find that it is the reason one of the other 
tests are failing.  I have a lot of changes in my queue for these 
routines to better support ODS-5.



ext/Compress/Zlib/t/03examplesFAILED at test 1
ext/Compress/Zlib/t/06gzdopen.FAILED--unexpected output at 
test 0

Issue needs to be investigated on VMS.


ext/Devel/Peek/t/Peek.FAILED--unexpected output at 
test 20

Test 21 fails, reason still unknown.



ext/POSIX/t/sigaction.FAILED--unexpected output at 
test 25

ok 25 - safe signal delivery must work
Use of uninitialized value in numeric gt () at 
[-.ext.posix.t]sigaction.t line

183.
ok 26 # skip no SIGRT signals



lib/Archive/Tar/t/02_methods..FAILED--unexpected output at 
test 68
Needs further investigation, may have exceeded filename length for older 
VMS, and Perl does not know about the current VMS filename length.



lib/bignum/t/bninfnan.FAILED--unexpected output at 
test 0

EAGLE mcr []Perl. -I[-.lib] [-.lib.bignum.t]bninfnan.t
# INC = [-.lib.bignum.t]bninfnan.t ../lib ../lib/bignum/t
1..26
# Running under perl version 5.009003 for VMS
# Current time local: Sun Aug  7 00:53:49 2005
# Current time GMT:   Sun Aug  7 04:53:49 2005
# Using Test.pm version 1.25
Use of uninitialized value $_ in scalar chop at ../lib/DynaLoader.pm 
line 159.

Use of uninitialized value $_ in concatenation (.) or string at
../lib/DynaLoader.pm line 161.
Use of uninitialized value in require at ../lib/Config.pm line 66.
Use of uninitialized value in require at ../lib/bignum.pm line 155.
Use of uninitialized value in require at [-.lib.bignum.t]bninfnan.t line 
38.

ok 1



lib/Config/Extensions.FAILED--unexpected output at 
test 0

EAGLE mcr []Perl. -I[-.lib] [-.lib.config]extensions.t
Use of uninitialized value in split at ../lib/Config/Extensions.pm line 12.
ok 1 - use Config::Extensions;



lib/ExtUtils/ParseXS/t/basic..FAILED--unexpected output at 
test 3

#include EXTERN.h
#include EXTERN.h
.^
.^
%CC-F-NOINCLFILEF, Cannot find file EXTERN.h specified in #include 
directive.
%CC-F-NOINCLFILEF, Cannot find file EXTERN.h specified in #include 
directive.

at line number 1 in file
PROJECT_ROOT:[perl-blead.lib.ExtUtils.ParseXS.t]XSTest.xs;1
at line number 1 in file

[EMAIL PROTECTED] VMS error handling and const fixes

2005-08-09 Thread John E. Malmberg

Changes to vmsish.h and vms.c:

1. Add new routine to translate VMS error status codes into UNIX errno 
values.


2. Fix routines that callers expect not to modify the input strings to 
actually not modify them.


3. Put the const qualifiers on all input pointers that are not modified 
so that the routines that are wrappers for standard c library routines 
follow the same calling conventions.



Changes to perl.h :

Add macro for STATUS_NATIVE_CHILD_SET() for translating NATIVE child 
status to Perl.  VMS requires different code than other platforms.


Add VMS specific macro STATUS_NATIVE_SET_PORC().  PORC is for Parent or 
Child.  This macro takes a parameter that determines if it should take 
the child behavior.


Fix STATUS_NATIVE_SET_PORC macro to call routine in VMS.C to translate 
VMS status codes to errno status codes.


STATUS_NATIVE_SET on VMS now calls STATUS_NATIVE_SET_PORC.

On non-VMS STATUS_NATIVE_CHILD_SET calls STATUS_NATIVE_SET() to preserve 
existing behavior.


STATUS_UNIX_SET fixed for VMS case.


Changes to pp_sys.c :

Calls STATUS_NATIVE_CHILD_SET so when setting the child status in the 
second octet is needed on VMS.


Removed incorrect (char *) casts that were suppressing valid compiler 
warnings about potential data corruption.



Changes to doio.c :

Put the required const qualifiers on several routines to match what the 
callers are expecting.


Fix the Perl_do_openn routine to not modify the input string so that the 
const qualifier is correct.


Fix the Perl_do_exec3 routine so that the compiler realizes that the 
input string is not modified so that the const qualifier is correct.



Changes to proto.h and embed.fnc :

Fixed the prototypes to have the const qualifiers.


-John
[EMAIL PROTECTED]
Personal Opinion Only

--- vms/vmsish.h_blead  Sat Aug  6 00:13:56 2005
+++ vms/vmsish.hMon Aug  8 23:06:31 2005
@@ -347,6 +347,7 @@
  * This symbol, if defined, indicates that the program is running under
  * VMS.  It's a symbol automagically defined by all VMS C compilers I've 
seen.
  * Just in case, however . . . */
+/* Note that code really should be using __VMS to comply with ANSI */
 #ifndef VMS
 #define VMS/**/
 #endif
@@ -760,7 +761,8 @@
 #endif
 
 void   prime_env_iter (void);
-void   init_os_extras ();
+void   init_os_extras (void);
+intvms_status_to_unix(int vms_status);
 /* prototype section start marker; `typedef' passes through cpp */
 typedef char  __VMS_PROTOTYPES__;
 intPerl_vmstrnenv (const char *, char *, unsigned long int, struct 
dsc$descriptor_s **, unsigned long int);
@@ -769,8 +771,8 @@
 intPerl_my_trnlnm (const char *, char *, unsigned long int);
 char * Perl_tounixspec (const char *, char *);
 char * Perl_tounixspec_ts (const char *, char *);
-char * Perl_tovmsspec (char *, char *);
-char * Perl_tovmsspec_ts (char *, char *);
+char * Perl_tovmsspec (const char *, char *);
+char * Perl_tovmsspec_ts (const char *, char *);
 char * Perl_tounixpath (const char *, char *);
 char * Perl_tounixpath_ts (const char *, char *);
 char * Perl_tovmspath (const char *, char *);
@@ -780,11 +782,11 @@
 char * Perl_fileify_dirspec_ts (const char *, char *);
 char * Perl_pathify_dirspec (const char *, char *);
 char * Perl_pathify_dirspec_ts (const char *, char *);
-char * Perl_rmsexpand (char *, char *, char *, unsigned);
-char * Perl_rmsexpand_ts (char *, char *, char *, unsigned);
-intPerl_trim_unixpath (char *, char*, int);
+char * Perl_rmsexpand (const char *, char *, const char *, unsigned);
+char * Perl_rmsexpand_ts (const char *, char *, const char *, unsigned);
+intPerl_trim_unixpath (char *, const char*, int);
 DIR *  Perl_opendir (const char *);
-intPerl_rmscopy (char *, char *, int);
+intPerl_rmscopy (const char *, const char *, int);
 intPerl_my_mkdir (const char *, Mode_t);
 bool   Perl_vms_do_aexec (SV *, SV **, SV **);
 #else
@@ -792,8 +794,8 @@
 intPerl_my_trnlnm (pTHX_ const char *, char *, unsigned long int);
 char * Perl_tounixspec (pTHX_ const char *, char *);
 char * Perl_tounixspec_ts (pTHX_ const char *, char *);
-char * Perl_tovmsspec (pTHX_ char *, char *);
-char * Perl_tovmsspec_ts (pTHX_ char *, char *);
+char * Perl_tovmsspec (pTHX_ const char *, char *);
+char * Perl_tovmsspec_ts (pTHX_ const char *, char *);
 char * Perl_tounixpath (pTHX_ const char *, char *);
 char * Perl_tounixpath_ts (pTHX_ const char *, char *);
 char * Perl_tovmspath (pTHX_ const char *, char *);
@@ -803,23 +805,23 @@
 char * Perl_fileify_dirspec_ts (pTHX_ const char *, char *);
 char * Perl_pathify_dirspec (pTHX_ const char *, char *);
 char * Perl_pathify_dirspec_ts (pTHX_ const char *, char *);
-char * Perl_rmsexpand (pTHX_ char *, char *, char *, unsigned);
-char * Perl_rmsexpand_ts (pTHX_ char *, char *, char *, unsigned);
-intPerl_trim_unixpath (pTHX_ char *, char*, int);
+char * Perl_rmsexpand (pTHX_ const char *, char *, const char *, unsigned);
+char * Perl_rmsexpand_ts (pTHX_ const char *, char