Smoke [5.9.0] 25365 FAIL(m) openbsd 3.6 (i386/1 cpu)

2005-09-09 Thread Steven P. Schubiger
Automated smoke report for 5.9.0 patch 25365
accognoscere.homeunix.org: AMD Athlon(TM) XP 1800+ (AuthenticAMD 686-class) 
(i386/1 cpu)
onopenbsd - 3.6
using cc version 2.95.3 20010125 (prerelease, propolice)
smoketime 3 minutes 1 seconds (average 22.625 seconds)

Summary: FAIL(m)

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

   25365 Configuration (common) none
--- -
m - m - 
m - m - -Duse64bitint
m - m - -Duseithreads
m - m - -Duseithreads -Duse64bitint
| | | +- PERLIO = perlio -DDEBUGGING
| | +--- PERLIO = stdio  -DDEBUGGING
| +- PERLIO = perlio
+--- PERLIO = stdio


-- 
Report by Test::Smoke v1.19#716 running on perl 5.8.5
(Reporter v0.016 / Smoker v0.015)



managing many HTTP connections - recommendation wanted

2005-09-09 Thread Torsten Foertsch
Hi,

I have to manage many parallel HTTP/HTTPS connections. My current 
implementation starts up a number of threads (300-500). Each thread handles 
one LWP::UserAgent. Then I use a queue to shift connection requests from the 
manager thread to the workers.

Since Perl's thread implementation is rather memory consuming this is not the 
optimal solution. 500 threads is the maximum on my 1GB machine.

Is there a better solution using asynchronous IO but providing the simplicity 
of LWP::UserAgent and supporting HTTP and HTTPS?

Thanks,
Torsten



pgpbp5VyPauqX.pgp
Description: PGP signature


Re: managing many HTTP connections - recommendation wanted

2005-09-09 Thread David Landgren

Torsten Foertsch wrote:

Hi,

I have to manage many parallel HTTP/HTTPS connections. My current 
implementation starts up a number of threads (300-500). Each thread handles 
one LWP::UserAgent. Then I use a queue to shift connection requests from the 
manager thread to the workers.


Hello,

I'm sorry, you have knocked on the wrong door. The p5p list is devoted 
to discussing the details of the Perl 5 implementation, not the uses to 
which it may be put. Please try three doors down at 
http://www.perlmonks.org/ and I'm sure you will receive all the help you 
need there.


David.



[perl #37119] SelfLoader/fork() gotcha

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


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


-
[Please enter your report here]

This is definitely platform dependent - I can reproduce this on x86 Linux,
but not x86 FreeBSD or OS X.

fork and __DATA__ don't mix. I don't think that we document this anywhere.
I don't know if we should, given the amount of documentation, but it is a
subtle gotcha, and it had never occurred to me.

The basic problem is with modules that lazily read from the DATA file
handle, particularly if they read from another package's DATA file handle
lazily, and on demand. DATA is implemented by the Perl 5 compiler leaving
the program's file handle open if it encounters the __DATA__ token. All is
fine and dandy, until you fork. At which point both processes now have a
(buffered) DATA file handle pointing to the same kernel file descriptor.
When one reads from DATA, the other's DATA handle moves. Underneath it.


SelfLoader breaks.

$ cat Demo.pm
#!perl -w

package Demo;
sub import {};
use SelfLoader;
@ISA = 'SelfLoader';

1;
__DATA__
sub hash {
print pig-pen: $_[0]\n;
}

$ cat demo.pl
#!perl -w
use strict;

use Demo;

my $pid = fork();
sleep 2 if $pid;
Demo::hash ($pid);

$ perl demo.pl
pig-pen: 0
Undefined subroutine Demo::hash at demo.pl line 8


I'm not sure if/how we can fix SelfLoader. I'm not sure where we should
document this gotcha with DATA.

Nicholas Clark

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

Configured by root at Mon Oct 18 17:51:35 BST 2004.

Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
  Platform:
osname=linux, osvers=2.4.21-4.elsmp, archname=i686-linux
uname='linux switch.work.fotango.com 2.4.21-4.elsmp #1 smp fri oct 3 
17:52:56 edt 2003 i686 i686 i386 gnulinux '
config_args='-Dprefix=/usr/local/perl-5.8.5 -Uinstallusrbinperl -des'
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='cc', ccflags ='-fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -I/usr/include/gdbm'
ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-20)', 
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
alignbytes=4, prototype=define
  Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -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.5:
