current-bufferとwindow-buffer
d:id:cubicdaiya:20080104で書いたelispを少し改造して、
現在のスクリーンでひらいているバッファが*scratch*の場合は、
新しいスクリーンを作成せずにそのままswitch-to-bufferするようにした。
改造部分(前)
(defun create-new-buf (buf) (elscreen-create) (switch-to-buffer buf))
改造部分(今)
(defun create-new-buf (buf) (if (equal elscreen-default-buffer-name (buffer-name (window-buffer))) (switch-to-buffer buf) (elscreen-create) (switch-to-buffer buf)))
最初、window-bufferじゃなくてcurrent-bufferってやったら全然うまくいかなくて、
current-bufferの値を見たらTAGSになっていた。current-bufferって今開いているバッファ
のことじゃないのかよ、と文句を言いつつ、window-bufferとやったら今度はエラーが出て、
実はwindow-bufferは変数じゃなくて関数だったという話。ややこしい。