shell の printf の結果がおかしい
ファイル名に使うために上の桁を0埋めで数字を5桁にする処理を使っていた。
分かってしまえばすごくしょうもない話なのだが、頭に0をつけると8進数として処理されるので、
[iMac] smith: ~ $ printf "%05d\n" 773
00773
[iMac] smith: ~ $ printf "%05d\n" 00773
00507
[iMac] smith: ~ $ printf "%05d\n" $(printf "%05d" 773)
00507
対話的に見れば明らかだけど
別の shell script の中に2箇所で成形をしてる部分があって下流の番号がおかしくなってたのは、気づくのに時間がかかった。
Emacsのshow-paren-modeにも文字数の限度があるという話
Emacsで括弧の対応関係のハイライトを利用するには.emacsに次のように記述する。
(show-paren-mode t)
(setq show-paren-delay 0)
(setq show-paren-style 'expression)
するとこんな風にハイライトされる。
ところでこのshow-paren-mode無限に対応関係を探してくれるわけではないらしい
とてつもなく長い関数を書いていたら*1対応関係を表示してくれなくなった。
makeは通るけどすごく気持ち悪い。
無理に上限をあげるのも何文字までならハイライトされるか調べておくことにした。
手始めに1000回位
[MBA] smith: show-paren-mode $ echo -n "{" > long.cxx; for i in `seq 1000`; do echo -n "show-paren-mode" >> long.cxx; done ; echo -n "}" >> long.cxx
*1:シミュレーションのコードで仕方がなかった