/usr/local/perl-5.8.5/lib/5.8.5/i686-linux
/usr/local/perl-5.8.5/lib/5.8.5
/usr/local/perl-5.8.5/lib/site_perl/5.8.5/i686-linux
/usr/local/perl-5.8.5/lib/site_perl/5.8.5
/usr/local/perl-5.8.5/lib/site_perl
.

---
Environment for perl v5.8.5:
HOME=/home/nick
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)

PATH=/home/nick/bin:/usr/kerberos/bin:/usr/lib/ccache/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/sbin:/usr/sbin
PERL_BADLANG (unset)
SHELL=/bin/bash



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

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

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


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

[perlio] -Duse64bitint
../lib/Net/hostent.tFAILED 4-7
../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)



[perl #37117] Math::Complex atan2 bug

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


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

This bug is still present in 5.9.2.

-
[I just found out about perlbug. I hope this finally is the
preferred method of reporting bugs. This one's really easy to
fix (just apply the three line patch), but can be a real hassle
if it isn't fixed. I have tried contacting the former module
author (before Math::Complex went into the core), but the mail
address of Mr. Lewart is no longer valid.]

The syntax of using the atan2 routine is, generally:
atan2(y, x) = atan(y/x).

You will know that
atan(0) = 0. (Since tan(0) = 0 = sin(0) / cos(0).)

perl -MMath::Complex -e print atan2(0,1)
prints '0' alright. (Which is, in fact atan(0/1).)

perl -MMath::Complex -e print atan2(1,0)
prints pi/2 alright. (Which is, in fact atan(1/0)
and lim(x--inf) atan(x) is pi/2.)

Now, in the complex plane, we get:
perl -MMath::Complex -e print atan2(0,i)
i/0: Division by zero.
Died at c:/perl/perl58/lib/Math/Complex.pm line 1284.

This is not correct. Obviously, 0/i is the same as 0/1
which is 0. Thus atan2(0,i) == atan2(0,1) == atan(0) == 0

At fault is the following code:
sub atan2 {
  my ($z1, $z2, $inverted) = [at]_;
  my ($re1, $im1, $re2, $im2);
  if ($inverted) {
  ($re1, $im1) = ref $z2 ? [at]{$z2-cartesian} : ($z2, 0);
  ($re2, $im2) = [at]{$z1-cartesian};
  } else {
  ($re1, $im1) = [at]{$z1-cartesian};
  ($re2, $im2) = ref $z2 ? [at]{$z2-cartesian} : ($z2, 0);
  }
  if ($im2 == 0) {
  return CORE::atan2($re1, $re2) if $im1 == 0;
  return ($im1=0) * pip2 if $re2 == 0;
  }
  my $w = atan($z1/$z2); # !!! line 1284
  my ($u, $v) = ref $w ? [at]{$w-cartesian} : ($w, 0);
  $u += pi   if $re2  0;
  $u -= pit2 if $u  pi;
  return cplx($u, $v);
}

In the last test case above, $inverted is set. Therefore, if
$im2 = 0, the switched real and imaginary parts are used. But
if that's not the case, the code at line 1284 is executed with
the *unswitched* complex numbers $z1 and $z2.
I suppose the author omitted something like
($z1, $z2) = ($z2, $z1) if $inverted;
before line 1284. (The patch uses slightly different code.)

I attached a patch which adds another if($inverted){}else{}
block. It's a patch against the Math::Complex in 5.8.7, but I
have verified that the version in the bleadperl is the same.

I assume you want to add a test for any bugfix, but since I
know nothing about perl's internal testing (and Complex.t in
5.9.2 is as ugly as it gets), I'll just include the simplest bit
of code that tests the patch, provided Math::Complex was loaded:

($eps defined in Complex.t)

my $res;
eval {$res = atan2(0,i);};
print( ($@ or not abs($res)  $eps ) ?  'not ok' : 'ok' );

diff -u follows:

-
--- Complex.pm  2005-04-01 11:43:02.0 +0200
+++ C:/perl/perl58/lib/Math/Complex.pm  2005-08-04 16:45:13.890625000 +0200
@@ -1281,7 +1281,13 @@
return CORE::atan2($re1, $re2) if $im1 == 0;
return ($im1=0) * pip2 if $re2 == 0;
}
-   my $w = atan($z1/$z2);
+   my $w;
+if ($inverted) {
+$w = atan($z2/$z1);
+}
+else {
+$w = atan($z1/$z2);
+}
my ($u, $v) = ref $w ? @{$w-cartesian} : ($w, 0);
$u += pi   if $re2  0;
$u -= pit2 if $u  pi;
-

