Exceptional C++ Style
http://www.amazon.co.jp/exec/obidos/ASIN/0201760428
読みました。最初はなんか、本の体裁とか説明口調がすごいかっこよくて(「exportと国会議事堂の共通点は何か!?」とか)、目新しいこともちらほらとあったのでおおこれはいい本かもと思ってたんですが、読み終わってみるとうーんなんかなぁという感じでした。おそらく、
- 目新しい内容はたいてい言語の隅みたいなことだった (C++ で & をいくつ連続させられるか!?とか、 export は使うな!とか)
- 含蓄のある話は知ってる話ばかりだった。(後半特にずっとそんな感じだった。なんで Boost.any の実装を紹介しないの!いいネタなのにもたいない)
- 大袈裟な表現は途中で飽きた。 std::string のメンバ100個以上ただ並べてその真ん中で「水面を破り、小さな空気溜まりで息継ぎだ。…」とか言われてもなぁ。読み飛ばしてますからっ…
ああ、「export 使うな!」は衝撃的でした。恥ずかしながら私 export にずーっと憧憬持ってました。 export で export された関数がファイル static 関数を読んでたらどうなるか考えてみよー。あと「例外仕様使うな!」とかも。
ああうん、今記録読み返してみると序盤は良かったように思います。 template と friend まわりとか、結構昔考えた(最近全然 C++ 触ってないので)問題とかで、なんとなく出してた結論が明確に述べられてたり、とか。
感想としては、 D は楽しいなあという感想だったと思います。
w3m の GOTO_RELATIVE
GOTO_RELATIVE は今いる URL か、アンカーの先の URL を編集して他の URL にいけるというものですが、私は今いる URL 基準の設定 (default_url = 1) にしてあります。ですが、主に 2ch など、 base href が書いてあるサイトでは、その指定された base href 基準の移動になってしまい、例えば URL いじって全部見るようにするとかがしにくいです。というわけでパッチ。
diff -u -r1.252 main.c --- main.c 29 May 2006 12:42:22 -0000 1.252 +++ main.c 3 Dec 2006 10:12:51 -0000 @@@ -4021,7 +3994,8 @@ current = baseURL(Currentbuf); if (current) { - char *c_url = parsedURL2Str(current)->ptr; + /* char *c_url = parsedURL2Str(current)->ptr; */ + char *c_url = parsedURL2Str(&Currentbuf->currentURL)->ptr; if (DefaultURLString == DEFAULT_URL_CURRENT) { url = c_url; if (DecodeURL)
そういえばこのパッチ書いてて気付いたんですが、 default_url = 1 って設定になってても、編集モードに入ってから上を一回押してヒストリたぐるとリンク先の URL になるんですね。地味にちょっと便利。