An actual running implementation, which makes code that compiles.
[sod] / src / output-proto.lisp
index 1630de6..3483daa 100644 (file)
@@ -48,7 +48,7 @@
   (:documentation
    "A sequencer tracks items and invokes them in the proper order.
 
-   The job of a SEQUENCER object is threefold.  Firstly, it collects
+   The job of a `sequencer' object is threefold.  Firstly, it collects
    sequencer items and stores them in its table indexed by name.  Secondly,
    it gathers CONSTRAINTS, which impose an ordering on the items.  Thirdly,
    it can be instructed to invoke the items in an order compatible with the
@@ -72,7 +72,7 @@
    "Attach the given CONSTRAINT to an SEQUENCER.
 
    The CONSTRAINT should be a list of sequencer-item names; see
-   ENSURE-SEQUENCER-ITEM for what they look like.  Note that the names
+   `ensure-sequencer-item' for what they look like.  Note that the names
    needn't have been declared in advance; indeed, they needn't be mentioned
    anywhere else at all."))
 
@@ -85,9 +85,9 @@
    They are called in the same order in which they were added.
 
    Note that an item must be mentioned in at least one constraint in order to
-   be traversed by INVOKE-SEQUENCER-ITEMS.  If there are no special ordering
-   requirments for a particular item, then the trivial constraint (NAME) will
-   suffice."))
+   be traversed by `invoke-sequencer-items'.  If there are no special
+   ordering requirments for a particular item, then the trivial
+   constraint (NAME) will suffice."))
 
 (export 'invoke-sequencer-items)
 (defgeneric invoke-sequencer-items (sequencer &rest arguments)
 ;;;--------------------------------------------------------------------------
 ;;; Output preparation.
 
+(export 'hook-output)
 (defgeneric hook-output (object reason sequencer)
   (:documentation
    "Announces the intention to write SEQUENCER, with a particular REASON.
 
-   The SEQUENCER is an SEQUENCER instance; the REASON will be a symbol which
-   can be matched using an EQL-specializer.  In response, OBJECT should add
+   The SEQUENCER is a `sequencer' instance; the REASON will be a symbol which
+   can be matched using an `eql'-specializer.  In response, OBJECT should add
    any constraints and item functions that it wishes, and pass the
    announcement to its sub-objects.  It is not uncommon for an object to pass
    a reason to its sub-objects that is different from the REASON with which
    it was itself invoked.")
 
   (:method-combination progn)
-  (:method progn (object reason sequencer)))
+  (:method progn (object reason sequencer)
+          (declare (ignore object reason sequencer))))
 
 ;;;--------------------------------------------------------------------------
 ;;; Useful syntax.