[xyzzy:04458] Re: my-open-xxx
- Subject: [xyzzy:04458] Re: my-open-xxx
- From: KAMEI Tetsuya <kamei@xxxxxxxxxxxx>
- X-mailer: KaMail-0.0.1.5 (ITS / PDP-10s)
- X-yzzy-version: 0.2.0.137
藤本さん、こんにちは。
2000年4月19日(水)[21:52:56]の、
[xyzzy:04452] my-open-xxx
への返事です。
| これはこれで良いのですが、たとえばC-F7でsiteinit.lを開きたい時は、
| my-open-siteinitみたいな関数を改めて作っています。本当は、
| ファイル名を引数にして渡したいのですが、どのようにすれば良いか
| 分かりません。何かヒントがあれば教えていただけますか?
|
| 後、本当はC-F5を押したら.xyzzyを開いて、もう一度押したら直前に
| 開いてたバッファを開きたいのですが、これもやり方が分からないので、
| 今は「既に開いてた」を表示しています。何かうまいやり方はありません
| でしょうか?
こんな?
(defvar *your-open-file-alist* nil)
(defun your-open-file (filename)
(let ((buffer (get-file-buffer filename))
(obuffer (selected-buffer)))
(cond ((eq buffer obuffer)
(setq buffer (cdr (assoc buffer *your-open-file-alist*)))
(cond ((null buffer)
(plain-error "ないっす"))
((deleted-buffer-p buffer)
(plain-error "削除されてるっす"))
(t
(set-buffer buffer))))
(t
(if buffer
(set-buffer buffer)
(progn
(find-file filename)
(setq buffer (selected-buffer))))
(let ((x (assoc buffer *your-open-file-alist*)))
(if x
(setf (cdr x) obuffer)
(push (cons buffer obuffer) *your-open-file-alist*)))))))
(global-set-key #\C-F5 '(lambda () (interactive) (your-open-file "~/.xyzzy")))
--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx