2017-07-31: ダメです。
やったこと
#4763
YAMLのスカラ値を読むときにstrlenで長さを取ってるからヌル文字が含まれるときにヌル以降の文字が消えるよって話。libYAMLの報告する長さを使うように修正した。
昨日の時点で気付いてたんだけど面倒だったのでPRを出してなかった。
#4765
require "./foo"みたいなのに対してCRYSTAL_PATHの中まで読みに行くのを修正した。なんでこんな実装になってるんだろうって思って直していて気付いたのだけど、元の実装だとCRYSTAL_PATHを検索するメソッドで例外を投げるようにしてるから、結果がエラーになるようにするにはそれを呼ばなきゃいけない、という構造になっていたらしい。いや、その実装おかしいだろ、と思わなくはないのだけどそうなっていたのだから仕方ない。
#4766
crystal tool expandで展開したマクロを定義した位置を報告してほしい、とのこと。現状Crystalのコンパイラはどのマクロを展開したかという情報を保持しないので、Callを拡張してマクロ展開時にそれに代入しておけば取得できるようになる。で、問題はそうやって得た情報をどうやって表示するか、というところ。ぶっちゃけ悩む。
とりあえず明日考える。明日。
思うところ
ダメです。
自分がやりたいと思ってることがまったくできない。しんどい。