Steffen Mueller
-
---
Flags:
category=core
severity=medium
---
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, 

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

2005-09-09 Thread Paul Marquess
Are you saying that the 4 byte string “euro”(ASCII hex 65 75 72 6F) is being
stored as '/Ä,' (hex 2F C4 3E 2C) ?

Can you post the verbose output from running the lib/DBM_Filter/t/encode.t
test harness please?

Not sure how different EBDCIC platforms are from Unix-land, but this is how
you would run it on a Linux/Unix box.

  $ cd t
  $ ./TEST -v ../lib/DBM_Filter/t/encode.t

Paul

 -Original Message-
 From: Sastry [mailto:[EMAIL PROTECTED]
 Sent: 08 September 2005 14:15
 To: Dan Kogai
 Cc: Perl Porters 5
 Subject: Re: Encode on EBCDIC patch( Doesn't Work)
 
 Hi Dan
 The patch you had provided calls
 $_ebcdic_coder-decode($str);
 and subsequenly calls my $octets = $enc-encode($string,$check);
  Do you think it is how it is supposed to call on EBCDIC platform? Seems
 like this is a work around
 But there is another test case(lib/DBM_Filter/t/encode.t) in the test
 suite
 that fails because of this encoding module
 Here is the snippet of that test case
  eval { $db1-Filter_Push('encode' = 'iso-8859-16') };
 is $@, '', push an 'encode' filter (specify iso-8859-16) ;
 use charnames qw{:full};
 StoreData(\%h1,
 {
 'euro' = \N{EURO SIGN},
 });
 
 VerifyData(\%h2,
 {
 'euro' = \xA4,
 
 });
 The 'euro' gets stored as /Ä,
 instead of the 'euro' itself.
 Please check if there is a work round for this too or any pointers in the
 source code where there could be a fix for it!
  -Sastry
 
 
  On 8/24/05, Dan Kogai [EMAIL PROTECTED] wrote:
 
  Sastry and EBCDIC porters,
 
  On Aug 24, 2005, at 21:30 , Dan Kogai wrote:
   + sub _utf8_ebcdic($){
   + my $str = shift; # UTF-8
   + $str = # UTF-EBCDIC
   + $_ebcdic_coder-encode($str);
   + _utf8_on($str); # Dirty Trick
   + return $str;
 
  I'm not sure if this part works as advertised. The yet another patch
  below tries the different approach.
  The problem is that I know so little of UTF-EBCDIC and its
  implementation. I feel like building a ship in the bottle in the
  dark
 
  Dan the Encode Maintainer
 
  ===
  RCS file: Encode.pm http://Encode.pm,v
  retrieving revision 2.11
  diff -u -r2.11 Encode.pm http://Encode.pm
  --- Encode.pm http://Encode.pm 2005/08/05 10:58:25 2.11
  +++ Encode.pm http://Encode.pm 2005/08/24 12:49:18
  @@ -136,6 +136,27 @@
  return Storable::dclone($obj);
  }
  +sub _ebcdic_utf8($);
  +sub _utf8_ebcdic($);
  +
  +if ($ON_EBCDIC){
  + my %WHICH_EBCDIC = ( 176 = 'cp37', 95 = 'cp1047', 106 =
  'posix-bc' );
  + my $_ebcdic_coder = find_encoding($WHICH_EBCDIC{ord ^});
  + sub _ebcdic_utf8($){
  + my $str = shift; # UTF-EBCDIC
  + _utf8_off($str); # Dirty Trick
  + return # UTF-8
  + $_ebcdic_coder-decode($str);
  + }
  + sub _utf8_ebcdic($){
  + my $str = shift; # UTF-8
  + $str = # EBCDIC
  + $_ebcdic_coder-encode($str);
  + return # UTF-EBCDIC;
  + find_encoding(Unicode)-decode($str);
  + }
  +}
  +
  sub encode($$;$)
  {
  my ($name, $string, $check) = @_;
  @@ -147,8 +168,12 @@
  require Carp;
  Carp::croak(Unknown encoding '$name');
  }
  + $string = _ebcdic_utf8($string) if $ON_EBCDIC;
  my $octets = $enc-encode($string,$check);
  - $_[1] = $string if $check and !($check  LEAVE_SRC());
  + if ($check and !($check  LEAVE_SRC()) ){
  + $string = _utf8_ebcdic($string);
  + $_[1] = $string;
  + }
  return $octets;
  }
  @@ -164,6 +189,7 @@
  Carp::croak(Unknown encoding '$name');
  }
  my $string = $enc-decode($octets,$check);
  + $string = _utf8_ebcdic($string) if $ON_EBCDIC;
  $_[1] = $octets if $check and !($check  LEAVE_SRC());
  return $string;
  }
 
 



