Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:70627 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42319 invoked from network); 13 Dec 2013 16:50:06 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Dec 2013 16:50:06 -0000 Authentication-Results: pb1.pair.com header.from=ajf@ajf.me; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=ajf@ajf.me; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain ajf.me designates 198.187.29.233 as permitted sender) X-PHP-List-Original-Sender: ajf@ajf.me X-Host-Fingerprint: 198.187.29.233 imap1.ox.registrar-servers.com Received: from [198.187.29.233] ([198.187.29.233:58927] helo=imap1.ox.registrar-servers.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E6/F0-32587-CBA3BA25 for ; Fri, 13 Dec 2013 11:50:06 -0500 Received: from localhost (localhost [127.0.0.1]) by oxmail.registrar-servers.com (Postfix) with ESMTP id 972AE2000AA; Fri, 13 Dec 2013 11:50:02 -0500 (EST) X-Virus-Scanned: Debian amavisd-new at imap1.ox.registrar-servers.com Received: from oxmail.registrar-servers.com ([127.0.0.1]) by localhost (imap1.ox.registrar-servers.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id bJ29Z__JaU7o; Fri, 13 Dec 2013 11:50:02 -0500 (EST) Received: from [192.168.0.13] (unknown [94.13.99.191]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by oxmail.registrar-servers.com (Postfix) with ESMTPSA id 2F7722000A7; Fri, 13 Dec 2013 11:49:59 -0500 (EST) Message-ID: <52AB3AAE.60403@ajf.me> Date: Fri, 13 Dec 2013 16:49:50 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Ferenc Kovacs CC: PHP internals References: <52AA1649.2090601@ajf.me> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [PROPOSAL] Alphanumeric decrement From: ajf@ajf.me (Andrea Faulds) On 13/12/13 10:02, Ferenc Kovacs wrote: > > So changing the behavior in my opinion would be a BC break, and given > the nature of this feature, I think that there are no solution, which > would eliminate all the edge-cases and make the feature truly > consistant/symetric to the current incrementing and to our type > juggling, so I think we can't even call it a bugfix(and ship it in a > minor), when we change it from mostly-broken to slightly-broken. > It is technically a BC-break if something relies on being able to infinitely decrement alphanumerics and have the same result, but I doubt any code actually relies on it. I think this entirely consistent with incrementing at present, with the one exception of "a" decrementing to zero. Making "a" not decrement at all is a compromise I might consider. At risk of derailing the thread, I think the current "no BC breaks in minors" policy is somewhat misguided. The problem is that a lot of bugfix are technically a BC break (unless code is supposed to be consistent with how PHP's supposed to work and not how it actually works), and in practise you'll have to introduce some BC breaks when adding new features (for example, making certain constant names keywords would break existing code which used those names). Hence perhaps we should change the rules to say that certain BC breaks are allowed, but only in very limited and specific circumstances. -- Andrea Faulds http://ajf.me/