;; exercise the property-set fiddling in `shared-initialize' and we can
;; catch unknown-property errors.
(change-class module class :state t :pset pset)
- (check-unused-properties pset)
- module))
+ (check-unused-properties pset)))
;;;--------------------------------------------------------------------------
;;; Module objects.
(with-module-environment ()
(module-import *builtin-module*)
(funcall thunk)
- (finalize-module *module*))
+ (finalize-module *module*)
+ *module*)
(when (and truename (not (eq (module-state *module*) t)))
(remhash truename *module-map*)))))
(:documentation
"A plain fragment of C to be dropped in at top-level."))
-(defmacro define-fragment ((reason name) &body things)
- (categorize (thing things)
- ((constraints (listp thing))
- (frags (typep thing '(or string c-fragment))))
- (when (null frags)
- (error "Missing code fragment"))
- (when (cdr frags)
- (error "Multiple code fragments"))
- `(add-to-module
- *module*
- (make-instance 'code-fragment-item
- :fragment ',(car frags)
- :name ,name
- :reason ,reason
- :constraints (list ,@(mapcar (lambda (constraint)
- (cons 'list constraint))
- constraints))))))
-
;;;--------------------------------------------------------------------------
;;; File searching.