php-master-changes 2019-02-19

今日は FFI のバグ修正、typo の修正、tidy のメソッドの arginfo 修正、ファイルの体裁整理、pcntl_unshare() の実装、ドキュメントの更新、PHP Testfest 2017 で追加されたテストの取り込み、libedit 3.1 以上と mingweditline での readline_list_history() サポート、readline 拡張ビルド時の libedit 指定の pkg-config への移行、外部の libpcre2 利用時のビルド修正、コンパイラフラグ ZEND_COMPILE_EXTENDED_INFO の ZEND_COMPILE_EXTENDED_FCALL と ZEND_COMPILE_EXTENDED_STMT への分割、get_declared_classes() がインスタンス化されていない無名クラスを結果に含まないようにする修正、7.2 系 / 7.3 系の開発バージョンの引き上げ、Preloading 中の Fatal で処理系を止めるようにする修正、Preloading 時の最適化でストリームラッパーの include/require を潰さないようにする修正、テストの並列実行対応を改善する修正があった！

# 2019-02-19
## dstogov: Fixed bug [#77632](https://bugs.php.net/bug.php?id=77632) (FFI Segfaults When Called With Variadics)
- https://github.com/php/php-src/commit/5661feb1ef929111ef7765672fcb49813eee86fc
- [7.4~]
- ext/ffi で、可変引数利用時に SEGV を起こす問題の修正

## TysonAndre: Fix a typo in the error messages for FFI [skip ci]
- https://github.com/php/php-src/commit/cb4c74dfe315205662fee8ad269706ae8eacce4b
- ext/ffi で、エラーメッセージの typo を修正
- [7.4~]

## TysonAndre: Fix typos in code comments [skip ci]
- https://github.com/php/php-src/commit/9249d82019c162c42d2ce8e911e19fd3cc5a726a
- [7.4~]
- コメント内の typo を修正

## TysonAndre: Fix arginfo for tidy's global functions
- https://github.com/php/php-src/commit/8588a45851f32dea8529aa3045455d6cfa8f5a60
- [7.4~]
- ext/tidy で、誤った arginfo を修正

## TysonAndre: Fix typos in code comments in Zend/ [skip ci]
- https://github.com/php/php-src/commit/da3316ff0f03f5fccb3a343d31f8cc915da7fa5d
- [7.4~]
- /Zend 下のコメントの typo を修正

## petk: Sync header and footer with the rest of the files
- https://github.com/php/php-src/commit/3068a32cd04ba09fe87dc59bda701b9c542a6b2a
- [7.4~]
- win32/signal.c のヘッダとフッタを他ファイルに合わせた

