CLISP ?= clisp
SBCL ?= sbcl
ECL ?= ecl
+MKCL ?= mkcl
CMUCL ?= cmucl
ABCL ?= abcl
SCL ?= scl
use_clisp () { li="${CLISP} -norc -ansi --quiet --quiet" ; ev="-x" ; } ; \
use_sbcl () { li="${SBCL} --noinform --no-userinit" ; ev="--eval" ; } ; \
use_ecl () { li="${ECL} -norc" ; ev="-eval" ; } ; \
+ use_mkcl () { li="${MKCL} -norc" ; ev="-eval" ; } ; \
use_cmucl () { li="${CMUCL} -noinit" ; ev="-eval" ; } ; \
use_abcl () { li="${ABCL} --noinit --nosystem --noinform" ; ev="--eval" ; } ; \
use_scl () { li="${SCL} -noinit" ; ev="-eval" ; } ; \
(defun* default-source-registry ()
`(:source-registry
#+sbcl (:directory ,(subpathname (user-homedir) ".sbcl/systems/"))
- #-mkcl (:directory ,(default-directory))
+ (:directory ,(default-directory))
,@(loop :for dir :in
`(,@(when (os-unix-p)
`(,(or (getenv-absolute-directory "XDG_DATA_HOME")
((or c:compiler-note c::compiler-debug-note
c:compiler-warning) ;; ECL emits more serious warnings than it should.
#'muffle-warning)
+ #+mkcl
+ ((or compiler:compiler-note)
+ #'muffle-warning)
#-(or cmu scl)
(style-warning
#'(lambda (w)
# ./lispworks-6-0-0-x86-linux -siteinit - -init - -build /tmp/build.lisp
flags="-siteinit - -init -"
eval="-eval" ;;
+ mkcl)
+ command="${MKCL:-mkcl}"
+ flags="-norc"
+ eval="-eval" ;;
sbcl)
command="${SBCL:-sbcl}"
flags="--noinform --userinit /dev/null --sysinit /dev/null"
#+ecl :ecl
#+gcl :gcl
#+lispworks :lispworks
+ #+mkcl :mkcl
#+sbcl :sbcl
#+scl :scl
#+xcl :xcl))))
(lispworks:quit :status return :confirm nil :return nil :ignore-errors-p t)
#+(or openmcl mcl)
(ccl::quit return)
+ #+mkcl
+ (mk-ext:quit :exit-code return)
#+sbcl #.(let ((exit (find-symbol "EXIT" :sb-ext))
(quit (find-symbol "QUIT" :sb-ext)))
(cond