[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:07674] Re: 終了時の保存確認



お返事ありがとうございます。kazu.yです。

> *query-kill-xyzzy-hook* は終了時に無条件に呼ばれます。
> このフックから戻ったときに変更されているバッファが存在
> すれば、デフォルトの確認メッセージが表示されます。した
> がって、set-buffer-modified-p で全てのバッファの変更フ
> ラグを落としてやれば、希望する動作になります。

そうでしたか。上記を参考に、以下のように記述することで思惑通りの動作にするこ
とができました。ありがとうございました。

->get, set、value
てっきり予約語だと思ったのですが、
int set = 0;
などとしても特に注意されないですね...。VS.NETの場合、色付けはされるみたいで
す。


(defun query-kill-xyzzy ()
  (handler-case
 (save-excursion
   (dolist (buffer (buffer-list) t)
  (when (need-buffer-save-p buffer)
    (set-buffer buffer)
    (refresh-screen)
    (when (yes-no-or-cancel-p "~a~%をセーブする?"
     (if (file-visited-p) (get-buffer-file-name) buffer))
   (or (call-interactively (if (file-visited-p) 'save-buffer
'emacs-write-file))
    (return nil)))
    (set-buffer-modified-p nil))))
 (quit () nil)
 (error () nil)))

(add-hook '*query-kill-xyzzy-hook* 'query-kill-xyzzy)


    kazu.y

Index Home