From: Mark Wooding Date: Sun, 30 Aug 2015 09:58:38 +0000 (+0100) Subject: src/{builtin,final,frontent}.lisp: `clear-the-decks' makes builtin module. X-Git-Url: https://git.distorted.org.uk/~mdw/sod/commitdiff_plain/54c017728489af16b13e13541e7cc53c985ca436 src/{builtin,final,frontent}.lisp: `clear-the-decks' makes builtin module. Add a `clear-the-decks' function which will make the builtin module if it's not been set up yet. Now we don't need to do this explicitly and everything is better. --- diff --git a/src/builtin.lisp b/src/builtin.lisp index 696bcf6..5aad5f5 100644 --- a/src/builtin.lisp +++ b/src/builtin.lisp @@ -332,4 +332,7 @@ static const SodClass *const ~A__cpl[] = { (bootstrap-classes module)) (setf *builtin-module* module))) +(define-clear-the-decks builtin-module + (unless *builtin-module* (make-builtin-module))) + ;;;----- That's all, folks -------------------------------------------------- diff --git a/src/final.lisp b/src/final.lisp index 12b6294..5df72f1 100644 --- a/src/final.lisp +++ b/src/final.lisp @@ -35,7 +35,6 @@ (defun test-module (path reason) "Reset the translator's state, read a module from PATH and output it with REASON, returning the result as a string." - (unless *builtin-module* (make-builtin-module)) (clear-the-decks) (setf *module-map* (make-hash-table :test #'equal)) (with-open-file (out *debugout-pathname* diff --git a/src/frontend.lisp b/src/frontend.lisp index 26afbfc..98652ec 100644 --- a/src/frontend.lisp +++ b/src/frontend.lisp @@ -32,7 +32,7 @@ ;;;-------------------------------------------------------------------------- ;;; Preparation for dumping. -(make-builtin-module) +(clear-the-decks) (exercise) ;;;--------------------------------------------------------------------------