[Common Lisp] asdf で fasl のバージョンが古いとき自動的にリコンパイルする
処理系をアップデートしたあと、(require :xxx) するとよく fasl のバージョンがあってないよとデバッガがたちあがったりする。
そのとき自動的にリコンパイルする方法が CLiki にのってた。
~/.sbclrc とかに以下を追加しておく。
(defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file))
(handler-case (call-next-method o c)
(#+sbcl sb-ext:invalid-fasl
#+allegro excl::file-incompatible-fasl-error
#+lispworks conditions:fasl-error
#+cmu ext:invalid-fasl
#-(or sbcl allegro lispworks cmu) error ()
(asdf:perform (make-instance 'asdf:compile-op) c)
(call-next-method))))
0 件のコメント:
コメントを投稿