Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:60544 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 48041 invoked from network); 13 May 2012 14:43:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 May 2012 14:43:57 -0000 Authentication-Results: pb1.pair.com header.from=glopes@nebm.ist.utl.pt; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=glopes@nebm.ist.utl.pt; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain nebm.ist.utl.pt from 193.136.128.21 cause and error) X-PHP-List-Original-Sender: glopes@nebm.ist.utl.pt X-Host-Fingerprint: 193.136.128.21 smtp1.ist.utl.pt Linux 2.6 Received: from [193.136.128.21] ([193.136.128.21:58584] helo=smtp1.ist.utl.pt) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 82/63-16338-BA8CFAF4 for ; Sun, 13 May 2012 10:43:56 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp1.ist.utl.pt (Postfix) with ESMTP id 69DAF7000430; Sun, 13 May 2012 15:43:52 +0100 (WEST) X-Virus-Scanned: by amavisd-new-2.6.4 (20090625) (Debian) at ist.utl.pt Received: from smtp1.ist.utl.pt ([127.0.0.1]) by localhost (smtp1.ist.utl.pt [127.0.0.1]) (amavisd-new, port 10025) with LMTP id N5sxA4kyOyzA; Sun, 13 May 2012 15:43:52 +0100 (WEST) Received: from mail2.ist.utl.pt (mail.ist.utl.pt [IPv6:2001:690:2100:1::8]) by smtp1.ist.utl.pt (Postfix) with ESMTP id EB95D700042A; Sun, 13 May 2012 15:43:51 +0100 (WEST) Received: from damnation.mshome.net (damnation-air.nl.lo.geleia.net [IPv6:2001:470:94a2:4:7d06:1af1:ea64:2d52]) (Authenticated sender: ist155741) by mail2.ist.utl.pt (Postfix) with ESMTPSA id D76192007061; Sun, 13 May 2012 15:43:49 +0100 (WEST) Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes To: "Pierre Joye" , "Nikita Popov" Cc: internals@lists.php.net References: Date: Sun, 13 May 2012 16:43:43 +0200 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Organization: =?utf-8?Q?N=C3=BAcleo_de_Eng=2E_Biom=C3=A9di?= =?utf-8?Q?ca_do_I=2ES=2ET=2E?= Message-ID: In-Reply-To: User-Agent: Opera Mail/11.62 (Win32) Subject: Re: [PHP-DEV] Re: [VOTE] Vote change for empty() RFC From: glopes@nebm.ist.utl.pt ("Gustavo Lopes") On Sun, 13 May 2012 16:15:43 +0200, Nikita Popov wrote: > > I'm not sure I can follow. The vote has three options, of which two > are quite similar. I don't see how the 2/3 rule for votes with two > options can be applied here, in such a black&white fashion. The fact there are more than two options should not alleviate the majority requirement. Let's say everyone who voted for empty()/isset() would prefer none to empty() only. Should this vote now pass just because you added an extra options that dilutes the votes against the most voted option? For instance, debian requires a supermajority for certain proposals independently from the number of options (see e.g. http://www.debian.org/vote/2008/vote_003 ). > We had at least one precedent of a vote with three options, where the > option that was implemented in the end had only 59% of the votes. That > was the vote for the callable typehint [1]. The three options were: > > * Callable: 34 > * Callback: 18 > * Neither: 6 > > I think that vote was very similar to this one. Two of the options > were "in favor", but differed in the exact implementation, and the > last option was "against". The only difference is that in this case > one option actually has 65%, not 59%. This vote is an aberration and your description is disingenuous; some people that voted for callable also voted for callback, but your description suggests that the votes for callback should all count against callable. So someone that would vote for callable and callback would actually be casting a vote against whichever of those two options that would gather more votes. The following votes were cast: callback callable neither callable, callback callback, neither If there is anything that can be learned from here is that this lack of clarity should not be repeated. > Additionally I want to note that in this case there was a more general > Yes/No vote before the more precise one, which ended with 12:2 (86% in > favor). Irrelevant. That vote happened before the pertinent objections had been raised (for instance empty(UNDEFINED_CONSTANT)/isset(UNDEFINED_CONSTANT) now returning false/true). And in any case, that voting was superseded by the new one. -- Gustavo Lopes