【发布时间】:2016-02-13 01:10:48
【问题描述】:
我有一些 32 位和一些 64 位的 PC 盒。我在所有机器上都保留了 CCL 实现的本地 svn 存储库,并且我在所有盒子上都有相同的 .bashrc 和 .emacs 配置。因此,当我喜欢在 Emacs 中通过 Slime 使用 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*))
...
有什么想法吗?
【问题讨论】:
标签: emacs common-lisp dot-emacs ccl