今日は ReflectionClass の修正、run-tests.php のプレースホルダ追加、不要コードの削除、Windows でのテストこけの修正、list() の挙動の微修正、拡張を作る際の雛形 ext/skeleton で PKG_CHECK_MODULES を使うようにする修正、誤ったアサーションの修正があった!
2019-05-09
nikic: Use fast zpp for ReflectionClass constructor
- https://github.com/php/php-src/commit/e4e6820d103d82bece101597cdbca06f173cd64b
- [7.4~]
- ext/reflection で、ReflectionClass のコンストラクタに fast zpp を使うよう修正
cmb69: Add {TMP} placeholder for PHPT INI sections
- https://github.com/php/php-src/commit/3d0a0f801b6eb0ec7d4fdee119b339d2dab9771f
- [7.2~]
- run-tests.php で、PHPT の INI セクションで /tmp の直接指定でなく {TMP} の形でプレースホルダを使えるよう修正
petk: Remove vcsclean script
- https://github.com/php/php-src/commit/4eb67310a0b0f8daddf4edc1f8e41a3dae648953
- [7.4~]
- ビルドシステムで、vcsclean スクリプトの削除
- git clean でええやん、ということらしい
petk: Remove example PHP script from FFI
- https://github.com/php/php-src/commit/05350e621b7d14822719195096ced34e2da23dd6
- [7.4~]
- ext/ffi で、README にも含まれているサンプルスクリプトを削除
petk: Remove unused example/test fileinfo.php script
- https://github.com/php/php-src/commit/71acd7a2f7ec59fb3aea16939f33ed3fcc7189c4
- [7.4~]
- 不要なファイル ext/fileinfo/fileinfo.php の削除
petk: Remove redundant example/test libsodium.php file
- https://github.com/php/php-src/commit/99b94fbb5c4fa622f7a57b754e98399930f53bf7
- [7.4~]
- 不要なファイル ext/sodium/libsodium.php の削除
petk: Remove unused functions
- https://github.com/php/php-src/commit/3c92b79ea056543ad711a9ad3a042847dd0904a2
- [7.4~]
- 使われていない関数の削除
nikic: Fixed bug #77951
- https://github.com/php/php-src/commit/54be40113d77f41cbf5a5078a265279140511c52
- [7.4~]
- ext/reflection で、ReflectionReference が is_ref=1 で refcount=1 の zval について null を返すよう修正
cmb69: Fix log_verbosity_bug.phpt
- https://github.com/php/php-src/commit/e359812ce3b01f184601fde75e3963b550fc599d
- [7.2~]
- ext/opcache で、Windows でのテストこけの修正
nikic: Fixed bug #75186
- https://github.com/php/php-src/commit/35c80583f08c0af3d01715cb8feeca6d0f284545
- [7.2~]
- ext/reflection で、ReflectionClass::getMethods() を Closure に使うと __invoke() がとれないが ReflectionClass::hasMethod() ではとれて一貫性がない問題の修正
- getMethods() の方でとれるようになってる
nikic: Fixed bug #71030
- https://github.com/php/php-src/commit/d0a56f707f9b043d9af512524e9c486044cbf510
- [7.4~]
- list() の挙動を変更
- 元々
$a = [1, 2]; list($a, $b) = $a;
の挙動は特別扱いで$a === 1 and $b === 2
になる挙動だった - が、
$a = [1, 2]; $_a = "a"; list($$_a, $b) = $a;
や$a = [1, 2]; $c = &$a; list($c, $b) = $a;
だと$a === 1 and $b === null
となる挙動だった - いずれのコードも
$a === 1 and $b === 2
となるよう修正されている - 副作用として、以前は間違って実行されるケースがあった
byRef(list($x) = $y);
のようなコード(list() 代入の結果を参照渡しの引数とする)は一貫して許容されなくなっている
hughmcmaster: Update the extension template file to use PKG_CHECK_MODULES
- https://github.com/php/php-src/commit/0025a39b4521ef05105f989c42b25e0852484cc0
- [7.4~]
- 拡張を作る際の雛形 ext/skeleton で PKG_CHECK_MODULES を使うよう修正
cmb69: Fix erroneous assertions
- https://github.com/php/php-src/commit/27f168cf638183716d02ff1973856c8d5ef71273
- [7.2~]
- win32/codepage.c で、誤ったアサーションがあったのを修正