[PATCH] The return of the consting

2005-09-13 Thread Andy Lester
I'm almost done with all my NN/NULLOK excitement in embed.fnc.  Here's a
patch of accumulated goodness.  Nothing exciting.

xoxo,
Andy


-- 
Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
diff -pur bleadperl/embed.fnc bw/trunk/embed.fnc
--- bleadperl/embed.fnc 2005-09-01 10:14:47.0 -0500
+++ bw/trunk/embed.fnc  2005-09-13 00:48:42.0 -0500
@@ -305,7 +305,7 @@ pR  |bool   |ingroup|Gid_t testgid|Uid_t e
 p  |void   |init_argv_symbols|int argc|NN char **argv
 p  |void   |init_debugger
 Ap |void   |init_stacks
-Ap |void   |init_tm|struct tm *ptm
+Ap |void   |init_tm|NN struct tm *ptm
 pd |U32|intro_my
 ApPR   |char*  |instr  |NN const char* big|NN const char* little
 pR |bool   |io_close   |NN IO* io|bool not_implicit
@@ -371,7 +371,7 @@ p   |OP*|jmaybe |NN OP* arg
 pP |I32|keyword|NN const char* d|I32 len
 Ap |void   |leave_scope|I32 base
 p  |void   |lex_end
-p  |void   |lex_start  |SV* line
+p  |void   |lex_start  |NN SV* line
 Ap |void   |op_null|NN OP* o
 p  |void   |op_clear   |NN OP* o
 Ap |void   |op_refcnt_lock
@@ -381,63 +381,63 @@ p |OP*|list   |NULLOK OP* o
 p  |OP*|listkids   |NULLOK OP* o
 Apd|void   |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
 Ap |void   |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK 
va_list* args
-p  |OP*|localize   |OP* arg|I32 lexical
+p  |OP*|localize   |NN OP* arg|I32 lexical
 ApdR   |I32|looks_like_number|NN SV* sv
 Apd|UV |grok_bin   |NN const char* start|NN STRLEN* len_p|NN I32* 
flags|NV *result
 Apd|UV |grok_hex   |NN const char* start|NN STRLEN* len_p|NN I32* 
flags|NV *result
 Apd|int|grok_number|NN const char *pv|STRLEN len|UV *valuep
-ApdR   |bool   |grok_numeric_radix|const char **sp|const char *send
-Apd|UV |grok_oct   |const char* start|STRLEN* len_p|I32* flags|NV 
*result
-p  |int|magic_clearenv |SV* sv|MAGIC* mg
-p  |int|magic_clear_all_env|SV* sv|MAGIC* mg
-p  |int|magic_clearpack|SV* sv|MAGIC* mg
-p  |int|magic_clearsig |SV* sv|MAGIC* mg
-p  |int|magic_existspack|SV* sv|MAGIC* mg
-p  |int|magic_freeregexp|SV* sv|MAGIC* mg
-p  |int|magic_freeovrld|SV* sv|MAGIC* mg
-p  |int|magic_get  |SV* sv|MAGIC* mg
+ApdR   |bool   |grok_numeric_radix|NN const char **sp|NN const char *send
+Apd|UV |grok_oct   |NN const char* start|STRLEN* len_p|I32* 
flags|NV *result
+p  |int|magic_clearenv |NN SV* sv|NN MAGIC* mg
+p  |int|magic_clear_all_env|NN SV* sv|NN MAGIC* mg
+p  |int|magic_clearpack|NN SV* sv|NN MAGIC* mg
+p  |int|magic_clearsig |NN SV* sv|NN MAGIC* mg
+p  |int|magic_existspack|NN SV* sv|NN MAGIC* mg
+p  |int|magic_freeregexp|NN SV* sv|NN MAGIC* mg
+p  |int|magic_freeovrld|NN SV* sv|NN MAGIC* mg
+p  |int|magic_get  |NN SV* sv|NN MAGIC* mg
 p  |int|magic_getarylen|NN SV* sv|NN const MAGIC* mg
-p  |int|magic_getdefelem|SV* sv|MAGIC* mg
-p  |int|magic_getglob  |SV* sv|MAGIC* mg
-p  |int|magic_getnkeys |SV* sv|MAGIC* mg
-p  |int|magic_getpack  |SV* sv|MAGIC* mg
-p  |int|magic_getpos   |SV* sv|MAGIC* mg
-p  |int|magic_getsig   |SV* sv|MAGIC* mg
-p  |int|magic_getsubstr|SV* sv|MAGIC* mg
-p  |int|magic_gettaint |SV* sv|MAGIC* mg
-p  |int|magic_getuvar  |SV* sv|MAGIC* mg
-p  |int|magic_getvec   |SV* sv|MAGIC* mg
-p  |U32|magic_len  |SV* sv|MAGIC* mg
-p  |int|magic_nextpack |SV* sv|MAGIC* mg|SV* key
-p  |U32|magic_regdata_cnt|SV* sv|MAGIC* mg
-p  |int|magic_regdatum_get|SV* sv|MAGIC* mg
-pr |int|magic_regdatum_set|SV* sv|MAGIC* mg
-p  |int|magic_set  |SV* sv|MAGIC* mg
-p  |int|magic_setamagic|SV* sv|MAGIC* mg
-p  |int|magic_setarylen|SV* sv|MAGIC* mg
-p  |int|magic_freearylen_p|SV* sv|MAGIC* mg
-p  |int|magic_setbm|SV* sv|MAGIC* mg
-p  |int|magic_setdbline|SV* sv|MAGIC* mg
-p  |int|magic_setdefelem|SV* sv|MAGIC* mg
-p  |int|magic_setenv   |SV* sv|MAGIC* mg
-p  |int|magic_setfm|SV* sv|MAGIC* mg
-p  |int|magic_setisa   |SV* sv|MAGIC* mg
-p  |int|magic_setglob  |SV* sv|MAGIC* mg
-p  |int|magic_setmglob |SV* sv|MAGIC* mg
-p  |int|magic_setnkeys |SV* sv|MAGIC* mg
-p  |int|magic_setpack  |SV* sv|MAGIC* mg
-p  |int|magic_setpos   |SV* sv|MAGIC* mg
-p  |int|magic_setregexp|SV* sv|MAGIC* mg
-p  |int|magic_setsig   |SV* sv|MAGIC* mg
-p  |int|magic_setsubstr|SV* sv|MAGIC* mg
-p  |int|magic_settaint |SV* sv|MAGIC* mg
-p  |int|magic_setuvar  |SV* sv|MAGIC* mg
-p  |int|magic_setvec   |SV* sv|MAGIC* mg
-p  |int|magic_setutf8 

Perl 5 Bug Summary

2005-09-13 Thread Robert Spier

Perl5 Bug Summary


Requestors with most open tickets

[EMAIL PROTECTED]  39
Nicholas Clark39
Mark-Jason Dominus25
Stas Bekman   15
David Dyck14
[EMAIL PROTECTED]  13
Tom Christiansen  12
Dan Jacobson   9
Zefram 8
Yitzchak Scott-Thoennes8


http://rt.perl.org/rt3/NoAuth/perl5/Overview.html
Generated at Mon Sep 12 12:35:17 2005 GMT
---

  * Total Issues
  * New Issues
  * Overview of Open Issues
  * Ticket Status By Version
  * Requestors with most open tickets

---

Total Issues

Open Tickets: 1508

---

New Issues

New issues that have not been responded to yet

1 - 2 weeks old
37058 script produces segfault (testcase attached) 
37033 open2 oddity with eval ... and STDIN closed
2 - 3 weeks old
36999 Segfault in simple regular expression
3 - 4 weeks old
36949 Small error in Encode manpage
36937 Perl Bug durring test stage of install on Windows XP -- included source  
  of error and possible fix
36909 $^R undefined on matches involving backreferences
36908 ?{ ...}) code loses local vars on subsequent matches 
4 - 5 weeks old
36896 autouse + DProf == segmentation fault
36890 Missing ;. (nosemi)
36889 Missing warning for bogus dirhandle name 
36875 Certain string handling functions don't warn on undef
36837 B::Deparse fails when it comes to ByteLoader programs
5 - 6 weeks old
36815 [PATCH] warnings.pl/pm: Croaker function: bug (perl v5.8, v5.9)  
36795 Dprof/dprofpp reports incorrect subroutine call count if #Calls  99 
6 - 7 weeks old
36691 string captured into $1, $2,... in pattern match sometimes have utf8 bit 
  on and sometimes off. Even for the same patternmatch arguments   
