chiark / gitweb /
src/utilities.lisp (compose): Handle the case of zero arguments.
[sod] / src / module-proto.lisp
index 7e42a5b5c1c171528476411209142f503e9b1a89..b45a99433db08da493e47d405093a6905fa95422 100644 (file)
@@ -141,9 +141,9 @@ (defgeneric finalize-module (module)
    according to the class choice set in the module's `:module-class'
    property.  This has the side effects of calling `shared-initialize',
    setting the module's state to `t', and checking for unrecognized
-   properties.  (Therefore subclasses should add a method to
-   `shared-initialize' taking care of looking at interesting properties, just
-   to make sure they're ticked off.)"))
+   properties.  (Therefore subclasses should add a method to `shared-
+   initialize' taking care of looking at interesting properties, just to make
+   sure they're ticked off.)"))
 
 ;;;--------------------------------------------------------------------------
 ;;; Module objects.
@@ -224,4 +224,17 @@ (defmacro with-temporary-module ((&key) &body body)
   "Evaluate BODY within the context of a temporary module."
   `(call-with-temporary-module (lambda () ,@body)))
 
+;;;--------------------------------------------------------------------------
+;;; Code fragments.
+
+(export '(c-fragment c-fragment-text))
+(defclass c-fragment ()
+  ((location :initarg :location :type file-location :reader file-location)
+   (text :initarg :text :type string :reader c-fragment-text))
+  (:documentation
+   "Represents a fragment of C code to be written to an output file.
+
+   A C fragment is aware of its original location, and will bear proper
+   `#line' markers when written out."))
+
 ;;;----- That's all, folks --------------------------------------------------