siteint.lをバイトコンパイルして、dumpファイルをけして更にxyzzyを再起動する話。
久しぶりにxyzzyのlispに触ったら、siteinit.lをバイトコンパイルして、dumpファイルを消して更にxyzzyを再起動するのが猛烈に面倒な気がした。前はdumpファイルけしてsiteinit.lをバイトコンパイルするまでは自動でやるようにしたので、何となく便利になっているような気がしていたけど、実際の所xyzzyを再起動するのもfenrir使って簡略化してるとはいえ毎回やるといい加減面倒だということに気づいたので、それも自動化してみるととにした。
;;自動でバイトコンパイル計画 (defun auto-byte-compile() (interactive) (when (yes-or-no-p "dump fileを消してsiteint.lをバイトコンパイルしxyzzyを再起動しますがよろしいですか?\n現在編集中のファイルが保存されていないと変更内容が消えるかも") (byte-compile-and-delete-dump-file) (call-process "c:\\xyzzy\\xyzzy.exe") (kill-xyzzy))) (global-set-key '(#\C-x #\B) 'auto-byte-compile)
之は始めbatファイルでやろうとしたらWindowsってばkillとか見たいのがないらしいことにはじめて気づいた。再起動はxyzzyのつくりが上手い事できてるのを利用してlispでやる事にして何とかなったけど、DOSがマルチタスクじゃないのを随分前に忘れてさっていたのは自分だけじゃないはずと、勝手に思ってみる。
中で使ってるbyte-compile-and-delete-dump-fileは前にどこかでパクッテきたやつ。
http://d.hatena.ne.jp/himadatanode/20060906/p3これかな。それともxyzzyのWikiに乗っていたやつかもしれない。っていうか、許可があれば、簡易バイトコンパイルのを適当に一つにしてどっかに置いておいても良いけど、勝手にやってはまずそうなので、やらない事にした。