Reputation: 871
I have some PC boxes some 32 and some 64 bits. I keep a local svn repo of the CCL implementation on all of them and I have the same .bashrc
and .emacs
configurations on all boxes. Therefore when I like to use CCL from within Emacs through Slime I just type by prefixing M-- M-x slime
and then type ccl32
and ccl64
cause I had put something like that in my .emacs
configuration some time ago.
(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"))))
My question is I just want to put some come conditional in .emacs
and let it decide which CCL to run on the fly. So I wrote something like this.
(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")))
It pretty much does the trick but it simply doesn't work when I try to put this variable into above slime-lisp-implementations
like:
...
(ccl (*ccl-command*))
...
Any ideas?
Upvotes: 1
Views: 304
Reputation: 871
Sorry for the stupid question. I didn't know Elisp has the backtick like CL too. So
(add-to-list 'slime-lisp-implementations `(ccl (,*ccl-command*)))
did the trick.
Upvotes: 1