develooper Front page | perl.perl5.porters | Postings from June 2008

Re: Change 34005: Re: CPAN Upload: S/SA/SAPER/Sys-Syslog-0.25.tar.gz

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
June 8, 2008 14:55
Subject:
Re: Change 34005: Re: CPAN Upload: S/SA/SAPER/Sys-Syslog-0.25.tar.gz
Message ID:
20080608215537.GF93242@plum.flirble.org
On Sun, Jun 08, 2008 at 02:55:21AM +0200, Sbastien Aperghis-Tramoni wrote:

> More precisely, it comes from ProxySubs, a feature you implemented in  
> December 2005, and pushed into several modules, including Sys::Syslog  
> (protected with a version check), in changes 26455, 26463-5, 26472,  
> 26475, 26488, 26490-1, 26495-6, 26502-3, 26506-7.
>   ยป http://public.activestate.com/cgi-bin/perlbrowse/l/lib/ExtUtils/ 
> Constant/ProxySubs.pm
> 
> I note that its usage in WriteConstants() can be simplified by  
> removing the version check, given passing PROXYSUBS => 1 in older  
> ExtUtils::Constant produces no warning or error.

Right, but does it change the prototype of the generated subroutines of the
constants, from no prototype to ""? (I forget precise behaviour of the
implementation offhand, and I'm not certain what change you're suggesting)

Specifically, changing them by adding a prototype as an upgrade (so within
the 5.8.x series) isn't a good idea, as it actually can change (or break)
existing code. (eg, changing POSIX so that its constants had the prototype ""
caused Tie::File to stop compiling. This was actually due to a small bug in
it, but the change in prototypes made this manifest as a compile fail.

Most people don't write code that eval ""s without checking if it compiles.
But not everyone. And some of *them* are daft enough to deploy upgrades live
without sufficient testing.

Paranoid? Me? :-)

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About