From 54c017728489af16b13e13541e7cc53c985ca436 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sun, 30 Aug 2015 10:58:38 +0100 Subject: [PATCH] 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. --- src/builtin.lisp | 3 +++ src/final.lisp | 1 - src/frontend.lisp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) 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) ;;;-------------------------------------------------------------------------- -- 2.11.0