commit ebec8662dd38b3c46ad2eeaa82c5fbde192c4515 Spenser Truex <truex@equwal.com> 2025-08-31 18:38:37 -0400 Quit portably and therefore make cl-yag portable I think quitting is the only portability issue in the project. (Note: This is the combined patch of the first patch and the fixup to be applied directly as one commit if desired)
generator.lisp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/generator.lisp b/generator.lisp index 13f1062..c7cedfe 100644 --- a/generator.lisp +++ b/generator.lisp @@ -486,4 +486,18 @@ (generate-site) -(quit) +;; now quit portably (ripped from Sharp-CLOCC) + + #+abcl (ext:quit code) + #+allegro (excl:exit code) + #+clisp (ext:quit code) + #+cmu (ext:quit code) + #+cormanlisp (win32:exitprocess code) + #+ecl (ext:quit) + #+gcl (lisp:bye code) + #+lispworks (lw:quit :status code) + #+lucid (lcl:quit code) + #+sbcl (sb-ext:quit :unix-status + (typecase code ((signed-byte 32) code) (null 0) (t 1))) + #-(or allegro clisp cmu cormanlisp gcl lispworks lucid sbcl) + (error 'not-implemented :proc (list 'quit code))