chiark / gitweb /
doc/concepts.tex: A number of minor fixes.
[sod] / src / module-proto.lisp
index acb1926cf10b428f47ecefcc7621a9642206e121..a79069a933788c7a7a7d800338abfcfb4ef48bf1 100644 (file)
@@ -7,7 +7,7 @@
 
 ;;;----- Licensing notice ---------------------------------------------------
 ;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sensible Object Design, an object system for C.
 ;;;
 ;;; SOD is free software; you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
@@ -84,7 +84,10 @@ (defmacro define-clear-the-decks (name &body body)
 
    When `clear-the-decks' is called, the BODY will be evaluated as a progn.
    The relative order of `clear-the-decks' operations is unspecified."
-  `(add-clear-the-decks-function ',name (lambda () ,@body)))
+  (multiple-value-bind (docs decls body) (parse-body body)
+    `(add-clear-the-decks-function ',name (lambda ()
+                                           ,@docs ,@decls
+                                           (block ,name ,@body)))))
 
 (export 'clear-the-decks)
 (defun clear-the-decks ()
@@ -148,7 +151,8 @@ (defgeneric finalize-module (module)
 (export '(module module-name module-pset module-items module-dependencies))
 (defclass module ()
   ((name :initarg :name :type pathname :reader module-name)
-   (pset :initarg :pset :initform (make-pset) :type pset :reader module-pset)
+   (%pset :initarg :pset :initform (make-pset)
+         :type pset :reader module-pset)
    (items :initarg :items :initform nil :type list :accessor module-items)
    (dependencies :initarg :dependencies :initform nil
                 :type list :accessor module-dependencies)