On Mon, Oct 18, 2004 at 01:05:06PM -0400, Michael G Schwern <[EMAIL PROTECTED]> wrote:
> On Mon, Oct 18, 2004 at 04:43:12PM +0200, H.Merijn Brand wrote:
> > > Please consider 0.50 very soon, in which you fix 'err' calls that are an
> > > obvious mistake given defined-or functionality in blead and 5.8.x-dor:
> > 
> > That would be too easy to call. here's a patch ...
> 
> Thank you.  Patch provisionally rejected.  Here's why.
> 
> By adding a new keyword dor has broken backwards compatibility.  Test::More
> is doing nothing wrong by current standards.  main::err() is fully declared
> before its use.  There is no ambiguity.
> 
> Now with dor its suddenly a keyword and code breaks at no fault to the 
> programmer.  Its not just a warning, its a syntax error.  Upgrading from 5.8
> to 5.10 will break code.  This is a problem.  Its a problem every time we
> add a new keyword.

FWIW, "err" is a second-class keyword.  This means that an imported function
( or even *err = sub { ... } ) will take precedence over the keyword.

Does anyone know the history of other keywords that have been added?  Seems
like there haven't been any in a long while except for "lock", which *was*
done in a backward-compatible the way M. Schwern suggests for err, but IIRC
not in an extensible way that could easily be applied to other new keywords.

Reply via email to