___
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com



__DATA__ and fcntl flags

2005-09-09 Thread Rafael Garcia-Suarez
In toke.c, in the part of code that sets the file descriptor for __DATA__,
there is this chunk of code :

#if defined(HAS_FCNTL)  defined(F_SETFD)
{
const int fd = PerlIO_fileno(PL_rsfp);
fcntl(fd,F_SETFD,fd = 3);
}
#endif

The 3rd argument to fcntl() puzzles me.
It's supposed to be a sum of flags, not a boolean value. Thus it
doesn't look portable at all.

On Linux and BSD it looks like this code tries to set O_WRONLY on
the __DATA__ filehandle, which is obviously wrong (and won't
succeed anyway.) My fcntl(2) manpage says :
On Linux this command can only change the  O_APPEND,  O_ASYNC,
O_DIRECT, O_NOATIME, and O_NONBLOCK flags.

What's the sensible thing to do ?


Re: __DATA__ and fcntl flags

2005-09-09 Thread Rafael Garcia-Suarez
I wrote:
 
 What's the sensible thing to do ?

Ooh, Spider Boardman points to me that I misread F_SETFD as F_SETFL.
I blame a friday afternoon and a hard week...


FW: [PATCH] Cwd::abs_path dies on win32 when used against non-exi stant file. This breaks Devel::Cover.

2005-09-09 Thread Orton, Yves
Title: FW: [PATCH] Cwd::abs_path dies on win32 when used against non-existant file. This breaks Devel::Cover.





Not sure if this is the right thing to do, but I just sent this off about an error in Cwd on Win32.


Yves



-Original Message-
From: Orton, Yves 
Sent: Friday, September 09, 2005 6:51 PM
To: 'Ken Williams'
Cc: 'Paul Johnson'
Subject: [PATCH] Cwd::abs_path dies on win32 when used against non-existant file. This breaks Devel::Cover.



Hi Ken,


Cwd::abs_path uses its own logic to simulate the behaviour of the Win32 built in API call Win32::GetFullPathName().


By using its own logic it breaks compatibility between code using it on different OSes as on *nix it will be happy with a non-existant file and on Win32 it will die in the same situation. (It would be nice if Cwd used 'confess' and not 'carp' as the later hides the true source of the error: it took me a while to realize that Cwd was at fault and not the 'cover' script from the Devel::Cover distro.)

By switching to using the built in API call the bug goes away. A similar patch should probably be applied in File::Spec. 

Anyway, the attached patch fixes the error.


Cheers,
Yves







fix_abs_path_on_win32.patch
Description: Binary data


DBM_Filter with encode() on EBCDIC fails

2005-09-09 Thread Sastry
Hi
 I am using perl-5.8.6 on EBCDIC platform and I encounter a test 
case(lib/DBM_Filter/t/encode.t) failing
 The VerifyData sub routine expects the key as 'euro' where as on EBCDIC, I 
get the key as '/Ä,'
can you explain me why this is happening?
 

use strict;
use warnings;
use Carp;
BEGIN 
{

eval { require Encode; };
if ($@) {
print 1..0 # Skip: Encode is not available\n;
exit 0;
}
}


require dbm_filter_util.pl;
# use charnames qw{greek};
use Test::More tests = 26;

BEGIN { use_ok('DBM_Filter') };
BEGIN { use_ok('SDBM_File') };
BEGIN { use_ok('Fcntl') };

unlink Op_dbmx*;
END { unlink Op_dbmx*; }

my %h1 = () ;
my $db1 = tie(%h1, 'SDBM_File','Op_dbmx', O_RDWR|O_CREAT, 0640) ;

