Recently Written · git

cl-yag

Mirror and rewrite of Solène Rapenne's cl-yag SSG of renown

git clone https://github.com/equwal/cl-yag

Log | Files | Refs


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))