elispわからんです
同じ名前のバッファがあると<1>とか<2>とか名前がつくけど,番号なんて覚えてないから親のディレクトリも表示するようなemacs lispを作ろうとした.pwdでカレントディレクトリをとってちえrename-bufferで名前を変えるのは成功したけどadd-hookでcperl-modeにつけたらbuffer-nameは変わるようになったのだけれど色がつかなくなってしまた..
(defun rename-buffer-with-parent-directory () ; (let ((full-file-name (concat (pwd) (buffer-name)))) これ動かない (let ((full-file-name (concat (car (cdr (split-string (pwd)))) (buffer-name)))) (let ((cut-size (rename-buffer-min 30 (length full-file-name)))) (let ((new-buffer-name (substring full-file-name (- 0 cut-size)))) (rename-buffer new-buffer-name))))) (rename-buffer-with-parent-directory) (add-hook 'cperl-mode-hook '(lambda () (rename-buffer-with-parent-directory)))
なぜだ?
追記
pwdを行ったときに出てくる"Directory"という文字列が消えるようにsplit-stringとかやったら色をとりもどした.carとかcdrとかひさしぶり.