eval { $db1-Filter_Push('encode' = 'iso-8859-16') };
is $@, '', push an 'encode' filter (specify iso-8859-16) ;
use charnames qw{:full};
StoreData(\%h1,
{ 
'euro' = \N{EURO SIGN}, 
});


undef $db1;
{
use warnings FATAL = 'untie';
eval { untie %h1 };
is $@, '', untie without inner references ;
}

# read the dbm file without the filter
my %h2 = () ;
my $db2 = tie(%h2, 'SDBM_File','Op_dbmx', O_RDWR|O_CREAT, 0640) ;

ok $db2, tied to SDBM_File;

VerifyData(\%h2,
{
'euro' = \xA4, 
});

undef $db2;
{
use warnings FATAL = 'untie';
eval { untie %h2 };
is $@, '', untie without inner references ;
}


Re: exempli gratia is e.g., eg., or eg--or free samples :-)

2005-09-09 Thread Tom Christiansen
David Landgren wrote on Wed, 07 Sep 2005 18:13:22 +0200
in [EMAIL PROTECTED]:

Following on from Steve Peters' id est is i.e. peeve:

One ponders just how many peters one might (not) be discussing here? :-)

(Hint: an apostrophe is *never* pronounced as anything whatsoever.  How can
an entire generation have forgetten this?  See SW Rule #1.)

   http://www.mail-archive.com/perl5-porters@perl.org/msg89902.html

FYI, Mr Peters's complaint there reads:

 Sorry, but this is a pet peeve.  The proper abbreviation for
 id est is i.e., not ie. or ie.  ARRRAGAGAFASD!

 Sorry, I feel better now.  Attached is a patch to fix the included
 pod files.

I was struck by one of my own: exempli gratia being abbreviated to eg or
eg., rather than e.g.

The obscure marketeering pun of pronouncing e.g. as free sample(s) to
attract the instinctive penny pinchers notwithstanding, I was taught that
one pronounces i.e. as that is, e.g. as for example.  The truly
perplexing phenomenon--those not living in glass houses might even venture
to call it risible--is when people in extemporaneous speech pronounce these
abbreviations aloud and letter by letter, saying ee gee, or aye ee.
And I'm not talking about saying etcee in /etc/passwd.  It's really
rather peculiar, don't you think?

I am hardly wishing to attempt to justify the use of Beg and ie.  I use
them, but this is more out of reflexive habit than conscious decision, for
I believe Mark to be more right than otherwise about their dubious
appropriateness in non-Latin documents.  Hysterical porpoises needn't
always be appeased, merely recognized.

However, I *would* like to dispel(l) an apparent confusion regarding what
punctuation--if any--must, may, can, and perhaps even should accompany
these abbreviations.  Vide infra^W^WSee below.

+---+
| The bottom line is that standards vary, and orthographic(al)  |
| correctness becomes no more than an exercise in accepting and |
| adhering to some particular standard. |
+---+

All plumbed sources concurred that commas must follow these abbreviations,
but what dots you should throw in depend on whom you cite.  From heavy to
light, three such standards are:

(1) O'Reilly requires the heavy-handed double-dotted versions, i.e.
and e.g., which to my mind are more trouble than they're worth.
This one appears to be the treatment favored by American publishers.

(2) Some authorities prefer single-dotted versions, ie. and eg.,
which do seem more cohesive to my eye.

(3) Still others use no dots at all.  Here I cite from the style
guide currently used by _The_Economist_ magazine (but which they
themselves yet call a newspaper):

Use lower case for Bkg, Bkm, Blb (never Blbs), Bmph and
other measures, and for Bie, Beg, which should both be followed
by commas.  When used with figures, these lower-case abbreviations
should follow immediately, with no space (B11am, B4.30pm,
B15kg, B35mm, B100mph, B78rpm), as should BAD and BBC
(B76AD, B55BC), though they should be set in small capitals.
Two abbreviations together, however, must be separated: B60m b/d.

http://www.economist.com/research/styleGuide/index.cfm?page=673905

While I have personally come to prefer the tidier versions over those
mandated by O'Reilly, I've certainly not always been of that bent, so
historical writings may reflect not foolish inconsistency so much as
different stages in the development of my current and as always
unabashedly idiosyncratic preferences of personally proper punctuation.

--tom

A foolish consistency is the hobgoblin of little minds,
adored by little statesmen and philosophers and divines.
With consistency a great soul has simply nothing to do.
--Ralph Waldo Emerson


[perl #35427] reset coredumps pre 5.8.0

2005-09-09 Thread Steve Peters via RT
 [nicholas - Thu May 12 14:52:46 2005]:
 
 This is a bug report for perl from [EMAIL PROTECTED],
 generated with the help of perlbug 1.35 running under perl v5.6.2.
 
 
 -
 [Please enter your report here]
 
 /Users/nick/Reference/5.6.2-g/bin/perl5.6.2-32 -MData::Dumper -e
'package Data::Dumper; reset'
 Bus error
 
 (gdb) where
 #0  0x0005a1d8 in Perl_sv_reset (s=0x129570 , stash=0x806fe0) at
sv.c:5063
 #1  0x000ad534 in Perl_pp_reset () at pp_ctl.c:1631
 #2  0x000dd590 in Perl_runops_debug () at run.c:53
 #3  0x0002114c in S_run_body (oldscope=1) at perl.c:1471
 #4  0x00020a74 in perl_run (my_perl=0x300140) at perl.c:1393
 #5  0x1c5c in main (argc=4, argv=0xb6c4, env=0xb6d8) at
perlmain.c:52
 
 Line 5063 is the middle line of:
 
 if (!*s) {/* reset ?? searches */
   for (pm = HvPMROOT(stash); pm; pm = pm-op_pmnext) {
   pm-op_pmdynflags = ~PMdf_USED;
   }
   return;
 }
 
 I'm not convinced that gdb has the correct value of pm. It seems to
have
 pm for the second iteration:
 
 (gdb) p pm
 $7 = (PMOP *) 0xa7f2c
 (gdb) p stash-sv_any-xhv_pmroot
 $8 = (PMOP *) 0x336470
 (gdb) p stash-sv_any-xhv_pmroot-op_pmnext
 $9 = (PMOP *) 0xa7f2c
 
 However, the cause of the bus error is clear:
 
 (gdb) p *pm-op_pmnext
 $10 = {
   op_next = 0x7f9a,
   op_sibling = 0x40be0014,
   op_ppaddr = 0x3c9f0ffe,
   op_targ = 945815552,
   op_type = 14468,
   op_seq = 18156,
   op_flags = 72 'H',
   op_private = 5 '\005',
   op_first = 0x3c000800,
   op_last = 0x6100,
   op_pmreplroot = 0x7f9a,
   op_pmreplstart = 0x40be005c,
   op_pmnext = 0x7f83e378,
   op_pmregexp = 0x4bff34ad,
   op_pmflags = 31869,
   op_pmpermflags = 7032,
   op_pmdynflags = 127 '\177'
 }
 
 (gdb) p *pm-op_pmnext-op_pmnext
 Cannot access memory at address 0x7f83e378
 
 And my question, which I fear will be Warnocked - do we know what
change
 caused this bug to be fixed by 5.8.0?
 Or can anyone reproduce it in 5.8.0 or later?
 
 Nicholas Clark
 

It is working fine in 5.5-maint.

[EMAIL PROTECTED]:~/perl-5.5.x$ ./perl -Ilib -MData::Dumper -e 'package
Data::Dumper; reset'
[EMAIL PROTECTED]:~/perl-5.5.x$



Smoke [5.9.3] 25366 FAIL(F) MSWin32 WinXP/.Net SP2 (x86/2 cpu)

2005-09-09 Thread Steve Hay
Automated smoke report for 5.9.3 patch 25366
Mugwump.uk.radan.com:  Intel(R) Pentium(R) 4 CPU 3.40GHz(~3391 MHz) (x86/2 cpu)
onMSWin32 - WinXP/.Net SP2
using bcc32 version 5.5.1
smoketime 11 hours 7 minutes (average 16 minutes 41 seconds)

Summary: FAIL(F)

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:   - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

   25366 Configuration (common) -DCCTYPE=BORLAND 
-DINST_TOP=$(INST_DRV)\Smoke\doesntexist
--- -
F F 
O O -Dusemymalloc
F F -Duselargefiles
O O -Duselargefiles -Dusemymalloc
F F -Duseithreads -Uuseimpsys
O O -Duseithreads -Uuseimpsys -Dusemymalloc
F F -Duseithreads -Uuseimpsys -Duselargefiles
O O -Duseithreads -Uuseimpsys -Duselargefiles -Dusemymalloc
O O -Duseithreads
O O -Duseithreads -Duselargefiles
F F -Accflags='-DPERL_COPY_ON_WRITE'
O O -Accflags='-DPERL_COPY_ON_WRITE' -Dusemymalloc
F F -Accflags='-DPERL_COPY_ON_WRITE' -Duselargefiles
O O -Accflags='-DPERL_COPY_ON_WRITE' -Duselargefiles -Dusemymalloc
F F -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys
O O -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys 
-Dusemymalloc
F F -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys 
-Duselargefiles
O O -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys 
-Duselargefiles -Dusemymalloc
O O -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads
O O -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Duselargefiles
| +- -DDEBUGGING
+--- no debugging

Locally applied patches:
DEVEL24148

Failures: (common-args) -DCCTYPE=BORLAND 
-DINST_TOP=$(INST_DRV)\Smoke\doesntexist
[default] 
[default] -DDEBUGGING
[default] -Duselargefiles
[default] -DDEBUGGING -Duselargefiles
[default] -Duseithreads -Uuseimpsys
[default] -DDEBUGGING -Duseithreads -Uuseimpsys
[default] -Duseithreads -Uuseimpsys -Duselargefiles
[default] -DDEBUGGING -Duseithreads -Uuseimpsys -Duselargefiles
[default] -Accflags='-DPERL_COPY_ON_WRITE'
[default] -DDEBUGGING -Accflags='-DPERL_COPY_ON_WRITE'
[default] -Accflags='-DPERL_COPY_ON_WRITE' -Duselargefiles
[default] -DDEBUGGING -Accflags='-DPERL_COPY_ON_WRITE' -Duselargefiles
[default] -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys
[default] -DDEBUGGING -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys
[default] -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads -Uuseimpsys 
-Duselargefiles
[default] -DDEBUGGING -Accflags='-DPERL_COPY_ON_WRITE' -Duseithreads 
-Uuseimpsys -Duselargefiles
../lib/locale.t.FAILED 99-103

Compiler messages(bcc32):
Warning W8019 ..\op.c 4618: Code has no effect in function Perl_newCONSTSUB
Warning W8075 win32.c 1248: Suspicious pointer conversion in function win32_stat
Warning W8004 fcrypt.c 348: 'in' is assigned a value that is never used in 
function des_set_key
Warning W8004 fcrypt.c 505: 'b' is assigned a value that is never used in 
function des_fcrypt
Warning W8075 .\win32.c 1248: Suspicious pointer conversion in function 
win32_stat
Warning W8055 .\win32io.c 259: Possible overflow in shift operation in function 
PerlIOWin32_seek
Warning W8055 .\win32io.c 280: Possible overflow in shift operation in function 
PerlIOWin32_tell
Warning W8004 .\fcrypt.c 348: 'in' is assigned a value that is never used in 
function des_set_key
Warning W8004 .\fcrypt.c 505: 'b' is assigned a value that is never used in 
function des_fcrypt
Warning W8019 byterun.c 1072: Code has no effect in function byterun
Warning W8008 crc32.c 232: Condition is always true in function crc32
Warning W8066 crc32.c 242: Unreachable code in function crc32
Warning W8004 deflate.c 352: 'hash_head' is assigned a value that is never used 
in function deflateSetDictionary
Warning W8008 deflate.c 1278: Condition is always false in function fill_window
Warning W8066 deflate.c 1279: Unreachable code in function fill_window
Warning W8004 deflate.c 1669: 'bflush' is assigned a value that is never used 
in function deflate_slow
Warning W8019 Dumper.xs 573: Code has no effect in function DD_dump
Warning W8019 Opcode.xs 274: Code has no effect in function 
XS_Opcode__safe_pkg_prep
Warning W8019 SDBM_File.c 129: Code has no effect in function XS_SDBM_File_FETCH
Warning W8019 SDBM_File.c 136: Code has no effect in function XS_SDBM_File_FETCH
Warning W8019 SDBM_File.c 164: Code has no effect in function XS_SDBM_File_STORE
Warning W8019 SDBM_File.c 168: Code has no effect in function XS_SDBM_File_STORE
Warning W8019 SDBM_File.c 220: Code has no effect in function 
XS_SDBM_File_DELETE
Warning W8019 SDBM_File.c 251: Code has no effect in function 
XS_SDBM_File_EXISTS