読者です 読者をやめる 読者になる 読者になる

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 をそれぞれ駆使しており、そこら辺1コマンドでインストールできると楽と思ったため。

dotfiles の installer.sh で単に分岐で良かった気もするけど(゚ε゚)キニシナイ!!