Commit:    b187c35f236edd7370d63f02c26d5272997830ee
Author:    Stanislav Malyshev <s...@php.net>         Thu, 24 May 2012 14:17:07 
-0500
Parents:   3bd0a52468b6776d87ac8a41c6a9be5101db2752 
ec061a93c53c8cde10237741e98e992c1a05d148
Branches:  master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=b187c35f236edd7370d63f02c26d5272997830ee

Log:
Merge branch 'pull-request/54'

* pull-request/54:
  Allow arbitrary expressions for empty()

    This change is as per RFC https://wiki.php.net/rfc/empty_isset_exprs.

    The change allows passing the result of function calls and other
    expressions to the empty() language construct. This is accomplished by
    simply rewriting empty(expr) to !expr.

    The change does not affect the suppression of errors when using empty()
    on variables. empty($undefinedVar) will continue not to throw errors.
    When an expression is used inside empty() on the other hand, errors will
    not be suppressed. Thus empty($undefinedVar + $somethingElse) *will*
    throw a notice.

    The change also does not make empty() into a real function, so using
    'empty' as a callback is still not possible.

    In addition to the empty() changes the commit adds nicer error messages
    when isset() is used on function call results or other expressions.

Changed paths:
  MM  UPGRADING
  MM  Zend/zend_compile.c


Diff:
diff --cc UPGRADING
index 44f7556,0fae614..73cf106
--- a/UPGRADING
+++ b/UPGRADING
@@@ -51,15 -54,7 +54,15 @@@ PHP X.Y UPGRADE NOTE
    - Implemented format character "Z": NUL-padded string
    - "a" now does not remove trailing NUL characters on unpack() anymore
    - "A" will now strip all trailing ASCII whitespace on unpack() (it used to
-     remove only trailing spaces.
 -    remove only trailing spaces)
++    remove only trailing spaces).
 +- MessageFormatter::format() and related functions now accepted named 
arguments
 +  and mixed numeric/named arguments in ICU 4.8+.
 +- MessageFormatter::format() and related functions now don't error out when
 +  an insufficient argument count is provided. Instead, the placeholders will
 +  remain unsubstituted.
 +- MessageFormatter::parse() and MessageFormat::format() (and their static
 +  equivalents) now don't throw away better than second precision in the
 +  arguments.
  
  ========================================
  5. New Functions


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to