【问题标题】:Slime to run right CCL史莱姆跑右 CCL
【发布时间】:2016-02-13 01:10:48
【问题描述】:

我有一些 32 位和一些 64 位的 PC 盒。我在所有机器上都保留了 CCL 实现的本地 svn 存储库,并且我在所有盒子上都有相同的 .bashrc.emacs 配置。因此,当我喜欢在 Emacs 中通过 Slime 使用 CCL 时,我只需输入前缀 M-- M-x slime,然后输入 ccl32ccl64,因为前段时间我在 .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


    【解决方案1】:

    抱歉这个愚蠢的问题。我不知道 Elisp 也有像 CL 这样的反引号。所以

    (add-to-list 'slime-lisp-implementations `(ccl (,*ccl-command*)))
    

    成功了。

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 2014-01-17
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      相关资源
      最近更新 更多