2014-01-29

git-encwrapper再び

git-encwrapper のバグを修正しました。

git-encwrapper は、gitのencoding属性(.gitattributesで指定)を活用してgit diffの出力の文字コードを統一したり、git applyの入力の文字コードを統一されたものから元に戻したりするgitラッパーです。

ところがCygwinを64bit版にしたときになぜかgit-encwrapperが動かなくなってしまいました。
原因を突き止めるのが面倒だったので、elisp側でなんとかするコードを書きました。

今日 magit.el を開発最新版へ更新したら、案の定上のelispは使えなくなってしまいました。
magit.elの中をざっと見てみたのですが、プロセスを呼び出すところ(つまり、フックすべきところ)が沢山あり、
修正は大変そうでした。

なので、再びgit-encwrapperを復活させることにしました。

調査した結果、次の二つの問題が見つかりました。

  • -cオプションを使っているとgitコマンド名を誤認識する不具合
  • NULLポインタの判定ミス

前者は「git -c diff.submodule=short diff」のようなコマンドラインへの対応です。
ハイフンで始まらない一番最初のコマンドライン引数をコマンド名として扱っていたので、
「diff」ではなく「diff.submodule=short」がコマンド名だと認識されていました。

後者は単純なミスで、if(p)と書くべきところをif(*p)と書いていたというものです。
おそらくこれによって動いたり動かなかったりしていた模様です。

これらを修正したところ、おおむね正常に動いているようです。

2014-01-27

2014-01冬の新番組

ようやく新番組一通り見終わりました。

今のところ一押しは「世界征服~謀略のズヴィズダー~」でしょうか。

2014-01-16

ノートPC吟味

今新しいノートPCを買うとしたら何が良いかなぁと最近考えてます。

十分な性能を持ち、出来るだけ軽量、画面は小さすぎず、キーボードがまとも、出来ればタッチパネルは欲しいなと。

製品名 価格 画面サイズ CPU 外部記憶 重量 備考
Surface Pro 2 99800+12100円 10.6" Core i5 4200U/1.6GHz 128GB 907g+216g タイプカバー2込み
Lavie Z(LZ650/NS) 122267円 13.3" Core i5 4200U/1.6GHz 128GB 945g  
Let's note AX3(CF-AX3SEGJR) 21万円程度? 11.6" Core i5 4200U/1.6GHz 128GB 1140g  
Let's note MX3(CF-MX3SEBJR) 20万円前後 12.5" Core i5 4200U/1.6GHz 128GB 1198g  
Let's note MX3(CF-MX3TEABR) 27万円前後 12.5" Core i7 4500U/1.8GHz 256GB 1198g  

条件に合うのはこの辺りでしょうか。もう数百グラム重量を増やして良いなら選択肢はグッと広がりそうですが。

値段と財布と使用頻度と今持っているノートPCとを考慮すると、もう少し先でも良いかなぁと思います。