.xyzzyをすっきりさせる。

色々適当な作業用のコマンドを増やしていたので、最近xyzzyの起動が遅くなってきた。それで、今整理したところなので軽く書いてみる。私の.xyzzyは大体こんな構造をしている。

(require "ni/setup")
(ni-autoload)
(series 1 require
  "hoge"
  "fuga"
  ...
  "user-command1"
  )
(series 2 global-set-key
  #\foo 'bar
  ...
  )
(series 2 (define-key ctl-x-map)
 ...
 )
;esc-map spec-mapも同様

;ここにdefunとか。 

(defun rename-first-pseudo-frame () (rename-pseudo-frame "Universal"))
(defun boot-message () (message "正常に起動しました"))
(add-hook '*post-startup-hook* 'rename-first-pseudo-frame)
(add-hook '*post-startup-hook* 'boot-message)
(gc)

最初にni-autoloadでnetinstallerを使ってインストールしたものを読み込んで、あとはseriesマクロで適当に読込、同様にseriesマクロでキー設定する。seriesマクロはsiteinit.lに書いておく。


作業用の関数はそのあとで定義。10個も20個もあると結構もたつくので、溜まったらuser-command.lとかに分けてバイトコンパイルしておく。それでももたつくようなら、ちゃんと分類して、autoloadで使うときに読み込むようにした方が良い。作業用のコマンドはここで個別にキー定義しておいて、よく使うようならまとめて定義してるところに移すのが分かりやすい。


それで最後に最初のフレームの名前を変えて、正常起動したとメッセージを出すようにする。Frame 1だとダサいし、ちゃんとメッセージがないとエラーがなかったか心配なので。