ruby-trunk-changes 2019-05-25

今日は OpenBSD でのタイマースレッド関連の不具合修正、irb の multiline editing 機能や編集バッファの色付け機能の追加などがありました。

[4541d2effe] Benoit Daloze 2019-05-24 14:29:47 +0200

50e993d4e347bd3e821c4996cc745fa0aa74bd64 で rubyspec の Process.clock_getres のテスト全体を AIX でスキップさせてたのを、エラーになった定数のみ除外するように修正しています。

[2d34087a38] Benoit Daloze 2019-05-24 14:48:10 +0200

4541d2effe1f32e74d27602b44aff12cbf6937aa の続きで rubyspec で Process.clock_getres のテスト全体を FreeBSD で除外してるところにコメントを追加して、個別の除外は fixtures/clocks.rb をいじるように注意書きを追記しています。

[eb4e774711] aycabta 2019-05-24 23:38:40 +0900

標準添付ライブラリ reline で Meta キーつきの文字に対応するようにしています。M-x みたいな入力は内部的には連続した2つのキー入力とみえるようなので、タイムアウトをかけて一定の時間内に連続して受け取ったら Meta キーつき入力として扱うようにしているようです。

[b215054800] git 2019-05-25 00:25:42 +0900

version.h の日付更新。

[4b012c23b2] aycabta 2019-05-25 00:39:42 +0900

標準添付ライブラリ reline の Reline.readmultiline にブロックが渡されてなかったら ArgumentError を発生させるようにしています。

[481ccf73d8] aycabta 2019-05-25 00:40:14 +0900

標準添付ライブラリ reline の Reline::VERSION に "Reline 0.0.0" と Reline という名前を含めるようにしています。

[27bab6a569] aycabta 2019-05-25 00:44:09 +0900

と思ったら 481ccf73d88797914f700e6e27711bf1ce997eb0 の Reline::VERSION の変更は revert されています。

[637ee7ee38] aycabta 2019-05-25 01:13:02 +0900

Reline::LineEditor で Ctrl-V + Ctrl-j や Ctrl-V + Ctrl-m の入力で改行を挿入するように修正しています。

[ff43b22627] aycabta 2019-05-25 02:13:14 +0900

標準添付ライブラリ reline で最終行以外で Enter を押したら改行挿入ではなく必ず実行になるようにしています。

[260235ce87] aycabta 2019-05-25 02:16:19 +0900

irb で Reline をデフォルトの複数行処理に使うようにしています。厳密には irb が Readline モードと Reidline モードというのを使い分けるようになり、Reidline モードというのが Reline を使って実装されている、という感じのようです。あわせてコマンドラインオプションに --reidline と --noreidline というのが追加されています。

[559dca509d] aycabta 2019-05-25 03:30:01 +0900

irb でタブによる補完時に rdoc でメソッドのドキュメントを表示する機能を有効にしています。

[822468307b] aycabta 2019-05-25 08:08:54 +0900

Reline のエスケープキーの次の入力までのタイムアウトを測るメソッドに待ち時間の引数を渡すのが漏れてたのを修正。

[19430b776c] aycabta 2019-05-25 08:24:41 +0900

同じく Reline で入力を読むメソッドで変数名の間違いを修正。

[1ef39d8d09] Jeremy Evans 2019-05-24 17:50:23 -0700

POSIX timer がない環境での timer thread の実装でタイマースレッドがメインスレッドに SIGVTALRM を送信し損ねてハングアップしてしまうケースがあったようで、consume_communication_pipe() の戻り値をチェックして disarm されててもシグナル送信するパスを増やしています。チケットによると OpenBSD でのみ発生してる現象みたいですがたぶん他でも潜在的にはありえたんじゃないかなぁ。 [ruby-core:92428] [Bug #15798]

[809ac9f2ea] git 2019-05-25 09:51:27 +0900

1ef39d8d099f145222b9352423af16a2bab6e05b のインデントのタブを空白に展開。

[7686e33ee4] aycabta 2019-05-25 10:42:57 +0900

irb で Ripper.lex の結果で { "str": 42 } みたいなクオートつき Symbol のキーの時の閉じクオート部分のトークンが正しく対応を取れなくなってたので修正。

[3c6e1a8cf9] Hiroshi SHIBATA 2019-05-25 11:28:07 +0900

test/ruby/test_require.rb の未使用変数の警告除去。

[b83119be9e] Takashi Kokubun 2019-05-24 23:54:52 -0700

irb で編集中のバッファも色付けをするようにしています。おー、これだけの変更で対応できるのか。 https://github.com/ruby/ruby/pull/2202

[061c781a09] Takashi Kokubun 2019-05-25 00:38:19 -0700

b83119be9e9a8611063142541993e4823a025622 で利用しなくなったメソッドを irb から削除しています。

[8fd3b9fc5f] Nobuyoshi Nakada 2019-05-25 17:16:07 +0900

動機はよくわからないですが defs/gmake.mk で make install, make love などのターゲットで rdoc によるドキュメントを再生成させるようにしています。

[4fae3c3fb0] Nobuyoshi Nakada 2019-05-25 17:16:07 +0900

make showconfig でインストールするドキュメントのフォーマット(生成ツール?)のリストを表示するようにしています。

[65ce14e7b5] Nobuyoshi Nakada 2019-05-25 17:20:31 +0900

configure に --with-rdoc というオプションを追加してインストールするドキュメントの形式(ri, html など)を指定できるようにしています。