36689 =, |= and ^= overloads are nbot documented  
36675 -'-10' eq '+10'  
36664 Strange behavior of shared array 
36653 POSIX::SigSet double free with threads   
7 - 8 weeks old
36630 open =fd does not work like fdopen 
36614 Build fails on NonStop-UX
8 - 9 weeks old
36539 Edge cases in find_perl algorithms 
36516 attributes.pm documentation is recursive and incomplete  
36513 Pod::Html exports two undocumented functions 
9 - 10 weeks old   
10 - 11 weeks old  
36430 Sort within a sort does not set $a, $b   
11 - 12 weeks old  
36347 Object destruction incomplete
12 - 13 weeks old  
36333 sort CONSTANT exhibits weird behavior
36291 incorrect $! from open nr with too many open files   
13 - 14 weeks old  
36248 print does not respect use encoding 'utf8' 
36229 Bizarre copy of IO   
14 - 15 weeks old  
36094 Wrong line number for FILEHANDLE reported by Xref (Xref.pm V1.01)
36079 use of `sexed' quotes gnot Unicode   
36078 Newz() used gratuitously 
36076 sv_upgrade and structure binary compatibility
36070 Not OK: perl v5.8.7 on darwin-thread-multi-2level 8.1.0 (UNINSTALLED)
36051 LVALUE magic should know how to 

Re: [PATCH] The return of the consting

2005-09-13 Thread H.Merijn Brand
On Tue, 13 Sep 2005 01:08:36 -0500, Andy Lester [EMAIL PROTECTED] wrote:

 I'm almost done with all my NN/NULLOK excitement in embed.fnc.  Here's a
 patch of accumulated goodness.  Nothing exciting.

Thanks, applied (including regen) as patch #25397

-- 
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: Stop fiddling with the bloody grammar (was Re: exempli gratia is e.g.)

2005-09-13 Thread Rafael Garcia-Suarez
Michael G Schwern wrote:
 
 What it does add is MAINTENANCE COST.  Maintaining an extreme level
 of grammatical correctness and consistency over a large collection with
 multiple authors takes time and effort not just from the person doing the
 initial grammar fix but from all the CPAN authors who now have to reapply
 that patch and retrain their writing style.  Not to mention all the
 mailing list noise it inevitably generates (remember the [ae]ffect thread?)

Yeah. What he said.


Re: [EMAIL PROTECTED] vms/vms.c Perl_cando fix.

2005-09-13 Thread H.Merijn Brand
On Mon, 12 Sep 2005 23:56:36 -0400, John E. Malmberg [EMAIL PROTECTED] 
wrote:

 The VMS specific Perl_cando() on open file handles was returning the 
 results for a previous file that a stat()/lstat() that was done instead 
 of for the open file.

Thanks, applied as change #25398

 This was causing failures in the Compress-Zlib tests on my system.
 
 -John


-- 
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: [MAINT24637] fails make test on OSX 10.4 (lib/locale.t)

2005-09-13 Thread Rafael Garcia-Suarez
Randal L. Schwartz wrote:
 
 At least it fails on only one thing...
 
 lib/locale  FAILED at test 99

IIRC that's a problem with the system's locales.
Did we have the word of some Apple expert on this ? it makes probably
sense to disable those test for this version of Darwin.


Questions regarding Perl instrumentation

2005-09-13 Thread Alexander Kolbasov

Dear Perl internals experts,

I am new to this list and to Perl internals, so please keep this in mind.

Solaris (*) has a dynamic instrumentation tool called DTrace. It allows to
*dynamically* instrument any running application and get useful information
about its behavior with zero (or almost zero) impact on the application when it
is not instrumented.

This works fine with normal applications, but not so good with interpteded
languages since C function names and data types have little to do with the
structure of the interpreted language. I am playing with the idea of adding some
hooks to Perl5 that will allow DTrace to be used for Perl programs (**). As an
initial experiment I changed Perl_runops_standard() function a bit and was able
to use DTrace to trace start and end of each Perl OP evaluation. This is not
very cool since there is no correlation between that and the Perl line numbers.
So the first question I have is

- Is it possible to get information about Perl script line number that the op
  belongs to? I need this information from the call to
  Perl_runops_standard(pTHX). In general, what is the good way (if any) to
  access line number information?

A much more interesting thing is being able to trace Perl function calls. Seems
like pp_entersub() is the right place to look at. This seems like a rather
complex function that I don't quite understand. I hacked it a bit to get the
name of the called function by using GvNAME(CvGV(cv)) which is, probably, not
quite safe since I have not checked whether CvGV(cv) returns something non-NULL.

So I have the second question:

- What is the safe and efficient way (and place in pp_entersub()) to get the
  string representing the function name?

- Can I get the function name from pp_leavesub()?

- Can I get line number information for the caller in pp_entersub()?

I am working with Perl 5.8.6.

Here is what I was able to trace from the simple perl script:

$x=1; $y=2;
sub foo() {$x+$y}
$z=foo();

  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_readline
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_defined
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_defined
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_and
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_and
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_enterloop
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_enterloop
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_entereval
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_entereval
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_const
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_const
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_sassign
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_sassign
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_nextstate
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_const
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_const
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_sassign
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_sassign
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_leaveeval
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_leaveeval
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_leaveloop
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_leaveloop
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_unstack
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_unstack
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_gvsv
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_gv
  1 | Perl_runops_standard:call-returnminiperl`Perl_pp_gv
  1 | Perl_runops_standard:call-entry miniperl`Perl_pp_readline
  1 | Perl_runops_standard:call-return

Re: Questions regarding Perl instrumentation

2005-09-13 Thread Rafael Garcia-Suarez
Alexander Kolbasov wrote:
 Solaris (*) has a dynamic instrumentation tool called DTrace. It allows to
 *dynamically* instrument any running application and get useful information
 about its behavior with zero (or almost zero) impact on the application when 
 it
 is not instrumented.
 
 This works fine with normal applications, but not so good with interpteded
 languages since C function names and data types have little to do with the
 structure of the interpreted language. I am playing with the idea of adding 
 some
 hooks to Perl5 that will allow DTrace to be used for Perl programs (**). As an

Maybe are you aware of
http://blogs.sun.com/roller/page/alanbur?entry=dtrace_and_perl already ?

 initial experiment I changed Perl_runops_standard() function a bit and was 
 able
 to use DTrace to trace start and end of each Perl OP evaluation. This is not

You can also plug in your own runloop at compile time. See for example
my module Runops::Switch on CPAN.

 very cool since there is no correlation between that and the Perl line 
 numbers.
 So the first question I have is
 
 - Is it possible to get information about Perl script line number that the op
   belongs to? I need this information from the call to
   Perl_runops_standard(pTHX). In general, what is the good way (if any) to
   access line number information?

The line number isn't stored in all ops, but only in COPs. You then get
it with the CopLINE macro, see cop.h.

 A much more interesting thing is being able to trace Perl function calls. 
 Seems
 like pp_entersub() is the right place to look at. This seems like a rather
 complex function that I don't quite understand. I hacked it a bit to get the
 name of the called function by using GvNAME(CvGV(cv)) which is, probably, not
 quite safe since I have not checked whether CvGV(cv) returns something 
 non-NULL.
 
 So I have the second question:
 
 - What is the safe and efficient way (and place in pp_entersub()) to get the
   string representing the function name?

I can't completely answer this off hand, but consider a few cases :
- exported functions. maybe use EGV instead of GV
- test with XSUBs
- some functions are autoloaded
- generally, I look at how the warnings and error display such things as
  function names and infer from that

 - Can I get the function name from pp_leavesub()?

IIRC the CV is on the stack (popped by POPSUB).

 - Can I get line number information for the caller in pp_entersub()?

You can use PL_curcop to get the current COP.

HTH. Your project looks very interesting.


Re: Stop fiddling with the bloody grammar (was Re: exempli gratia is e.g.)

2005-09-13 Thread David Landgren

Michael G Schwern wrote:

[...]


While I thank you very much for the effort to scan the documentation to find
grammar nits, and I realize Open Source is about scratching an itch, software
is about change management.  Which is why I say to stop fiddling with the 
(ie/i.e.)'s, the (eg/e.g.)'s, the (its/it's)'s and the ([ae]ffects).  
There's FAR more important things to be done in the Perl documentation. 


Don't worry, I gave up after the e.g./for example argument.

David



Re: [MAINT24637] fails make test on OSX 10.4 (lib/locale.t)

2005-09-13 Thread Dominic Dunlop


On 2005–09–13, at 08:52, Rafael Garcia-Suarez wrote:


Randal L. Schwartz wrote:



At least it fails on only one thing...

lib/locale  FAILED at test 99



IIRC that's a problem with the system's locales.
Did we have the word of some Apple expert on this ? it makes probably
sense to disable those test for this version of Darwin.

Yes. It's bug #35895. I logged it as a bug with Apple (ID# 4139653)  
but have heard not a thing about it. Apple's database lists it as open.


The most precise way to make the failing test pass on Darwin would be  
to have lib/locale.t skip locales with names containing eu_ES for  
Darwin versions between 8.0.0 and 8.2.0. No, make that 8.3.0:  
apparently the next Mac OS update is pretty imminent, and if this  
bug's still open, it won't be fixed in the update. I'll try to look  
into it later today.

--
Dominic Dunlop



Re: Questions regarding Perl instrumentation

2005-09-13 Thread Alan Burlison

Rafael Garcia-Suarez wrote:


Maybe are you aware of
http://blogs.sun.com/roller/page/alanbur?entry=dtrace_and_perl already ?


As Rafael says, I've already done some work on this, documented at the 
link above.  My intention is to put some generic macros into perl at the 
appropriate places.  By default they woud be empty, in the case of 
Solaris you will be able to instantiate them as DTrace probes, on other 
platforms they could be whatever tracing system the platform supports.


I've also spoken to Bryan, Mike and Adam about how to reduce the probe 
effect, I just haven't had the time to do the work.  I'll be in MPK17 
next week if you want to discuss it further.


--
Alan Burlison
--


Re: Questions regarding Perl instrumentation

2005-09-13 Thread Rafael Garcia-Suarez
Alan Burlison wrote:
 Rafael Garcia-Suarez wrote:
 
  Maybe are you aware of
  http://blogs.sun.com/roller/page/alanbur?entry=dtrace_and_perl already ?
 
 As Rafael says, I've already done some work on this, documented at the 
 link above.  My intention is to put some generic macros into perl at the 
 appropriate places.  By default they woud be empty, in the case of 
 Solaris you will be able to instantiate them as DTrace probes, on other 
 platforms they could be whatever tracing system the platform supports.

I think it's worth investigating doing it in a module, providing an
alternate runloop or only changing the pp functions for entersub and leavesub.


RE: Encode on EBCDIC patch( Doesn't Work)

2005-09-13 Thread Paul Marquess
From: Sastry [mailto:[EMAIL PROTECTED]
 
 Hi
 I agree with you Dan, I was referring to another test
 lib/DBM_Filter/t/encode.t
 where it encodes the k/v pairs using  the code page iso-8859-16 and
 the normal DBM_Filter to store and verify the same. Other tests in
 DBM_Filter are working fine on EBCDIC platform.

According to the output you posted yesterday there were two of the
DBM_Filter test suites failing - utf8.t and encode.t. These are the only
tests that touch encoding in the DBM_Filters

I posted a summary of what the utf8 filter was doing because it is a simpler
test, so it might be easier to figure out what is going wrong. The encode.t
test changes the encoding from utf8 to iso-8859-16 mid test - in fact the
euro symbol that you mention is the only thing written to the DBM file that
should be encoded in iso-8859-16 - everything else should be in utf8.


Paul



___ 
Does your mail provider give you FREE antivirus protection? 
Get Yahoo! Mail http://uk.mail.yahoo.com



RE: Encode on EBCDIC patch( Doesn't Work)

2005-09-13 Thread Paul Marquess
From: Dan Kogai [mailto:[EMAIL PROTECTED]
 
 On Sep 13, 2005, at 07:42 , Paul Marquess wrote:
  Dan, I'm not sure what is going on here. Can I walk through one of
  the failing test to see if it rings any bells with you?
 
 Before that I would like to make sure if I understand the scope of
 the problem correctly.  We are talking about the problem in EBCDIC
 platform, not DBM_Filter vs. Encode at alarge, right?

Correct. It's only EBCDIC

 I wrote a simple script and there seems no problem on ASCII platforms.
 
  SO I expect to get these k/v pairs back
 
  'alpha' = \xCE\xB1,
  'beta'  = \xCE\xB2,
  \xCE\xB3= gamma,
 
  But this is what I actually read from the DBM file.
 
   'beta' = '¸ž'
   'alpha' = '¸¨'
   '¸ß' = 'gamma'
 
 
 On ASCII platforms I got what you've expected.

Yep - it works fine on ASCII platforms and has done so for a few years.

 Sastry, would you clarify the problem a little bit more?  If that's
 the problem of Encode vs. EBCDIC, say so.  It occurs to me DBM_Filter
 is not guilty for this case.


Paul



___
Does your mail provider give you FREE antivirus protection?
Get Yahoo! Mail http://uk.mail.yahoo.com



Re: Questions regarding Perl instrumentation

2005-09-13 Thread Nicholas Clark
On Tue, Sep 13, 2005 at 10:02:38AM +0200, Rafael Garcia-Suarez wrote:
 Alan Burlison wrote:
  Rafael Garcia-Suarez wrote:
  
   Maybe are you aware of
   http://blogs.sun.com/roller/page/alanbur?entry=dtrace_and_perl already ?
  
  As Rafael says, I've already done some work on this, documented at the 
  link above.  My intention is to put some generic macros into perl at the 
  appropriate places.  By default they woud be empty, in the case of 
  Solaris you will be able to instantiate them as DTrace probes, on other 
  platforms they could be whatever tracing system the platform supports.
 
 I think it's worth investigating doing it in a module, providing an
 alternate runloop or only changing the pp functions for entersub and leavesub.

From what I remember Alan telling me about what Dave had said, there are were
a few more points other than entersub and leavesub that would need
instrumentation. goto sub; was the most obscure, but I think that require
was another.

I see nothing wrong with doing it as a module, if that brings the benefit to
older, installed, perls, but if the code changes are clean and compile time
enabled, I think that once working and stable it would actually be appropriate
for 5.8.x. (Given that the whole point of dtrace is to provide a way of
instrumenting already running code, and it is already shipped in some very
stable mission critical code, such as the Solaris kernel)

Alan demonstrated dtrace to me with his perl prototype. It's impressive. ONE
interface to instrument calls in perl space, the perl C code, the C runtime
library, and the kernel. It's trivial to instrument particular kernel calls
made only while you're in a particular perl subroutine.

I want that, working threads debugging and valgrind on the same platform.
Please. The pony can wait.

Nicholas Clark


RE: Encode on EBCDIC patch( Doesn't Work)

2005-09-13 Thread Paul Marquess
From: Sastry [mailto:[EMAIL PROTECTED]
 
 HI Paul
 
 
 On 9/13/05, Paul Marquess [EMAIL PROTECTED] wrote:
  From: Sastry [mailto:[EMAIL PROTECTED]
 
   Hi
   I agree with you Dan, I was referring to another test
   lib/DBM_Filter/t/encode.t
   where it encodes the k/v pairs using  the code page iso-8859-16 and
   the normal DBM_Filter to store and verify the same. Other tests in
   DBM_Filter are working fine on EBCDIC platform.
 
  According to the output you posted yesterday there were two of the
  DBM_Filter test suites failing - utf8.t and encode.t. These are the only
  tests that touch encoding in the DBM_Filters
 
  I posted a summary of what the utf8 filter was doing because it is a
 simpler
  test, so it might be easier to figure out what is going wrong. The
 encode.t
  test changes the encoding from utf8 to iso-8859-16 mid test - in fact
 the
  euro symbol that you mention is the only thing written to the DBM file
 that
  should be encoded in iso-8859-16 - everything else should be in utf8.
 
 The 'euro' symbol is not encoded properly. Hence the failure. The rest
 of the test cases are fine.

I confused. Do you mean that the other failures in the DBM_Filter test suite
are to be expected on an EBCDIC platform?

Paul




___ 
Does your mail provider give you FREE antivirus protection? 
Get Yahoo! Mail http://uk.mail.yahoo.com



Re: Questions regarding Perl instrumentation

2005-09-13 Thread Rafael Garcia-Suarez
Nicholas Clark wrote:
 From what I remember Alan telling me about what Dave had said, there are were
 a few more points other than entersub and leavesub that would need
 instrumentation. goto sub; was the most obscure, but I think that require
 was another.

What about the unusual ways of exiting a subroutine, e.g. with next ?


Re: Questions regarding Perl instrumentation

2005-09-13 Thread Dave Mitchell
On Tue, Sep 13, 2005 at 11:14:07AM +0200, Rafael Garcia-Suarez wrote:
 Nicholas Clark wrote:
  From what I remember Alan telling me about what Dave had said, there are 
  were
  a few more points other than entersub and leavesub that would need
  instrumentation. goto sub; was the most obscure, but I think that require
  was another.
 
 What about the unusual ways of exiting a subroutine, e.g. with next ?

My suggestion to Alan was to hitch a ride on the PUSHSUB/POPSUB macros;
that way you should be able to trap *all* occurances, including
hand-rolled calls in XS (eg the call outs to Perl in List::Util)

-- 
Emacs isn't a bad OS once you get used to it.
It just lacks a decent editor.


Re: Encode on EBCDIC patch( Doesn't Work)

2005-09-13 Thread Sastry
Hi
I agree with you Dan, I was referring to another test lib/DBM_Filter/t/encode.t
where it encodes the k/v pairs using  the code page iso-8859-16 and
the normal DBM_Filter to store and verify the same. Other tests in
DBM_Filter are working fine on EBCDIC platform.
Do you remember our previous discussion that the work around you
suggested for the encode has a problem on EBCDIC?

Here is the failing test summary for lib/DBM_Filter/t/encode.t

ok 1 - use DBM_Filter;
ok 2 - use SDBM_File;
ok 3 - use Fcntl;
ok 4 - use charnames;
ok 5 - tied to SDBM_File
ok 6 - push an illigal filter
ok 7 - push an 'encode' filter (default to utf-8)
ok 8 - StoreData called from lib/DBM_Filter/t/encode.t, line 47 
ok 9 - Store Data is a hash reference
ok 10 - Storing to tied hash
ok 11 - VerifyData called from lib/DBM_Filter/t/encode.t, line 57
ok 12 - Expected data is a hash reference
ok 13 - Verifying a tied hash
not ok 14 - Expected == Actual
# Failed test (/u/isldev3/perl-5.8.6/lib/dbm_filter_util.pl at line 48)
Wide character in print at /u/isldev3/perl-5.8.6/lib/Test/Builder.pm line 910.
# Expected does not match actual 
#   No Match from Expected:
#   'beta' =   '(c)ß'
#   'alpha' =  '(c)ì'
#   '(c)Â' = 'gamma'
#
ok 15 - pop the 'utf8' filter
ok 16 - push an 'encode' filter (specify iso-8859-16) 
ok 17 - StoreData called from lib/DBM_Filter/t/encode.t, line 72
ok 18 - Store Data is a hash reference
ok 19 - Storing to tied hash
ok 20 - untie without inner references
ok 21 - tied to SDBM_File
ok 22 - VerifyData called from lib/DBM_Filter/t/encode.t, line 90 
ok 23 - Expected data is a hash reference
ok 24 - Verifying a tied hash
not ok 25 - Expected == Actual
# Failed test (/u/isldev3/perl-5.8.6/lib/dbm_filter_util.pl at line 48)
# Expected does not match actual 
#   No Match from Expected:
#   'beta' =   'ó¥'
#   'ó·' = 'gamma'
#   'alpha' =  'ó£'
#   'euro' =   'u'
#
#   No Match from Actual:
#   '/Ä,' =   'u' 
#   'ea' = '(c)ß'
#   '(c)Â' = 'am'
#   'lh' = '(c)ì'
#
ok 26 - untie without inner references
# Looks like you failed 2 tests of 26.

1)Observe that 'euro' gets  /Ä, in the key
2) In my previous mails I mentioned that by running the following
script I do get '/Ä, whose EBCDIC codepoints are \x61\x63\x6E\x6B.
The expected codepoints are \x65x75\x72\x6F. Am I right?

use Encode;
$string = 'euro';
$enc_string = encode(iso-8859-16, $string);
print \n enc: $enc_string\n;



On 9/13/05, Dan Kogai [EMAIL PROTECTED] wrote:
 On Sep 13, 2005, at 07:42 , Paul Marquess wrote:
  Dan, I'm not sure what is going on here. Can I walk through one of
  the failing test to see if it rings any bells with you?
 
 Before that I would like to make sure if I understand the scope of
 the problem correctly.  We are talking about the problem in EBCDIC
 platform, not DBM_Filter vs. Encode at alarge, right?

This is absolutely on EBCDIC platform

 I wrote a simple script and there seems no problem on ASCII platforms.
 
  SO I expect to get these k/v pairs back
 
  'alpha' = \xCE\xB1,
  'beta'  = \xCE\xB2,
  \xCE\xB3= gamma,
 
  But this is what I actually read from the DBM file.
 
   'beta' = '¸ž'
   'alpha' = '¸¨'
   '¸ß' = 'gamma'
 
 
 On ASCII platforms I got what you've expected.
 
 Sastry, would you clarify the problem a little bit more?  If that's
 the problem of Encode vs. EBCDIC, say so.  It occurs to me DBM_Filter
 is not guilty for this case.
 
 Dan the Encode Maintainer.
 
 #
 use strict;
 use charnames 'greek';
 use DBM_Filter;
 use Fcntl;
 use DB_File;
 use SDBM_File;
 
 my %file = (
 DB_File   = 'test.db',
 SDBM_File = 'test.sdbm',
);
 my %hash = (
 beta  = \N{beta},
 'alpha' = \N{alpha},
 \N{gamma}= gamma,
);
 
 sub perlqq{
 join '', map { chr($_) =~ /\w/ ? chr $_ : sprintf \\x%02X,
 $_ } unpack C*, shift;
 }
 for my $dbmtype (keys %file){
 print $dbmtype\n;
 tie my %db, $dbmtype, $file{$dbmtype}, O_RDWR|O_CREAT, 0644
 or die $dbmtype - $file{$dbmtype} : $!;
 %db = (); # clear
 tied(%db)-Filter_Push('utf8');
 for my $k (keys %hash){
 $db{$k} = $hash{$k};
 printf \$k = %s(%d), \$db{\$k} = %s(%d)\n,
 perlqq($k), Encode::is_utf8($k), perlqq($db{$k}),
 Encode::is_utf8($db{$k});
 }
 untie %db;
 tie my %db, $dbmtype, $file{$dbmtype}, O_RDONLY, 0644
 or die $dbmtype - $file{$dbmtype} : $!;
 while(my ($k, $v) = each %db){
 printf \$k = %s(%d), \$v = %s(%d)\n,
 perlqq($k), Encode::is_utf8($k), perlqq($v),
 Encode::is_utf8($v);
 }
 untie %db;
 }
 __END__
 



Re: [perl #36448] [PATCH] configuring ranlib for perl on osx with xcode 2.1

2005-09-13 Thread Luke Closs
On Sat, Sep 10, 2005 at 10:40:25PM -0700, Steve Peters via RT wrote:
  [EMAIL PROTECTED] - Fri Jul 01 14:56:29 2005]:
  
  Hello,
  
  It looks like Apple has changed how ar works in xcode 2.1.  As a
  result, Configure thinks that ar can generate random libraries.
  
  This breaks linking libperl.a, for instance when building PerlApp.
  
  Configure doesn't currently allow overriding ranlib when Configure
  detects that ranlib isn't necessary.  My patch fixes this, and sets
  ranlib for darwin.
  
  Note that this patch is for ActivePerl 5.6.1 (it doesn't appear to be
  fixed in 5.9.2), so it probably needs to be manually applied...
  
   Configure 
  13888c13888,13890
 ranlib=:
  ---
   if [ X$ranlib = X ]; then
   ranlib=:
   fi
  
   hints/darwin.sh 
  179a180,183
   # Configure doesn't detect ranlib on Tiger properly.
   # NeilW says this should be acceptable on all darwin versions.
   ranlib='ranlib'
  
  Luke
  
  
  
 
 Has anyone looked at this patch yet?  I'm assuming that since it was
 written against 5.6.1 rather than the current bleadperl and it isn't in
 diff -u format, a new patch might be needed.
 
 One question comes to mind when I look at it, though.  Have you tested
 the patch on a non-Tiger system?

I haven't tested it on a non-Tiger system (I don't have access to
one).

Luke

-- 
Luke Closs
PureMessage Developer 
There is always time to juggle in the Sophos Zone.


how to deal with static c++ object

2005-09-13 Thread Dongxu Ma
Hi all,

In some case, a class will have a static object for special purpose. For 
instance:
static foo foo::bar
I want to port this object to perl by wrapping it as a sub like this:
foo * 
foo::bar()
CODE:
RETVAL = (foo::bar);
OUTPUT:
RETVAL

This will always cause a segfault while invoking the sub in perl script.
Does anyone know the reason?

Another question, is there any better way to port a class method which 
returns 
an object. Like this:
foo foo::bar2()
since the returned object is local, which is usually allocated on stack, I 
have to 
new an object on heap and copy the content from the local one in my perlxs 
code. Is there a better way to handle this case?

Great thanks.
-- 
Bst Rgrs, Dongxu


Re: Encode on EBCDIC patch( Doesn't Work)

2005-09-13 Thread Sastry
HI Paul


On 9/13/05, Paul Marquess [EMAIL PROTECTED] wrote:
 From: Sastry [mailto:[EMAIL PROTECTED]
 
  Hi
  I agree with you Dan, I was referring to another test
  lib/DBM_Filter/t/encode.t
  where it encodes the k/v pairs using  the code page iso-8859-16 and
  the normal DBM_Filter to store and verify the same. Other tests in
  DBM_Filter are working fine on EBCDIC platform.
 
 According to the output you posted yesterday there were two of the
 DBM_Filter test suites failing - utf8.t and encode.t. These are the only
 tests that touch encoding in the DBM_Filters
 
 I posted a summary of what the utf8 filter was doing because it is a simpler
 test, so it might be easier to figure out what is going wrong. The encode.t
 test changes the encoding from utf8 to iso-8859-16 mid test - in fact the
 euro symbol that you mention is the only thing written to the DBM file that
 should be encoded in iso-8859-16 - everything else should be in utf8.

The 'euro' symbol is not encoded properly. Hence the failure. The rest
of the test cases are fine.
 
 Paul
 
 
 
 ___
 Does your mail provider give you FREE antivirus protection?
 Get Yahoo! Mail http://uk.mail.yahoo.com
 



Re: Encode on EBCDIC patch( Doesn't Work)

2005-09-13 Thread Sastry
Hi Paul

  The other tests with DBM_Filter are working fine on EBCDIC
platform. The only problem is with lib/DBM_Filter/t/encode.t and I
guess Dan can address this! Dan! The workaround for encode() is not
complete. Can you recheck it?

-regards
Sastry

On 9/13/05, Paul Marquess [EMAIL PROTECTED] wrote:
 From: Sastry [mailto:[EMAIL PROTECTED]
 
  HI Paul
 
 
  On 9/13/05, Paul Marquess [EMAIL PROTECTED] wrote:
   From: Sastry [mailto:[EMAIL PROTECTED]
  
Hi
I agree with you Dan, I was referring to another test
lib/DBM_Filter/t/encode.t
where it encodes the k/v pairs using  the code page iso-8859-16 and
the normal DBM_Filter to store and verify the same. Other tests in
DBM_Filter are working fine on EBCDIC platform.
  
   According to the output you posted yesterday there were two of the
   DBM_Filter test suites failing - utf8.t and encode.t. These are the only
   tests that touch encoding in the DBM_Filters
  
   I posted a summary of what the utf8 filter was doing because it is a
  simpler
   test, so it might be easier to figure out what is going wrong. The
  encode.t
   test changes the encoding from utf8 to iso-8859-16 mid test - in fact
  the
   euro symbol that you mention is the only thing written to the DBM file
  that
   should be encoded in iso-8859-16 - everything else should be in utf8.
  
  The 'euro' symbol is not encoded properly. Hence the failure. The rest
  of the test cases are fine.
 
 I confused. Do you mean that the other failures in the DBM_Filter test suite
 are to be expected on an EBCDIC platform?
 
 Paul
 
 
 
 
 ___
 Does your mail provider give you FREE antivirus protection?
 Get Yahoo! Mail http://uk.mail.yahoo.com
 



Re: Questions regarding Perl instrumentation

2005-09-13 Thread Alan Burlison

Rafael Garcia-Suarez wrote:


I think it's worth investigating doing it in a module, providing an
alternate runloop or only changing the pp functions for entersub and leavesub.


Putting probes around every op dispatch has a very noticeable effect,
the reason for the per-sub probes was it provided a reasonable balance
between observability and intrusiveness.

The functions themselves aren't enough as the ENTERSUB and LEAVESUB
macros are used in other places as well:

# dtrace -l | grep perl
36464perl955libperl.so  perl_run 
sub-entry
36465perl955libperl.so  Perl_pp_sort 
sub-entry
36466perl955libperl.so   Perl_pp_dbstate 
sub-entry
36467perl955libperl.so  Perl_pp_entersub 
sub-entry
36468perl955libperl.so  perl_run 
sub-return
36469perl955libperl.so  Perl_pp_last 
sub-return
36470perl955libperl.soPerl_pp_return 
sub-return
36471perl955libperl.so Perl_dounwind 
sub-return
36472perl955libperl.soPerl_pp_leavesublv 
sub-return
36473perl955libperl.so  Perl_pp_leavesub 
sub-return


Dave Mitchell pointed out to me that we'll also need hooks in eval and 
require for example.


I'd be more than happy to do it in a module, but I'm not clear how I 
would replace functions in libperl from a module. The whole point of 
dtrace is that it is lightweight enough to leave it in the code all the 
time.  Loading an additional module normally requires that you 
stop/start the application, embedding the probes would mean you could 
enable the probes on the fly.


--
Alan Burlison
--



Re: Questions regarding Perl instrumentation

2005-09-13 Thread Rafael Garcia-Suarez
Alan Burlison wrote:
 I'd be more than happy to do it in a module, but I'm not clear how I 
 would replace functions in libperl from a module.

Your module could, for example, replace the op_ppaddr fields of the
ops you want to intrument with your own DTrace-enabled implementation.

(I note that every op has an op_ppaddr field, which is probably some
memory overhead. However that also means that you can instrument only
part of the optree)

Or your module can replace the runloop and provide alternate
implementations directly in it for the ops you want to instrument.

 The whole point of 
 dtrace is that it is lightweight enough to leave it in the code all the 
 time.  Loading an additional module normally requires that you 
 stop/start the application, embedding the probes would mean you could 
 enable the probes on the fly.

That's a significant point for enabling DTrace at compile time in perl.


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

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

Summary: FAIL(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

   25398 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
Inconsistent test results (between TEST and harness):
../lib/Net/hostent.tFAILED at test 4

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



Re: [perl #36448] [PATCH] configuring ranlib for perl on osx with xcode 2.1

2005-09-13 Thread Andy Dougherty
On Mon, 12 Sep 2005, Luke Closs wrote:

 On Sat, Sep 10, 2005 at 10:40:25PM -0700, Steve Peters via RT wrote:

  Has anyone looked at this patch yet?  I'm assuming that since it was
  written against 5.6.1 rather than the current bleadperl and it isn't in
  diff -u format, a new patch might be needed.
  
  One question comes to mind when I look at it, though.  Have you tested
  the patch on a non-Tiger system?
 
 I haven't tested it on a non-Tiger system (I don't have access to
 one).

If Merijn doesn't beat me to it, I'll try to look at it in the next couple 
of days.

-- 
Andy Dougherty  [EMAIL PROTECTED]


RE: Zlib 2.00_03 / Blead 25366 on VMS + patched vms.c

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

 I finally got a download of 2.00_03, and I have locally patched vms.c to
 fix the fstat()/Perl_cando() issue.
 
 So here are the results.
 
 I probably will not have time to investigate the failure tonight as I
 need to submit the patch to vms.c.
 
 
 ext/Compress/Zlib/t/01version.t 2 of 2 ok
 ext/Compress/Zlib/t/02zlib.t  242 of   242 ok
 ext/Compress/Zlib/t/03zlib-v1.t   351 of   351 ok
 ext/Compress/Zlib/t/04def.t  1781 of  1781 ok
 ext/Compress/Zlib/t/05examples.t   25 of25 ok
 ext/Compress/Zlib/t/06gzsetp.t 51 of51 ok
 ext/Compress/Zlib/t/07bufsize.t   288 of   288 ok
 ext/Compress/Zlib/t/08encoding.t   16 of16 ok
 ext/Compress/Zlib/t/09gziphdr.t   790 of   790 ok
 ext/Compress/Zlib/t/10defhdr.t595 of   595 ok
 ext/Compress/Zlib/t/11truncate.t 2374 of  2374 ok
 ext/Compress/Zlib/t/12any.t63 of63 ok
 ext/Compress/Zlib/t/13prime.t   10612 of 10612 ok
 ext/Compress/Zlib/t/14gzopen.t212 of   212 ok
 ext/Compress/Zlib/t/15multi.t 575 of   575 pass.
 
 ext/Compress/Zlib/t/16oneshot.t  fails at 1460 and dies.
 not ok 1460 -   Compressed ok
 # Failed test ([-.ext.compress.zlib.t]16oneshot.t at line 729)
 # input file 't/tmpdir1/a1.tmp' does not exist
 ok 1461
 not ok 1462 -   got all files
 # Failed test ([-.ext.compress.zlib.t]16oneshot.t at line 740)
 #  got: '1'
 # expected: '0'
 ok 1463 - IO::Gzip::gzip - From FileGlob to Buffer files [a1]
 not ok 1464 -   Compressed ok
 # Failed test ([-.ext.compress.zlib.t]16oneshot.t at line 747)
 # input file 't/tmpdir1/a1.tmp' does not exist
 buffer is undef at ../ext/compress/zlib/t/MyTestUtils.pm line 326
  main::anyUncompress('ARRAY(0xa8bc08)') called at
 [-.ext.compress.zlib.t]16oneshot.t line 752
 # Looks like you planned 2544 tests but only ran 1464.
 # Looks like your test died just after 1464.
 
 ext/Compress/Zlib/t/17isize.tSkipped.
 
 ext/Compress/Zlib/t/18lvalue.t 10 of  10 ok
 ext/Compress/Zlib/t/19destroy.t23 of  23 ok
 ext/Compress/Zlib/t/20tied.t  731 of 732 ok
 ext/Compress/Zlib/t/21newtied.t   242 of 242 ok
 ext/Compress/Zlib/t/22merge.t 490 of 490 ok
 
 ext/Compress/Zlib/t/23misc.t   29 of  29 ok
 
 ext/Compress/Zlib/t/99pod.tskipped.
 1..0 # Skip Test::Pod 1.00 required for testing POD
 
 ext/Compress/Zlib/t/globmapper.t   68 of  69 ok


That's looking good - we are now down to two test harnesses failing.

I wonder if the failure in t/16oneshot.t is related to the
fstat()/Perl_cando() issue you just fixed? 

Here is why I suspect it may be related: I have a series of tests that make
use of a common set of test files in a test directory e.g. tmpdir1/a1.tmp.
The first test in the series passes fine, but the second fails because it
thinks the test file does not exist. The test is failing in this part of the
code


  foreach my $filename (@_)
  {
  
   if (! -e $filename )
  {
  ${ $self-{Error} } = input file '$filename' does not exist;
  return undef;
  }
  }


It isn't anything to do with $filename being an alias into @_?

Paul



___ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com



Re: [EMAIL PROTECTED] VMS fixes for cbuilder

2005-09-13 Thread Ken Williams


On Sep 12, 2005, at 11:12 PM, John E. Malmberg wrote:


Ken Williams wrote:
Thanks, John.  I've applied your patch (in a slightly modified form) 
and released a new beta, 0.13_01.  It would be great if you (and/or a 
couple other people on the vmsperl list) could try it out, and then I 
can release 0.14 when it checks out.


It is not yet showing up on CPAN, I will look again tomorrow evening.


Note that if you're using the CPAN.pm (or CPANPLUS, I believe) client, 
it won't automatically get a beta version unless you explicitly give it 
the path.  It's now up on 
http://search.cpan.org/~kwilliams/ExtUtils-CBuilder-0.13_01/ for manual 
download, though.



It looks like I am finally close to starting to get the file spec 
handling in Perl up to speed with current VMS versions.



In File::Spec::VMS, would it be appropriate to use a syntax like below 
to switch VMS into case sensitive mode if the underlying version of 
VMS  Perl supported it?


case_tolerant=0

VMS, and a few others also need a method to set/indicate the status of 
case preserved.



We could certainly let the case_tolerant value be mutable, and add a 
case_preserving attribute as well.  That would be pretty easy, but 
still perhaps not powerful enough, because some systems (OS X) can 
simultaneously mount some filesystems that are case-sensitive and 
others that aren't.  File::Spec's model of never consulting the 
filesystem is a little bit unhelpful in this case.


Let's just add the mutable attributes for now, and we can ruminate a 
little on the tougher case.


 -Ken



Re: [perl #36448] [PATCH] configuring ranlib for perl on osx with xcode 2.1

2005-09-13 Thread H.Merijn Brand
On Tue, 13 Sep 2005 07:52:06 -0400 (EDT), Andy Dougherty
[EMAIL PROTECTED] wrote:

 On Mon, 12 Sep 2005, Luke Closs wrote:
 
  On Sat, Sep 10, 2005 at 10:40:25PM -0700, Steve Peters via RT wrote:
 
   Has anyone looked at this patch yet?  I'm assuming that since it was
   written against 5.6.1 rather than the current bleadperl and it isn't in
   diff -u format, a new patch might be needed.
   
   One question comes to mind when I look at it, though.  Have you tested
   the patch on a non-Tiger system?
  
  I haven't tested it on a non-Tiger system (I don't have access to
  one).
 
 If Merijn doesn't beat me to it, I'll try to look at it in the next couple 
 of days.

It was in my queue waiting for someone that could test on Tiger did so
It's a rather simple change, but as I don't have access to any MacOS like
OS's, I waited for comments

-- 
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 #37039] perlref documentation about optional - is too vague

2005-09-13 Thread Rafael Garcia-Suarez
Yitzchak Scott-Thoennes wrote:
  I think I like the idea, and the patch seems safe. What I don't like,
  though, is the lack of tests for this patch. Also, a minor concern is
  that people might unknowingly write non-backwards-compatible code with
  5.10 by using this construct.
 
 Some basic tests:

Thanks, both patches applied as change #25399.

 As to your minor concern, that may be a reason to not include it in maint.
 (Whether it's a bugfix or enhancement depends on how you interpret the doc.)

I don't know how Nicholas is going to interpret it, but personnally I wouldn't
include it.

-- 
The man does not exist who, outside his own specialty, is not credulous.
-- Borges


File::Spec::VMS enhancements.

2005-09-13 Thread John E. Malmberg

Ken Williams wrote:

 On Sep 12, 2005, at 11:12 PM, John E. Malmberg wrote:

 It looks like I am finally close to starting to get the file spec
 handling in Perl up to speed with current VMS versions.


 In File::Spec::VMS, would it be appropriate to use a syntax like
 below to switch VMS into case sensitive mode if the underlying
 version of VMS  Perl supported it?

 case_tolerant=0

 VMS, and a few others also need a method to set/indicate the status
 of case preserved.


 We could certainly let the case_tolerant value be mutable, and add a
 case_preserving attribute as well.  That would be pretty easy, but
 still perhaps not powerful enough, because some systems (OS X) can
 simultaneously mount some filesystems that are case-sensitive and
 others that aren't.  File::Spec's model of never consulting the
 filesystem is a  little bit unhelpful in this case.

It is the same on OpenVMS.  The older ODS-2 file system is aways case 
insensitive and returns files in upper case only.  There is code in the 
VMS specific parts of Perl that make it look like lower case to be more 
UNIXy.


It is turning off that lowercasing code that I need the case preserved 
method to indicate and set.


I am not sure how to change vms.c to accept the new value for 
case_tolerant.  If I can find out how to do that, I can easily make the 
other changes.


 Let's just add the mutable attributes for now, and we can ruminate a
 little on the tougher case.

I am assuming that if someone changes the defaults for a platform that 
they will accept the consequences, or they will need to document the 
restrictions.  This will make some of the testing more complex.


I have several other file system attributes that Perl scripts may need 
to know about, as they may be changeable and some samples are below:


I want to first do the case sensitivity, and then work on the rest in 
stages.


Filename (no path) size: 255 characters.

Filename with path size: 255 | 1024 actual characters, 4096 with escape 
characters for to prevent confusion with delimiters.


Extended characters in pathnames:  The traditional VMS mode only allowed 
[0..9],[A..Z],[-$_] with one period and prohibited file names starting 
with '-'.  The new set allows any character, including UNICODE, except 
'*' to be in a pathname.  The '^' character in a VMS pathname treated 
sort of like a '\' in a UNIX string.


One thing that I do not know how to do is fix the cannonpath method to 
work with [.foo^..bar] which in UNIX would be foo./bar/ and still have 
[.foo^..bar.more..] reduce to [.foo^..bar].


Also the following are legal syntaxes that may need to be processed:

[nnn,nnn] where n is numeric is equivalent to [nn] - Just remove the 
comma, but the next one is more tricky.


[n,n,n]file.name, where n is numeric.  This is a 
compatibility mode for passing pathnames that are longer than 255 
characters to routines that can not handle them.  Unless a large enough 
buffer [4096] is available, this name can not be translated to a UNIX 
file specification.


Another attribute is if the filenames are returned as UNIX format or 
native format from routines by default.


And still another is that if input filenames should be presumed to be 
UNIX format or native.


VMS foo. should translate to UNIX foo, and with extended characters 
enabled, UNIX foo. should translate to VMS foo^.


Unfortunately there are also more attributes that seem to show up in 
corner tests where the behavior change in VMS to pass the test may not 
be one that the Perl script user would want associated with other 
attributes, which prevents some simplification.


When hard links are enabled on VMS at least one Perl test that is no 
longer skipped expects the umask file protection to behave like UNIX 
instead of like VMS.


-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: Stop fiddling with the bloody grammar (was Re: exempli gratia is e.g.)

2005-09-13 Thread Randal L. Schwartz
 Michael == Michael G Schwern [EMAIL PROTECTED] writes:

Michael I'm going to come at this from a different angle.  One that
Michael says leave it as ie/eg or perhaps simply who cares?
Michael because the effort to correct all the ie's and eg's and it's
Michael and [ae]ffects just doesn't seem worth the effort.

To parody the overused Mastercard meme:

Fixing old stuff: too expensive, except as collateral repair
Writing new stuff correctly: priceless

When I was but a young techwriting whippersnapper, one of the first
rules I learned was never use ie or eg.  Why?  Not because they were
obscure, but because people usually use the wrong one. :) So it became
drilled in my head to say for example, or such as instead of the
latin abbreviations. Same for etc... replace it with and so on, or
whatever you precisely mean.

Perhaps we could adopt this as a general guideline for future writings,
but not make any crusade to fix it in the past?

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
merlyn@stonehenge.com URL:http://www.stonehenge.com/merlyn/
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!


Re: how to deal with static c++ object

2005-09-13 Thread David Nicol
Dongxu:

please refer to
http://inline.perl.org/inline/home.html

On 9/13/05, Dongxu Ma [EMAIL PROTECTED] wrote:

 I want to port this object to perl by wrapping it as a sub like this:


 Another question, is there any better way to port a class method which


RE: [PATCH] The return of the consting

2005-09-13 Thread Robin Barker
Andy

I still get the following warnings related to attributes

Robin 

gv.c: In function `Perl_gv_init':
gv.c:167: warning: ignoring return value of `Perl_start_subparse', declared 
with attribute warn_unused_result
op.c: In function `Perl_newCONSTSUB':
op.c:4613: warning: null argument where non-null required (arg 1)
sv.c: In function `Perl_sv_clear':
sv.c:5568: warning: ignoring return value of `Perl_io_close', declared with 
attribute warn_unused_result

