Re: [PHP-DEV] [RFC] Fix list() behavior inconsistency

2014-09-17 Thread Derick Rethans
On Thu, 11 Sep 2014, Dmitry Stogov wrote:

 Please take a look and make your opinion.
 
 https://wiki.php.net/rfc/fix_list_behavior_inconsistency
 
 This inconsistency might be interpreted like a bug, but fixing it might
 break existing PHP code (at least my attempt to fix it in documented way
 broke few phpt tests).

But at least your option Enable string handling in all cases makes 
additional things work, instead of making things *no longer* work.

I realize that:
list($a,$b) = aa;var_dump($a,$b);
Will now start returning something else than NULL, but I would almost 
consider that a bug. I would definitely elect to vote for Enable string 
handling in all cases as it IMO actually fixes something.

cheers,
Derick

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] [RFC] Fix list() behavior inconsistency

2014-09-17 Thread Dmitry Stogov
Both decisions make sense. I'm indifferent which one to make.
Just not to keep the undocumented inconsistency :)

Thanks. Dmitry,

On Wed, Sep 17, 2014 at 3:00 PM, Derick Rethans der...@php.net wrote:

 On Thu, 11 Sep 2014, Dmitry Stogov wrote:

  Please take a look and make your opinion.
 
  https://wiki.php.net/rfc/fix_list_behavior_inconsistency
 
  This inconsistency might be interpreted like a bug, but fixing it might
  break existing PHP code (at least my attempt to fix it in documented way
  broke few phpt tests).

 But at least your option Enable string handling in all cases makes
 additional things work, instead of making things *no longer* work.

 I realize that:
 list($a,$b) = aa;var_dump($a,$b);
 Will now start returning something else than NULL, but I would almost
 consider that a bug. I would definitely elect to vote for Enable string
 handling in all cases as it IMO actually fixes something.

 cheers,
 Derick



Re: [PHP-DEV] [RFC] Fix list() behavior inconsistency

2014-09-14 Thread Stas Malyshev
Hi!

 Please take a look and make your opinion.
 
 https://wiki.php.net/rfc/fix_list_behavior_inconsistency
 
 This inconsistency might be interpreted like a bug, but fixing it might
 break existing PHP code (at least my attempt to fix it in documented way
 broke few phpt tests).

I think it makes sense to make list($a, $b, ...) = something to mean:
$a = something[0]
$b = something[1]
...etc...

This is how it works in most cases, not sure why it doesn't work when
something is a string literal, but I think it should work the same too.
-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] [RFC] Fix list() behavior inconsistency

2014-09-14 Thread Lester Caine
On 14/09/14 07:48, Stas Malyshev wrote:
 Please take a look and make your opinion.
  
  https://wiki.php.net/rfc/fix_list_behavior_inconsistency
  
  This inconsistency might be interpreted like a bug, but fixing it might
  break existing PHP code (at least my attempt to fix it in documented way
  broke few phpt tests).
 I think it makes sense to make list($a, $b, ...) = something to mean:
 $a = something[0]
 $b = something[1]
 ...etc...
 
 This is how it works in most cases, not sure why it doesn't work when
 something is a string literal, but I think it should work the same too.

Isn't this just a side affect of making a simple string also look like
an array? One has to assume first that what is returned is a simple byte
string array while currently is IS possible that it will contain unicode
characters? So should it not be looked at n the context of the whole
PHP7 discussion rather than trying to fix more edge cases in isolation?

-- 
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] [RFC] Fix list() behavior inconsistency

2014-09-14 Thread Rowan Collins

On 14/09/2014 08:54, Lester Caine wrote:

One has to assume first that what is returned is a simple byte
string array while currently is IS possible that it will contain unicode
characters?


Well, currently, every single string function in PHP treats a string as 
a simple byte array, apart from those in the mbstring and intl extensions.


What's more, there isn't really a single meaning of the term Unicode 
character - at its simplest, there are code points, but they're not 
necessarily the most useful unit; as I mentioned before [1], people 
often actually want to work with grapheme clusters, what a writer of 
the language would consider a single character.


If more integrated Unicode support is ever added, it will presumably be 
in the form of a new data type; if that type implements $foo[0] to mean 
first grapheme cluster, then it would be natural for list($a,) = $foo 
to do the same. But there is no reason for that to stop list($a,) = $foo 
being equivalent to $foo[0] for existing strings, and mean first byte.


[1] http://news.php.net/php.internals/72914

--
Rowan Collins
[IMSoP]


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] [RFC] Fix list() behavior inconsistency

2014-09-11 Thread Dmitry Stogov
Hi,

Please take a look and make your opinion.

https://wiki.php.net/rfc/fix_list_behavior_inconsistency

This inconsistency might be interpreted like a bug, but fixing it might
break existing PHP code (at least my attempt to fix it in documented way
broke few phpt tests).

Thanks. Dmitry.