;SHUT-IT-DOWN - Exit the Common Lisp implementation. ;Written in 2017 by Prince Trippy programmer@verisimilitudes.net . ;To the extent possible under law, the author(s) have dedicated all copyright ;and related and neighboring rights to this software to the public domain worldwide. ;This software is distributed without any warranty. ;You should have received a copy of the CC0 Public Domain Dedication along with this software. ;If not, see . (cl:defpackage #:shut-it-down (:documentation "This package exports a single function, QUIT, to facilitate exiting the Lisp environment.") (:use) (:size 1) (:export #:quit) (:nicknames #:quit #:shutdown)) (cl:in-package #:shut-it-down) (cl:defun quit () "Quit the Lisp environment, if possible, stopping all program execution. In the case of failure, the function returns no value." (cl:ignore-errors #+(or abcl clisp cmu ecl scl ufasoft-lisp xcl) (ext:quit) #+allegro (excl:exit 0 :no-unwind t :quiet t) #+(or ccl mcl openmcl) (ccl:quit) #+clasp (core:quit) #+cormanlisp (ccl:lisp-shutdown) #+emacs-cl (el:|kill-emacs|) #+explorer () #+(or gcl wcl) (lisp:quit) #+lispm () #+lispworks (lispworks:quit :ignore-errors-p t) #+mkcl (mk-ext:quit) #+mocl () #+movitz () #+poplog (poplog:bye) #+sbcl (sb-ext:exit)) (cl:values)) .