Summary of my perl5 (revision 5 version 9 subversion 3) configuration:
  Platform:
osname=solaris, osvers=2.8, archname=sun4-solaris-64int
uname='sunos snowman 5.8 generic sun4u sparc sunw,ultra-250 '
config_args='-des -Dmksymlinks -Dcc=gcc -Duse64bitint -Dnoextensions=Encode 
-Dusedevel'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -pipe 
-Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement 
-I/usr/local/include'
ccversion='', gccversion='3.4.3', gccosandvers='solaris2.8'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -Wl,-E'
cccdlflags='-fPIC', lddlflags=' -Wl,-E -G -L/usr/local/lib'

-Original Message-
From: H.Merijn Brand [mailto:[EMAIL PROTECTED]
Sent: 13 September 2005 07:46
To: perl5-porters@perl.org
Subject: Re: [PATCH] The return of the consting


On Tue, 13 Sep 2005 01:08:36 -0500, Andy Lester [EMAIL PROTECTED] wrote:

 I'm almost done with all my NN/NULLOK excitement in embed.fnc.  Here's a
 patch of accumulated goodness.  Nothing exciting.

Thanks, applied (including regen) as patch #25397

-- 
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

---
This e-mail and any attachments may contain confidential and/or
privileged material; it is for the intended addressee(s) only.
If you are not a named addressee, you must not use, retain or
disclose such information.

NPL Management Ltd cannot guarantee that the e-mail or any
attachments are free from viruses.

NPL Management Ltd. Registered in England and Wales. No: 2937881
Registered Office: Serco House, 16 Bartley Wood Business Park,
   Hook, Hampshire, United Kingdom  RG27 9UY
---


Re: how to deal with static c++ object

2005-09-13 Thread Nicholas Clark
On Tue, Sep 13, 2005 at 03:08:51PM +0800, Dongxu Ma wrote:
 Hi all,

 Another question, is there any better way to port a class method which 
 returns 
 an object. Like this:
 foo foo::bar2()
 since the returned object is local, which is usually allocated on stack, I 
 have to 
 new an object on heap and copy the content from the local one in my perlxs 
 code. Is there a better way to handle this case?

Well, aside from always allocate it on the heap in the first place, I
believe not.

Nicholas Clark


chainsaw patch the bloody grammar

2005-09-13 Thread David Nicol
I replaced all instances of e\.?g\.? and i\.?e\.? with for example
and that is in a copy of 5.9.2 the 92K patch is available at

http://cronos.advenge.com/perl/IE_EG.patch

in the hopes that someone else will go through it and add
commas, and remove Iitalics as needed.

-- 
David L Nicol
http://cronos.advenge.com/pc/EmilyDickenson/SecondBook/p8.html
There's a second stanza!


Re: how to deal with static c++ object

2005-09-13 Thread Dave Mitchell
On Tue, Sep 13, 2005 at 03:08:51PM +0800, Dongxu Ma wrote:
 In some case, a class will have a static object for special purpose. For 
 instance:
 static foo foo::bar
 I want to port this object to perl by wrapping it as a sub like this:
 foo * 
 foo::bar()
 CODE:
 RETVAL = (foo::bar);
 OUTPUT:
 RETVAL
 
 This will always cause a segfault while invoking the sub in perl script.
 Does anyone know the reason?

You can't return a C++ object on the perl stack; perl wouldn't know what
to do with it. How you get round this problems depends on what visibility
you want the object to have within perl.

If you just want to access the value of the object (eg if it just contains
an integer value), then return an SV with user magic attached; the magic
has a pointer to the static object, and the magic's get and set functions
copy the integer value between the SV and the object.

If you want to be able (at the perl level) to call methods on the object;
then you need to return a Perl object, whose methods are written in XS.

But anyway, this this is for discusiing the development of the perl
interpreter, not for XS programming questions.

-- 
Lady Nancy Astor: If you were my husband, I would flavour your coffee
with poison.
Churchill: Madam - if I were your husband, I would drink it.


Re: [perl #36448] configuring ranlib for perl on osx with xcode 2.1

2005-09-13 Thread Nicholas Clark
On Fri, Jul 01, 2005 at 09:56:31PM -, Luke Closs wrote:
 # New Ticket Created by  Luke Closs 
 # Please include the string:  [perl #36448]
 # in the subject line of all future correspondence about this issue. 
 # URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36448 
 
 
 Hello,
 
 It looks like Apple has changed how ar works in xcode 2.1.  As a
 result, Configure thinks that ar can generate random libraries.
 
 This breaks linking libperl.a, for instance when building PerlApp.
 
 Configure doesn't currently allow overriding ranlib when Configure
 detects that ranlib isn't necessary.  My patch fixes this, and sets
 ranlib for darwin.
 
 Note that this patch is for ActivePerl 5.6.1 (it doesn't appear to be
 fixed in 5.9.2), so it probably needs to be manually applied...

Indeed it did.

Thanks, applied (25402)

Sorry about the delay on this one.

Nicholas Clark


Re: Questions regarding Perl instrumentation

2005-09-13 Thread Paul Johnson
On Tue, Sep 13, 2005 at 01:29:41PM +0200, Rafael Garcia-Suarez wrote:

 Alan Burlison wrote:
  I'd be more than happy to do it in a module, but I'm not clear how I 
  would replace functions in libperl from a module.
 
 Your module could, for example, replace the op_ppaddr fields of the
 ops you want to intrument with your own DTrace-enabled implementation.
 
 (I note that every op has an op_ppaddr field, which is probably some
 memory overhead. However that also means that you can instrument only
 part of the optree)

If you take this route remember that the optree is shared between
threads which can make things even more interesting.  Been there, done
that, the wounds are still open.

 Or your module can replace the runloop and provide alternate
 implementations directly in it for the ops you want to instrument.

That being a logical or.

  The whole point of 
  dtrace is that it is lightweight enough to leave it in the code all the 
  time.  Loading an additional module normally requires that you 
  stop/start the application, embedding the probes would mean you could 
  enable the probes on the fly.
 
 That's a significant point for enabling DTrace at compile time in perl.

If you can come up with a generic lightweight method of instrumenting
subroutine entry and exit I can think of a few interesting applications
and I'm sure others could think of many more.

-- 
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net


Re: 5.8.8

2005-09-13 Thread Nicholas Clark
On Mon, Sep 12, 2005 at 12:28:52PM -0500, Steve Peters wrote:
 The only other exception would be changes to re-entrant functions through
 reentr.pl, where the generated code is quite different than that in bleadperl.

Until and unless one of us figures out how to merge the code.

Nicholas Clark


[PATCH] Re: [MAINT24637] fails make test on OSX 10.4 (lib/locale.t)

2005-09-13 Thread Dominic Dunlop

On 2005–09–13, at 09:45, Dominic Dunlop wrote:
The most precise way to make the failing test pass on Darwin would  
be to have lib/locale.t skip locales with names containing eu_ES  
for Darwin versions between 8.0.0 and 8.2.0. No, make that 8.3.0:  
apparently the next Mac OS update is pretty imminent, and if this  
bug's still open, it won't be fixed in the update. I'll try to look  
into it later today.


It turns out that Mac OS X 10.4 has a bad Byelorussian locale as well  
as the bad Catalan ones. Patch that skips testing all of these  
attached. The patch (optimistically) assumes that Apple will have  
fixed things by the update after next. We shall see ...

--
Dominic Dunlop



hide-bad-darwin-locales
Description: Binary data


Re: [PATCH] Re: [MAINT24637] fails make test on OSX 10.4 (lib/locale.t)

2005-09-13 Thread Rafael Garcia-Suarez
On 9/13/05, Dominic Dunlop [EMAIL PROTECTED] wrote:
 It turns out that Mac OS X 10.4 has a bad Byelorussian locale as well
 as the bad Catalan ones. Patch that skips testing all of these
 attached. The patch (optimistically) assumes that Apple will have
 fixed things by the update after next. We shall see ...

Thanks, applied as #25406 to blead.


Pod Indexing Project Status and Plans

2005-09-13 Thread Ivan Tubert-Brohman

Hi,

Here's the current status for the Pod Indexing Project.

SUMMARY

* The deadline for perl-5.8.8 is 2005-10-16
* 13 files have been indexed so far (1685 entries)
* Pod-Index-0.12 is available on CPAN
* Please try the online demo at 
http://pod-indexing.annocpan.org/perldoc-k.cgi . This is just a thin CGI 
wrapper around the underlying modifications to perldoc.

* Please look at PLAN and WHAT YOU CAN DO below if you want to help.


I - INDEXED FILES

As of this writing, these are the files that have been indexed. The 
latest stats are available at 
http://pod-indexing.annocpan.org/wiki/index.cgi?IndexStats .


 71 perldata
483 perlfunc
 34 perlmod
 41 perlobj
282 perlop
 78 perlpod
183 perlre
 73 perlref
 80 perlrun
 78 perlsub
 79 perlsyn
 44 perltie
159 perlvar
---
1685 total

(the first column is the number of entries for that file).

This already covers a major part of the central documentation (the 
pods labeled Reference Manual in perl.pod, particularly the first 
paragraph of the list).



II - SOFTWARE

Pod-Index-0.12 is available on CPAN. It includes modules for parsing the 
pods, extracting the X index entries, generating the index, searching 
the index, and extracting the relevant sections from the pods.


A modified perldoc is available at 
http://pod-indexing.annocpan.org/pod-indexing-snapshot/ . This perldoc 
adds the -k option for searching the index. It requires Pod-Index to 
do the searching. If these modifications are added to the core perl 
distribution, Pod-Index would have to be added as well.



III - PLAN

According to Nicholas Clark, Changes should be in blead by midnight 
(GMT) on the 16th October 2005 to make it into perl-5.8.8. So far, I've 
done all of the indexing myself. I've heard from people who say they are 
interested, but no one has sent me indexed files yet. I'd like to get as 
many as possible of the Reference Manual done by then, and then maybe 
some of the tutorials as well.



IV - WHAT YOU CAN DO

Besides indexing the files, you can also try the current index at 
http://pod-indexing.annocpan.org/perldoc-k.cgi , and let me know if some 
searches don't return what you would expect (given the files currently 
indexed).


Cheers,
Ivan


[perl #37156] perl-5.8.7 doen't compile on IA64

2005-09-13 Thread John Damm Soerensen
# New Ticket Created by  John Damm Soerensen 
# Please include the string:  [perl #37156]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37156 


Just to advice you about a problem with IA64 gcc-3.2.3-47 and perl-5.8.7, that 
seems to be well known, but not mentionened in your README's.

The problem shows during compilation as:
./miniperl -Ilib lib/lib_pm.PL
Attempt to free unreferenced scalar: SV 0x60034d00 at lib/lib_pm.PL 
line 1.
Attempt to free unreferenced scalar: SV 0x6003c7c0 at
lib/File/Basename.pm line 138.
Attempt to free unreferenced scalar: SV 0x6003c7c0 at
lib/File/Basename.pm line 142.
Attempt to free unreferenced scalar: SV 0x60065680 at lib/warnings.pm
line 134.
Attempt to free unreferenced scalar: SV 0x6003c7f0 at
lib/File/Basename.pm line 143.
Attempt to free unreferenced scalar: SV 0x60042980 at
lib/Exporter/Heavy.pm line 3.
make: *** [lib/lib.pm] Segmentation fault

The workarounds are:
1. Upgrade gcc to gcc-3.2.3-50  or later
2. Compile pp_ctl.c, pp_hot.c and pp_sort.c using -O1 
3. Compile pp_ctl.c, pp_hot.c and pp_sort.c using -O2 and 
-fno-delete-null-pointer-checks

I have tried workaround 3 on both 5.8.6 and 5.8.7 and it works fine.

Maybe you should consider er README.ia64 with this information?

The full description of the problem maybe found at:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=141694

BR
John Damm Sørensen
SGI DK

--

John Damm Sørensen
SSE
tlf. +45 4657 9433
FAX  +45 4657 9440
e-mail [EMAIL PROTECTED]
WEB   www.sgi.com


[perl #37162] Perl -- Make test errors..

2005-09-13 Thread Sharma, Rahul
# New Ticket Created by  Sharma, Rahul 
# Please include the string:  [perl #37162]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37162 


Hello,
Can you please let m know if there is any known resolution for the
below. I am using HP -UX supplied C compiler cc to compile perl.  Make
test gives t he below errors
When I build the source, I get failures on Constant.t and Recurs.t

lib/ExtUtils/t/Constant...Can't exec gmake: No such
file or di
rectory at ../lib/ExtUtils/t/Constant.t line 130.
FAILED at test 3

lib/ExtUtils/t/recurs.# Failed test
(../lib/ExtUtils/t/r
ecurs.t at line 62)
# got: '-1'
# expected: '0'
FAILED at test 6

Below are contents of config.sh file...

#!/bin/sh
#
# This file was produced by running the Configure script. It holds all
the
# definitions figured out by Configure. Should you modify one of these
values,
# do not forget to propagate your changes by running Configure -der.
You may
# instead choose to run each of the .SH files by yourself, or Configure
-S.
#

# Package name  : perl5
# Source directory  : .
# Configuration time: Tue Sep 13 11:43:03 MDT 2005
# Configured by : icare
# Target system : hp-ux boi287 b.11.11 u 9000800 1193911577
unlimited-user license 

Author=''
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
State=''
_a='.a'
_exe=''
_o='.o'
afs='false'
afsroot='/afs'
alignbytes='8'
ansi2knr=''
aphostname='/usr/bin/hostname'
api_revision='5'
api_subversion='0'
api_version='8'
api_versionstring='5.8.0'
ar='ar'
archlib='/opt/psoft/perl586/lib/5.8.6/PA-RISC2.0'
archlibexp='/opt/psoft/perl586/lib/5.8.6/PA-RISC2.0'
archname64='LP64'
archname='PA-RISC2.0'
archobjs=''
asctime_r_proto='0'
awk='awk'
baserev='5.0'
bash=''
bin='/opt/psoft/perl586/bin'
binexp='/opt/psoft/perl586/bin'
bison='bison'
byacc='byacc'
byteorder='4321'
c='\c'
castflags='0'
cat='cat'
cc='cc'
cccdlflags='+Z'
ccdlflags='-Wl,-E -Wl,-B,deferred '
ccflags=' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -D_LARGEFILE_SOURCE
'
ccflags_uselargefiles='-D_LARGEFILE_SOURCE'
ccname='cc'
ccsymbols='__HP_cc=08 __STDC_EXT__=1'
ccversion='B.11.X.32509-32512.GP'
cf_by='icare'
cf_email='[EMAIL PROTECTED]'
cf_time='Tue Sep 13 11:43:03 MDT 2005'
charsize='1'
chgrp=''
chmod='chmod'
chown=''
clocktype='clock_t'
comm='comm'
compress=''
contains='grep'
cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
cppccsymbols='_HPUX_SOURCE=1 _ILP32=1 _PA_RISC2_0=1 __hp9000s800=1
__hppa=1 __hpux=1 __unix=1'
cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -Ae -D_HPUX_SOURCE
-Wl,+vnocompatwarnings'
cpplast='-'
cppminus='-'
cpprun='cc -E -Aa -D__STDC_EXT__'
cppstdin='cc -E -Aa -D__STDC_EXT__'
cppsymbols='_LARGEFILE_SOURCE=1 _LFS64_LARGEFILE=1 _LFS_LARGEFILE=1
_PROTOTYPES=1 __STDC__=1 __STDC_EXT__=1 _XPG4=1 _XPG4_EXTENDED=1'
crypt_r_proto='0'
cryptlib=''
csh='csh'
ctermid_r_proto='0'
ctime_r_proto='0'
d_Gconvert='gcvt((x),(n),(b))'
d_PRIEUldbl='define'
d_PRIFUldbl='define'
d_PRIGUldbl='define'
d_PRIXU64='define'
d_PRId64='define'
d_PRIeldbl='define'
d_PRIfldbl='define'
d_PRIgldbl='define'
d_PRIi64='define'
d_PRIo64='define'
d_PRIu64='define'
d_PRIx64='define'
d_SCNfldbl='define'
d__fwalk='undef'
d_access='define'
d_accessx='undef'
d_aintl='undef'
d_alarm='define'
d_archlib='define'
d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
d_attribut='undef'
d_bcmp='define'
d_bcopy='define'
d_bsd='define'
d_bsdgetpgrp='undef'
d_bsdsetpgrp='undef'
d_bzero='define'
d_casti32='define'
d_castneg='define'
d_charvspr='undef'
d_chown='define'
d_chroot='define'
d_chsize='undef'
d_class='undef'
d_closedir='define'
d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_crypt='define'
d_crypt_r='undef'
d_csh='define'
d_ctermid_r='undef'
d_ctime_r='undef'
d_cuserid='define'
d_dbl_dig='define'
d_dbminitproto='define'
d_difftime='define'
d_dirfd='define'
d_dirnamlen='define'
d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
d_drand48_r='undef'
d_drand48proto='define'
d_dup2='define'
d_eaccess='undef'
d_endgrent='define'
d_endgrent_r='undef'
d_endhent='define'
d_endhostent_r='undef'
d_endnent='define'
d_endnetent_r='undef'
d_endpent='define'
d_endprotoent_r='undef'
d_endpwent='define'
d_endpwent_r='undef'
d_endsent='define'
d_endservent_r='undef'
d_eofnblk='define'
d_eunice='undef'
d_faststdio='define'
d_fchdir='define'
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fcntl_can_lock='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_finite='undef'
d_finitel='undef'
d_flexfnam='define'
d_flock='undef'
d_flockproto='undef'
d_fork='define'
d_fp_class='undef'
d_fpathconf='define'
d_fpclass='undef'
d_fpclassify='define'
d_fpclassl='undef'
d_fpos64_t='define'
d_frexpl='undef'
d_fs_data_s='undef'
d_fseeko='define'
d_fsetpos='define'
d_fstatfs='define'
d_fstatvfs='define'
d_fsync='define'
d_ftello='define'
d_ftime='undef'

[perl #37161] thread ignores :utf8 file i/o discipline

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



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


-
The following test program should result in the file output containing 
utf-8 encoded data, but instead results in the file containing 
iso-8859-1 encoded data.

use strict;
use warnings;
use threads;

our $outfd;

sub dolog {
print $outfd ab\xc6;
}


die unable to open output: $!\n unless open($outfd, ':utf8', 'output');

threads-create('dolog');

foreach (threads-list()) {
$_-join();
}


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

Configured by jgmyers at Mon Jul 25 16:01:57 PDT 2005.

Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
  Platform:
osname=linux, osvers=2.4.21-32.0.1.elsmp, 
archname=i686-linux-thread-multi
uname='linux pong.us.proofpoint.com 2.4.21-32.0.1.elsmp #1 smp tue 
may 17 17:52:23 edt 2005 i686 i686 i386 gnulinux '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define 
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING 
-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.3.3', 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 =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:
   

---
@INC for perl v5.8.7:
/u/jgmyers/perl/lib/5.8.7/i686-linux-thread-multi
/u/jgmyers/perl/lib/5.8.7
/u/jgmyers/perl/lib/site_perl/5.8.7/i686-linux-thread-multi
/u/jgmyers/perl/lib/site_perl/5.8.7
/u/jgmyers/perl/lib/site_perl/5.8.6/i686-linux-thread-multi
/u/jgmyers/perl/lib/site_perl/5.8.6
/u/jgmyers/perl/lib/site_perl/5.8.5/i686-linux-thread-multi
/u/jgmyers/perl/lib/site_perl/5.8.5
/u/jgmyers/perl/lib/site_perl/5.8.3/i686-linux-thread-multi
/u/jgmyers/perl/lib/site_perl/5.8.3
/u/jgmyers/perl/lib/site_perl
.

---
Environment for perl v5.8.7:
HOME=/u/jgmyers
LANG=en_US
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

PATH=/tools/x/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/u/jgmyers/bin
PERL_BADLANG (unset)
SHELL=/bin/bash



[perl #37163] dprofpp array subscript error

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


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]

The dprofpp that comes with perl 5.8.6 and 5.8.4 (haven't tried
others) has a bug where a non-existent array element is assigned to
which makes dprofpp die.

I create a profile like this:

  dprofpp -Q -p program.pl

and I get this tmon.out (gz):

  http://perlcode.org/dprofpp_bug/tmon.out.gz

I try to profile it like this:

  dprofpp -I -g main::do_loop

and receive this error:

  Modification of non-creatable array value attempted, subscript -1 at
  /usr/bin/dprofpp line 662, fh line 1100.

This happens on FreeBSD and Mac OSX under the above Perl versions.

This patch helps (I'm not sure if something is not being counted,
however. It may be that the chunk of code that creates the array index
below needs to be moved to before this section):

patch
--- /usr/bin/dprofpp2005-03-20 17:42:00.0 -0700
+++ dprofpp 2005-09-13 12:52:32.0 -0600
@@ -659,7 +659,7 @@
 
my $ot = $t;
if ( $dir eq '/' ) {
- $syst = $stack[-1][0];
+ $syst = $stack[-1][0] if scalar @stack;
  $usert = '';
  $dir = '-';
  #warn(Inserted exit for $stack[-1][0].\n)
/patch

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

Configured by root at Sun Mar 20 16:31:42 PST 2005.

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
  Platform:
osname=darwin, osvers=8.0, archname=darwin-thread-multi-2level
uname='darwin b28.apple.com 8.0 darwin kernel version 7.5.0: thu mar 3 
18:48:46 pst 2005; root:xnuxnu-517.99.13.obj~1release_ppc power macintosh 
powerpc '
config_args='-ds -e -Dprefix=/usr -Dccflags=-g  -pipe  
-Dldflags=-Dman3ext=3pm -Duseithreads -Duseshrplib'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define 
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='cc', ccflags ='-g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp 
-fno-strict-aliasing -I/usr/local/include',
optimize='-Os',
cppflags='-no-cpp-precomp -g -pipe -fno-common -DPERL_DARWIN 
-no-cpp-precomp -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1809)', 
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags ='-L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lc
perllibs=-ldl -lm -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-bundle -undefined dynamic_lookup 
-L/usr/local/lib'

Locally applied patches:
23953 - fix for File::Path::rmtree CAN-2004-0452 security issue
33990 - fix for setuid perl security issues

---
@INC for perl v5.8.6:
/Users/scott/myperl/Library/Perl
/Users/scott/myperl/System/Library/Perl/5.8.6/darwin-thread-multi-2level
/Users/scott/myperl/System/Library/Perl/5.8.6
/Users/scott/myperl/System/Library/Perl
/Users/scott/myperl/lib/darwin-thread-multi-2level
/Users/scott/myperl/lib
/Users/scott/myperl/Library/Perl/5.8.1/darwin-thread-multi-2level
/Users/scott/myperl/Library/Perl/5.8.1
/System/Library/Perl/5.8.6/darwin-thread-multi-2level
/System/Library/Perl/5.8.6
/Library/Perl/5.8.6/darwin-thread-multi-2level
/Library/Perl/5.8.6
/Library/Perl
/Network/Library/Perl/5.8.6/darwin-thread-multi-2level
/Network/Library/Perl/5.8.6
/Network/Library/Perl
/System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.8.6
/Library/Perl/5.8.1/darwin-thread-multi-2level
/Library/Perl/5.8.1
.

---
Environment for perl v5.8.6:
DYLD_LIBRARY_PATH (unset)
HOME=/Users/scott
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

Re: [EMAIL PROTECTED] VMS fixes for cbuilder

2005-09-13 Thread John E. Malmberg

Ken Williams wrote:


On Sep 12, 2005, at 11:12 PM, John E. Malmberg wrote:


Ken Williams wrote:

Thanks, John.  I've applied your patch (in a slightly modified form) 
and released a new beta, 0.13_01.  It would be great if you (and/or a 
couple other people on the vmsperl list) could try it out, and then I 
can release 0.14 when it checks out.


I just pulled the Platform/vms.pm over and ran all the Extutils tests 
with it and they all pas


I see that you combined the two if blocks into one which is an 
optimization that I did not see.




It is not yet showing up on CPAN, I will look again tomorrow evening.



Note that if you're using the CPAN.pm (or CPANPLUS, I believe) client, 
it won't automatically get a beta version unless you explicitly give it 
the path.  It's now up on 
http://search.cpan.org/~kwilliams/ExtUtils-CBuilder-0.13_01/ for manual 
download, though.


I currently do not have any Perl besides the blead-perl running on this 
system and I have not learned to use many of the tools that experienced 
Perl users take for granted.


-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: Questions regarding Perl instrumentation

2005-09-13 Thread Alexander Kolbasov
 Rafael Garcia-Suarez wrote:
 
  Maybe are you aware of
  http://blogs.sun.com/roller/page/alanbur?entry=dtrace_and_perl already ?
 
 As Rafael says, I've already done some work on this, documented at the 
 link above.  My intention is to put some generic macros into perl at the 
 appropriate places.  By default they woud be empty, in the case of 
 Solaris you will be able to instantiate them as DTrace probes, on other 
 platforms they could be whatever tracing system the platform supports.
 
 I've also spoken to Bryan, Mike and Adam about how to reduce the probe 
 effect, I just haven't had the time to do the work.  I'll be in MPK17 
 next week if you want to discuss it further.

Ok, now it is in good hands!

- Alexander Kolbasov



Re: File::Spec::VMS enhancements.

2005-09-13 Thread John E. Malmberg

Tim Maher wrote:

On Tue, Sep 13, 2005 at 09:53:15AM -0400, John E. Malmberg wrote:


Ken Williams wrote:

Extended characters in pathnames:  The traditional VMS mode ...
[0..9],[A..Z],[-$_]



I'm admittedly a few decades past the peak of my expertise in VMS,
but shouldn't the ; preceding a file's version number be listed
in that set also?


The ;, and []: are punctuation delimiters for the different 
sections, I was referring to the text between the punctuation.


-John
[EMAIL PROTECTED]
Personal Opinion Only


Re: Zlib 2.00_03 / Blead 25366 on VMS + patched vms.c

2005-09-13 Thread John E. Malmberg

Paul Marquess wrote:

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



I finally got a download of 2.00_03, and I have locally patched vms.c to
fix the fstat()/Perl_cando() issue.

So here are the results.


ext/Compress/Zlib/t/16oneshot.t  fails at 1460 and dies.
not ok 1460 -   Compressed ok
# Failed test ([-.ext.compress.zlib.t]16oneshot.t at line 729)
# input file 't/tmpdir1/a1.tmp' does not exist
ok 1461
not ok 1462 -   got all files
# Failed test ([-.ext.compress.zlib.t]16oneshot.t at line 740)
#  got: '1'
# expected: '0'
ok 1463 - IO::Gzip::gzip - From FileGlob to Buffer files [a1]
not ok 1464 -   Compressed ok
# Failed test ([-.ext.compress.zlib.t]16oneshot.t at line 747)
# input file 't/tmpdir1/a1.tmp' does not exist
buffer is undef at ../ext/compress/zlib/t/MyTestUtils.pm line 326
main::anyUncompress('ARRAY(0xa8bc08)') called at
[-.ext.compress.zlib.t]16oneshot.t line 752
# Looks like you planned 2544 tests but only ran 1464.
# Looks like your test died just after 1464.

 
That's looking good - we are now down to two test harnesses failing.


I wonder if the failure in t/16oneshot.t is related to the
fstat()/Perl_cando() issue you just fixed? 


It took that fix to get the test running this well.  I will have to see 
if I can simplify the test down to the failing case as 1459 tests before 
that work.



Here is why I suspect it may be related: I have a series of tests that make
use of a common set of test files in a test directory e.g. tmpdir1/a1.tmp.
The first test in the series passes fine, but the second fails because it
thinks the test file does not exist. The test is failing in this part of the
code


  foreach my $filename (@_)
  {
  
   if (! -e $filename )
  {
  ${ $self-{Error} } = input file '$filename' does not exist;
  return undef;
  }
  }


It isn't anything to do with $filename being an alias into @_?


Probably not.  I think I need to stop it in the debugger at the point of 
failure and see if the file is really there or not.  If it is not there, 
then I need to find out what happened to it.  If it is there, then I 
have to find out why it is not seen.


-John
[EMAIL PROTECTED]
Personal Opinion Only


perl5.004_05 compile problems

2005-09-13 Thread Shaun Daredia
I am trying to compile perl5.004_05 under SLES9 SP2 and I am seeing the
following message.

make: *** No rule to make target `built-in', needed by
`miniperlmain.o'.  Stop.

Here is the uname output.

Linux gdead 2.6.5-7.191-smp #1 SMP Tue Jun 28 14:58:56 UTC 2005 x86_64
x86_64 x86_64 GNU/Linux

Please help!

Thanks,
Shaun 



perlpodspec vs. Pod::Perldoc vs. Pod::Parser

2005-09-13 Thread Joshua Hoblitt
I've been working on a Pod processor (likely to be called Pod::Tidy) and
I've run across what I at first thought might be a bug in Pod::Parser.
After re-reading perlpodspec I now suspect I've found a quirk in
Pod::Perldoc.

Consider the following example, Pod::Parser treats the lines with bar
and baz in them as part of the same Ordinary paragraph.  Pod::Perldoc
(well, perldoc) treats them as two separate paragraphs.  With baz being
in a separate Verbatim paragraph.

--
=head1 foo

bar
baz

=cut
--

I think that Pod::Parser is probably the one properly following the
spec..  Can anyone help confirm or clarify what the correct behavior
here is?

Cheers,

-J

--


pgpOEtYCR16VY.pgp
Description: PGP signature