chiark
/
gitweb
/
~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/c-types-impl.lisp: Remember `signed' as a C-level synonym for `int'.
[sod]
/
src
/
module-proto.lisp
diff --git
a/src/module-proto.lisp
b/src/module-proto.lisp
index 9c7fcaf17ddc2350fda8f5a89aeb98868f05ec3a..7e42a5b5c1c171528476411209142f503e9b1a89 100644
(file)
--- a/
src/module-proto.lisp
+++ b/
src/module-proto.lisp
@@
-7,7
+7,7
@@
;;;----- Licensing notice ---------------------------------------------------
;;;
;;;----- Licensing notice ---------------------------------------------------
;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sens
i
ble 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
;;;
;;; 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."
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 ()
(export 'clear-the-decks)
(defun clear-the-decks ()
@@
-145,11
+148,13
@@
(defgeneric finalize-module (module)
;;;--------------------------------------------------------------------------
;;; Module objects.
;;;--------------------------------------------------------------------------
;;; Module objects.
-(export '(module module-name module-pset module-items module-dependencies))
+(export '(module module-name module-pset module-errors
+ 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)
(defclass module ()
((name :initarg :name :type pathname :reader module-name)
(%pset :initarg :pset :initform (make-pset)
:type pset :reader module-pset)
+ (errors :initarg :errors :initform 0 :type fixnum :reader module-errors)
(items :initarg :items :initform nil :type list :accessor module-items)
(dependencies :initarg :dependencies :initform nil
:type list :accessor module-dependencies)
(items :initarg :items :initform nil :type list :accessor module-items)
(dependencies :initarg :dependencies :initform nil
:type list :accessor module-dependencies)