今日のバカが征く
んー、この switch-c++-buffer って ff-find-other-file でいいんじゃないだろうか。承知の上?あ、いや対になるファイルが存在しない場合に新規バッファを作るところが違うのか。
しかし、やっぱり alist ってあまり知られてないよなぁ。ということで
(defun c++-paired-extension (basename extension) (if (string= "cpp" extension) (find-cpp-header basename) (cond ((string= "h" extension) "cpp") ((string= "hpp" extension) "cpp") ((string= "hh" extension) "cc") ((string= "cc" extension) "hh") ((string= "hxx" extension) "cxx") ((string= "cxx" extension) "hxx") ((string= "H" extension) "C") ((string= "C" extension) "H") (t nil))))
は以下のように書くのが better だと思うのです。
(defvar c++-paired-extension-alist '(("h" . "cpp") ("hpp" . "cpp") ("hh" . "cc") ("cc" . "hh") ("hxx" . "cxx") ("cxx" . "hxx") ("H" . "C") ("C" . "H"))) (defun c++-paired-extension (basename extension) (if (string= "cpp" extension) (find-cpp-header basename) (get-alist extension c++-paired-extension-alist)))
昔からのUNIXプログラマがやりがちなこと
80年代から UNIX を使っているひとにありがちなこと
ページャ
less ではなく more を使う。
errno
#include <errno.h>
ではなく、
extern int errno;
とする。まぁ、昔は errno.h がなかったのだが、ISO C では errno はマクロでも構わないことになっている。実際、最近の環境では外部シンボルではなくマクロになっているのでコンパイルできなくなっていたりする。djb の cdb とか。
typedef
pid_t、uid_t なんかの typedef された型ではなく、直接 int として宣言してしまう。
X11
DISPLAY と xhost については理解しているが、xauth についてはよくわかっていない。