this is my first post in the forum. I'm glad I found it.
I am running Ubuntu 8.04 on a x86. Also running: Emacs-snapshot, slime, common-lisp-controller, cl-asdf, and various lisp implementations; all of them deb packages.
I managed to set up the above packages to work together. Now I wanted to check out allegro cl. I installed allegro express as indicated in franz's installation.htm doc. Retrieved a trial license, applied all patches as of today and rebuilt the alisp.dxl. I can run an alisp-REPL from the shell.
My .emacs sets inferior-lisp for slime to alisp. When I first ran M-x slime within Emacs, swank loader errored me with a common-lisp-controller error. I followed instructions from lisp.allegro newsgroup and created a .clinit.cl (it's content at the end of this post, for sake of completeness) for this purpose. Another error occured, because calculate-fasl-root was not defined, so I put that in the same file (first few lines).
Now, when I try to start slime again, I get to a REPL, but an unfinished one. Swank does not get initialized correctly.
Errors are:
Error loading #P"/home/***/.clinit.cl":
Symbol "INIT-COMMON-LISP-CONTROLLER-V4" not found in the COMMON-LISP-CONTROLLER package.
and:
While compiling (:TOP-LEVEL-FORM "swank-arglists.lisp" 250):
Error while loading: /tmp/swank/fasl/allegro-8.1a-linux-x86/swank-arglists.fasl
Condition: Can't locate module: :SWANK-C-P-C
Aborting.
There seems to be something wrong with the CLC Package or my .clinit.cl. Plus a swank module is missing / not specified correctly. I searched for those errors, but couldn't find anything helpful. I am stuck.
Any ideas or suggestions are very much appreciated!
cheers
Code: Select all
;; .clinit.cl
(require '#:asdf)
(defpackage #:clc
(:export #:calculate-fasl-root))
(defun clc:calculate-fasl-root ()
#p"/tmp/")
(in-package #:cl-user)
(defmacro with-dev-null (&body body)
`(eval-when (:compile-toplevel :load-toplevel :execute)
(let ((devnull (make-two-way-stream (make-string-input-stream "") (make-broadcast-stream))))
(let ((*standard-output* devnull)
(*error-output* devnull)
(*debug-io* devnull)
(*trace-output* devnull))
,@body))))
(with-dev-null
#+sbcl (require '#:asdf)
(unless (find-package '#:asdf)
(load "/usr/share/common-lisp/source/asdf/asdf.lisp")))
(with-dev-null
(defun asdf (&rest pkgs)
(loop for pkg in pkgs do
(asdf:operate 'asdf:load-op pkg)))
(ignore-errors
(load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp")))
(with-dev-null
(defun lisp-version-string ()
(flet ((clean (string)
(substitute #\- #\Space (substitute #\v #\. string))))
(format nil "~A-~A-~A"
(clean (lisp-implementation-type))
(clean (lisp-implementation-version))
(expt 2 (ceiling (log (log most-positive-fixnum 2) 2))))))
(common-lisp-controller:init-common-lisp-controller-v4
(lisp-version-string)))
Code: Select all
(add-to-list 'load-path "/usr/share/common-lisp/source/slime/")
(setq inferior-lisp-program "/opt/lisp/acl81_express/alisp")
(eval-after-load "slime"
'(progn
(add-to-list 'load-path "/usr/local/slime/contrib")
(slime-setup '(slime-fancy slime-banner))
(setq slime-complete-symbol*-fancy t)
(setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)))