Portable Exit
A portability layer for ending the Lisp image.

(defun quit (&optional code) ;; This group from "clocc-port/ext.lisp" #+allegro (excl:exit code) #+clisp (#+lisp=cl ext:quit #-lisp=cl lisp:quit code) #+cmu (ext:quit code) #+cormanlisp (win32:exitprocess code) #+gcl (lisp:bye code) ; XXX Or is it LISP::QUIT? #+lispworks (lw:quit :status code) #+lucid (lcl:quit code) #+sbcl (sb-ext:exit :code code) ;; This group from Maxima #+kcl (lisp::bye) ; XXX Does this take an arg? #+scl (ext:quit code) ; XXX Pretty sure this *does*. #+(or openmcl mcl) (ccl::quit) #+abcl (cl-user::quit) #+ecl (si:quit) ;; This group from <hebi...@math.uni.wroc.pl> #+poplog (poplog::bye) ; XXX Does this take an arg? #-(or allegro clisp cmu cormanlisp gcl lispworks lucid sbc kcl scl openmcl mcl abcl ecl) (error 'not-implemented :proc (list 'quit code)))

Taken from Rob Warnock's post "How to programmatically exit?"


compatibility layers