tmux 2.4 にしてから日本語まわりの様子がおかしい対策

様子

f:id:utahta:20170514131320g:plain

パッチ

master をインストールしたら再現しなかったので、おそらく道中修正されたのだろうと思い、それっぽいコミットをパッチにして当ててみたところ再現しなくなった。
master を使い続ける選択肢もあったけど、tmuxしれっと設定周りなどに破壊的変更が入る印象なので、できれば穏やかにバージョンアップをしていきたい…。

ソースコード読みきれず他にもバグが含まれているかもしれないけど、いったん良しとした。

作業ログ

patches for tmux 2.4 · GitHub

homebrew を使っているので brew edit して以下のように patches を埋め込み再インストールした。

def patches
  [
    "https://gist.githubusercontent.com/utahta/6f14dc33ec0700f3f2f224e0ce84c772/raw/fd87552e02f75013d65783493247315ca1754e8e/tmux-2.4-input.patch",
    "https://gist.githubusercontent.com/utahta/6f14dc33ec0700f3f2f224e0ce84c772/raw/fd87552e02f75013d65783493247315ca1754e8e/tmux-2.4-screen-write.patch",
  ]
end

f:id:utahta:20170514123256g:plain

git archive を使ってリリース用ファイルをエクスポートする

/var/tmp/junk にファイルをエクスポートする。

$ git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)

エクスポートしたくないファイルがあるときは .gitattributes に書いて、git archive 時に --worktree-attributes オプションを付ける。

$ vim .gitattributes
.gitignore export-ignore
Makefile export-ignore

$ git archive --worktree-attributes --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)

参考

Git - git-archive Documentation

個人的に peco のインストーラーが欲しかった

ので書いた。

github.com

curl -s https://utahta.github.io/peco-get/get | sh

というコマンドを打つだけで $HOME/bin/ 配下に peco がインストールされる。便利!

なぜこのようなものが欲しかったかというと、dotfiles をインストールする時に peco を一緒にダウンロードしたくて、でも mac と linux でバイナリが異なるので brewwget をそれぞれ駆使しており、そこら辺がいい加減だるくなったため。

installer.sh 的なものに書いておけばいいかもだけど、せっかくなので汎用化した次第です。