php-master-changes 今日だけやってみた

[ruby-trunk-changes](http://d.hatena.ne.jp/nagachika/searchdiary?word=%2A%5Bchanges%5D) という、約 8 年もの間 ruby の trunk を来る日も来る日もずっと追い続けてるという超カッコイイ人を見かけた。
[はじまり](http://d.hatena.ne.jp/nagachika/20100831/start_ruby_trunk_changes)を追ってみると、根性試しみたいなこと言いながら、やってみたらはや 8 年、みたいな感じなのだろうか。

実際これゼッタイ根性スゴイって！
まじスゴイって！

という、この日の自分の感動をより強く味わう用に、試しに今日だけ [php-src](https://github.com/php/php-src/commits/master) の master 見てみた。
余裕で 1 時間以上かかった
ずーっと続けると 1 日 30 分くらいへ収まるようになるのだろうか……。

# 2018-07-31
## weltling: Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option
- https://github.com/php/php-src/commit/cc69950b1527b321bf54a9394938d57e8f5a35cc
- ext/pdo_pgsql のプリペアドステートメント利用時、PDO::CURSOR_SCROLL だとメモリリークしていた問題の修正

## petk: Fix minor Autoconf coding style
- https://github.com/php/php-src/commit/b719aa41f4c2ecb66fed4f829ceb30854553e113
- autoconf のコーディングスタイル修正
- ext/pdo_odbc/config.m4 で、ダブルクォートのエスケープで warning が出ていた
- ext/standard/config.m4 で、微妙な誤りがあったのを修正
- この人こういう細かめの修正を[かなり投げてて](https://github.com/php/php-src/pulls?q=is%3Apr+author%3Apetk+is%3Aclosed)、先日 [php-src の karma もらってた](https://github.com/php/php-src/pull/3355)
	- 現時点で 120 くらいの PR なので、このくらい投げると声かかるのかー、と思ってた

## dstogov: Removed useless IS_UNDEF checks
- https://github.com/php/php-src/commit/c42f0ba4f70f83b33eb21250f2ab2c782cfb9dea
- 不要な IS_UNDEF チェックの削減

## dstogov: Simplified property name to string conversion
- https://github.com/php/php-src/commit/57527455eb8bd09f1795804559d137cedfdf8592
- プロパティ名を文字列にする処理の単純化
- 処理中 [zval](https://postd.cc/internal-value-representation-in-php-7-part-1/) で引き回してた部分を [zend_string](https://qiita.com/hnw/items/1a8afaa76770cd6be3f8) に置き換えたりしてるみたい

## dstogov: Improved method visibility checks
- https://github.com/php/php-src/commit/3ccd98547828297e52f04885840facc4856dcb1f
- メソッドの可視性チェック処理修正
- 処理の共通化とか整理

## frederikbosch: implement same site cookie see https://bugs.php.net/bug.php?id=72230 ...
- https://github.com/php/php-src/commit/08b9310e6d8fc83e785213aab95afbec4d248c0f
- https://wiki.php.net/rfc/same-site-cookie のやつ
- PR はこっち https://github.com/php/php-src/pull/2613
- 引数を増やして対応する版で、これは結局投票で否決されて別の実装に置き換わる

## pmmaga: Support for samesite cookies with array syntax
- https://github.com/php/php-src/commit/2b58ab23c6ad3301b31a2015f5faa31801147dfd
- PR はこっち https://github.com/php/php-src/pull/3398
- same-site-cookie の対応で、オプションを配列で渡す、投票で可決された版の実装

## cmb69: Update API version numbers
- https://github.com/php/php-src/commit/144e8d1f8352ddde234b532260f98a80c86e77f8
- ZEND_EXTENSION_API_NO の 20180731 への更新
- 320180606 が気になる……三万二千十八年

## cmb69: Prepare for PHP 7.4
- https://github.com/php/php-src/commit/a63c99ba624cff86292ffde97089428e68c6fc10
- PHP 7.4 へ向けてバージョン番号の更新と NEWS のお掃除

## cmb69: Prepare UPGRADING(.INTERNALS) for PHP 7.4
- https://github.com/php/php-src/commit/bccf0dfba1498817ee3ec7d8ef36aff0d11307bc
- UPGRADING/UPGRADING.INTERNALS のお掃除とバージョン番号更新
- README.RELEASE_PROCESS に 「ブランチ切ったら NEWS/UPGRADING/UPGRADING.INTERNALS の掃除をしようね」という段取りが追加された
- https://externals.io/message/102986#102989 あたりで言ってた奴だ

## cmb69: UPDATE README.GIT-RULES wrt. PHP-7.3
- https://github.com/php/php-src/commit/7866f28173160f956e0b8352be3827ce33a8be1e
- README.GIT-RULES に PHP-7.3 ブランチの使い方を追加
- README.RELEASE_PROCESS にも「ブランチ切ったら README.GIT-RULES に追加しようね」と手順を追加

# 2018-08-01

## weltling: Fix length to copy
- https://github.com/php/php-src/commit/b1d2a89ac1a2880bfe6125738bad061317d63b7b
- 与えられた名前の関数が存在するかをチェックする際の処理で、1 バイト余分にコピーしていたのを修正


# php-src めも
- めもはネット上のどっかに書いといた方が後でぐぐった時に出てくる化して嬉しいので
- PHP コードでよく見る EXPECTED() や UNEXPECTED() は __builtin_expect へ展開されるマクロで、分岐予測のヒント用
- zend_tolower_ascii() は文字列を小文字に揃えつつコピーする関数
	- 関数名が case insensitive で全小文字に正規化したりするのに使うもよう