Re: Allegro 8.1 Express + Emacs (slime): CLC Error
John Fremlin <[email protected]> Fri, 23 Jan 2009 13:15:30 +0900
| Newsgroups | gmane.lisp.allegro |
|---|---|
| Message-ID | <[email protected]> |
Hi Fabio,
The common-lisp-controller is a handy way to share system-wide installed
ASDF packages across many the common lisp implementations.
To use it with Allegro I put the following in my .clinit.cl (actually
this file is shared across all the Lisps I use). It has the extra
advantage of putting all fasls in a directory separate for each lisp
implementation version and word-size.
This will let Allegro easily use all the system-wide installed asdf
packages, and the user installed packages in ~/.clc
(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/cl-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)))