32ビットと64ビットのPCボックスがいくつかあります。私はそれらすべてに CCL 実装のローカル svn リポジトリを保持しており、すべてのボックスで同じ構成を使用しています.bashrc
。.emacs
したがって、Slime を介して Emacs 内から CCL を使用する場合は、前にプレフィックスM-- M-x slime
を付けて入力し、入力するccl32
と、以前ccl64
に構成にそのようなものを入れていまし.emacs
た。
(setq slime-lisp-implementations
`((sbcl ("/usr/bin/sbcl" "--noinform" "--no-linedit"))
(ccl32 ("/path/to/32bit/ccl/lx86cl"))
(ccl64 ("/path/to/64bit/ccl/lx86cl64"))
(abcl ("java" "-jar" "/usr/local/share/java/abcl-bin-1.3.3/abcl.jar"))))
私の質問は、いくつかの条件を入れて.emacs
、その場で実行する CCL を決定できるようにしたいということです。ということで、こんなことを書きました。
(defvar *ccl-command*)
(cond ((not (null (string-match ".*64.*" system-configuration)))
(setq *ccl-command* "/path/to/64bit/ccl/lx86cl64"))
((not (null (string-match ".*86.*" system-configuration)))
(setq *ccl-command* "/path/to/32bit/ccl/lx86cl")))
それはほとんどトリックを行いますが、この変数を上記のslime-lisp-implementations
ように入れようとするとうまくいきません:
...
(ccl (*ccl-command*))
...
何か案は?