[perl #36837] B::Deparse fails when it comes to ByteLoader programs
# 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
# 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
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
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
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
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
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
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)
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
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
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
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
+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)
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
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
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
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
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
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
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
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
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
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?
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?
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
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
# 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
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
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