## pmmaga: Implement pcntl_unshare
- https://github.com/php/php-src/commit/bc54e59a3a8bd72ceadb82cf32f2068e38accebf
- [7.4~]
- ext/pcntl で、pcntl_unshare() の実装
- [unshare(2)](https://linuxjm.osdn.jp/html/LDP_man-pages/man2/unshare.2.html) のラッパーかな

## hikari-no-yume: run-tests.php: fix typo
- https://github.com/php/php-src/commit/5ee81e0b9d4cf4419b1e772c1c05d3dcd8656ff2
- [7.4~]
- run-tests.php で、typo? の修正

## pmmaga: UPGRADING entry for pcntl_unshare [skip ci]
- https://github.com/php/php-src/commit/40278879fdd537463b069f7af71a5d708146505d
- [7.4~]
- UPGRADING へ、pcntl_unshare() の追加を追記

## AMcNeice: added basic test for UConverter::getSourceEncoding()
- https://github.com/php/php-src/commit/6d9a4f11e6130bcd8b3f20ef56076cdb742d1cb2
- [7.4~]
- ext/intl で、[UConverter::getSourceEncoding()](http://php.net/manual/ja/uconverter.getsourceencoding.php) のテストを追加
- PHP Testfest 2017

## AMcNeice: added basic test for UConverter::getDestinationEncoding()
- https://github.com/php/php-src/commit/d194ceb0c251ae99af3b9137fcb9bed7eed8ac57
- [7.4~]
- ext/intl で、[UConverter::getDestinationEncoding()](http://php.net/manual/ja/uconverter.getdestinationencoding.php) のテストを追加
- PHP Testfest 2017

## AMcNeice: added basic test for UConverter::setSourceEncoding()
- https://github.com/php/php-src/commit/5bbf0c698fff2002efe370af78def3a8584cfa08
- [7.4~]
- ext/intl で、[UConverter::setSourceEncoding()](http://php.net/manual/ja/uconverter.setsourceencoding.php) のテストを追加
- PHP Testfest 2017

## BlackIkeEagle: gd imageloadfont, verify error while reading header
- https://github.com/php/php-src/commit/a8336fb7b91a085661acad844854b89230214acb
- [7.4~]
- ext/gd で、[imageloadfont()](http://php.net/manual/ja/function.imageloadfont.php) のテストを修正
- PHP Testfest 2017
- [これ](https://github.com/phpcommunity/phptestfest-php-src/pull/142)の流れかな

## remicollet: add readline_list_history with libedit >= 3.1 and mingweditline
- https://github.com/php/php-src/commit/2850e09cbc389c0496cd24afe64029c65ebb7ca4
- [7.4~]
- ext/readline で、libedit 3.1 以上と mingweditline でも [readline_list_history()](http://php.net/manual/ja/function.readline-list-history.php) を追加

## remicollet: use pkg-config for libedit
- https://github.com/php/php-src/commit/b537203d20d7c1c425aee44d00f1d53758ac8747
- [7.4~]
- ext/readline で、libedit 利用を pkg-config へ移行

## TysonAndre: Indicate that tidy's object methods expect 0 args
- https://github.com/php/php-src/commit/c7d339a9d04bdf8d417ff7ea3e81a8af801be269
- ext/tidy で、メソッドが引数をとらないよう arginfo の修正

## remicollet: fix build with external libpcre2
- https://github.com/php/php-src/commit/24433e9d25d410418713c479a675dc92e6a036ae
- ext/pcre で、外部の libpcre2 利用時のビルドを修正

## TysonAndre: Fix ffi test on Windows
- https://github.com/php/php-src/commit/cdfe11f80d5affd6d5386d84dff0d81323b60bc4
- [7.4~]
- ext/ffi で、Windows を考慮に入れずに libc を読もうとしていたテストの修正と libc を使わず zend_printf() を呼ぶ版のテストの追加
- そうかーそのへんの API は何も読まずに呼べるのかー、そうかー、みたいな気持ちになってる

## krakjoe: ZEND_COMPILE_EXTENDED_INFO split Currently a tool may not decide between debugging and profiling behaviour: We split ZEND_COMPILE_EXTENDED_INFO into ZEND_COMPILE_EXTENDED_FCALL and ZEND_COMPILE_EXTENDED_STMT We define ZEND_COMPILE_EXTENDED_INFO as ZEND_COMPILE_EXTENDED_STMT|ZEND_COMPILE_EXTENDED_FCALL
- https://github.com/php/php-src/commit/f8cd8eb7404e4605bf2f9f0471f7ff4784e5341e
- コンパイラのフラグ ZEND_COMPILE_EXTENDED_INFO を ZEND_COMPILE_EXTENDED_FCALL と ZEND_COMPILE_EXTENDED_STMT に分割

## TysonAndre: Fixed bug [#77631](https://bugs.php.net/bug.php?id=77631)
- https://github.com/php/php-src/commit/12ffee57d6adf38f8dd8b39ea7f7a5e4c462d358
- [7.4~]
- [get_declared_classes()](http://php.net/manual/ja/function.get-declared-classes.php) がインスタンス化されていない無名クラスを結果に含まないよう修正
- 7.3 以前までは含んでいたが、7.4 から [ReflectionClass::isSubClassOf()](http://php.net/manual/ja/reflectionclass.issubclassof.php) に食わせた際にクラッシュする問題が起きていた

## remicollet: bump version to 7.2.17-dev
- https://github.com/php/php-src/commit/b243f2feca66fe4d5f696dbe3d9453af272d5613
- [7.2~]
- 7.2 系の開発バージョンを 7.2.17 へ引き上げ

## cmb69: Prepare main branch for PHP 7.3.4
- https://github.com/php/php-src/commit/2ec59b3ef36b0873717f2ac758e27e43e9eca5ba
- [7.3~]
- 7.3 系の開発バージョンを 7.3.4 へ引き上げ

## dstogov: ws
- https://github.com/php/php-src/commit/eb03df813c303213ccd0eefa640cf63699be8138
- [7.4~]
- ext/opcache で、エラーメッセージの余分なスペースを除去

## dstogov: Stop PHP in case of fatal error during preloading
- https://github.com/php/php-src/commit/440cdf7837d7eb99dc292542672f8107b92ee1ec
- [7.4~]
- ext/opcache で、Preloading 中の Fatal で処理系を止めるよう修正

## dstogov: Don't try to eliminate requre/include with stream wrappers
- https://github.com/php/php-src/commit/1f2dc0492d5f1fc1b5a0a5368e90f6e9685bbaea
- [7.4~]
- ext/opcache で、ストリームラッパーのパスの include/require を潰さないよう修正
- Preloading の処理で、include するだけで実行されるのが他ファイルの include くらいな場合に、include する側の命令ごと（Preloading ですでにロードされていて不要なので）潰してしまう最適化のところかな

## dstogov: Filter preloading warning messages
- https://github.com/php/php-src/commit/bf51b081f55fe82e0a1fe4df5bb9f0efe4c495d0
- [7.4~]
- run-tests.php の Preloading モードで、警告メッセージをフィルタ

## dstogov: Better line handling
- https://github.com/php/php-src/commit/5cde3afda76814bfed00790ac1100b9a1384b978
- [7.4~]
- ↑の修正で行末の扱いを修正

## nikic: Make parallel run-tests compatible with IO capture tests
- https://github.com/php/php-src/commit/fa915614fe93a37415b4cd07515d97e39799c696
- run-tests の並列実行時に標準入出力を見るテストが動作するよう修正、かな

## nikic: Avoid port conflicts in ext/sockets tests
- https://github.com/php/php-src/commit/db894844e72d60047353a28b72e3e4fce68f80a9
- ext/sockets で、テストのポート衝突を回避するよう修正
- 並列実行対策かな

## nikic: Avoid file conflicts in XmlWriter tests
- https://github.com/php/php-src/commit/832b89d108cdb261ab582b57ae4fd0a9e052e608
- ext/xmlwriter のテストで、一時ファイルのファイル名衝突を回避するよう修正
- 並列実行対策かな

## nikic: Avoid file conflicts in mail tests
- https://github.com/php/php-src/commit/7207686fcf12abdf0299b57714ef4bb26b6489d0
- メールのテストで、一時ファイルのファイル名衝突を回避するよう修正
- 並列実行対策かな

## nikic: Remove spurious + before --CREDITS--
- https://github.com/php/php-src/commit/2f447dd61fb89cdc4a60dbd062542d2aa45a2de6
- [昨日追加した](https://qiita.com/sj-i/items/875c77d5acd13b58f7f1#miljar-test-the-warning-for-giving-full-path-to-dl)テストで不要な `+` があったのを削除

## nikic: Avoid port conflicts in stream socket tests
- https://github.com/php/php-src/commit/d9094d4d6455811c2bd9f23511ec0adbdb607b4f
- [7.4~]
- Stream Socket のテストで、ポート衝突を回避するよう修正
- 並列実行対策かな
- ついでに不要な `--CLEAN--` セクションも削除