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

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



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

教わった方法を元に下記のように記述したのですが、need-not-save を判定して
*query-kill-xyzzy-hook* が呼ばれるのか、終了ダイアログが何も出てこなくなって
しまいました(*.txt,*.l,*.cpp等)(need-not-save nilなら機能しました)。

また、「全て保存」メニューも機能しなくなってしまいました(当然?)。

で、本当に気が向いたらで結構なので need-not-save 以外の方法でデフォルトの終
了ダイアログを表示させないようにする手段を作ってもらえないでしょうか(自分以
外使わなそうなら無視してください)。よろしくお願いします。

#追伸 c#-modeの色付けで、"set"と"get"キーワードがぬけています(MSDNの該当ペー
ジからもぬけていた^^;)。

(setq-default need-not-save t)

(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))))))
    (quit () nil)
    (error () nil)))
(add-hook '*query-kill-xyzzy-hook* 'query-kill-xyzzy)

Index Home