From a75cd932464ce21ab46e9eaec83e4b1359649bc6 Mon Sep 17 00:00:00 2001
From: Mark Wooding <mdw@distorted.org.uk>
Date: Wed, 7 Aug 2019 18:24:00 +0100
Subject: [PATCH] doc/*.tex: Add, remove, and/or fix stubs to match reality.

Many stubs were missing.  A few were wrongly spelled, or had the wrong
category.  Some were spurious.  Fixfixfix.
---
 doc/clang.tex   | 25 ++++++++++++++++++++++++-
 doc/layout.tex  | 22 ++++++++++++++++------
 doc/meta.tex    |  6 +++++-
 doc/misc.tex    |  7 +++++--
 doc/module.tex  |  5 ++++-
 doc/output.tex  | 10 ++++++++++
 doc/parsing.tex | 32 ++++++++++++++++++++++++++++----
 7 files changed, 92 insertions(+), 15 deletions(-)

diff --git a/doc/clang.tex b/doc/clang.tex
index 0047efb..7c32723 100644
--- a/doc/clang.tex
+++ b/doc/clang.tex
@@ -91,6 +91,9 @@ similar names.
 Neither generic function defines a default primary method; subclasses of
 @|c-type| must define their own methods in order to print correctly.
 
+\begin{describe}{fun}{c-name-case @<name> @> @<string>}
+\end{describe}
+
 
 \subsection{The C type root class} \label{sec:clang.c-types.root}
 
@@ -347,12 +350,16 @@ methods to \descref{gf}{c-qualifier-keyword}.
   The class @|qualifiable-c-type| is abstract.
 \end{describe}
 
+\begin{describe}{fun}
+    {canonify-qualifiers @<qualifiers> @> @<canonfied-qualifiers>}
+\end{describe}
+
 \begin{describe}{gf}{c-type-qualifiers @<c-type> @> @<list>}
   Returns the qualifiers of the @|qualifiable-c-type| instance @<c-type> as
   an immutable list.
 \end{describe}
 
-\begin{describe}{fun}{qualify-type @<c-type> @<qualifiers> @> @<c-type>}
+\begin{describe}{fun}{qualify-c-type @<c-type> @<qualifiers> @> @<c-type>}
   The argument @<c-type> must be an instance of @|qualifiable-c-type|,
   currently bearing no qualifiers, and @<qualifiers> a list of qualifier
   keywords.  The result is a C type object like @<c-type> except that it
@@ -620,6 +627,14 @@ In Sod, the leaf types are
   structs and unions.
 \end{boxy}
 
+\begin{describe}{gf}{c-type-tag @<c-type> @> @<keyword>}
+\end{describe}
+
+\begin{describe}{fun}
+    {make-c-tagged-type @<kind> @<tag> \&optional @<qualifiers>
+      @> @<tagged-type>}
+\end{describe}
+
 \begin{describe}{gf}{c-tagged-type-kind @<c-type> @> @<keyword>}
   Returns a keyword classifying the tagged @<c-type>: one of @|:enum|,
   @|:struct| or @|:union|.  User-defined subclasses of @|tagged-c-type|
@@ -1016,6 +1031,11 @@ function type is the type of the function's return value.
   Return the (non-keyword) argument list of the @<c-function-type>.
 \end{describe}
 
+\begin{describe}{gf}
+    {c-function-keywords @<c-function-type> @> @<keywords>}
+  Return the keyword-argument list of the @<c-function-type>.
+\end{describe}
+
 \begin{describe}{fun}
     {commentify-function-type @<c-function-type> @> @<commentified-c-type>}
   Return a commentified version of the @<c-function-type>.
@@ -1179,6 +1199,9 @@ Temporary names are represented by objects which implement a simple protocol.
   subclasses, but is also usable on its own.
 \end{describe}
 
+\begin{describe}{gf}{temp-tag @<name> @> @<tag>}
+\end{describe}
+
 \begin{describe}{meth}{temporary-name}
     {commentify-argument-name (@<name> temporary-name) @> nil}
 \end{describe}
diff --git a/doc/layout.tex b/doc/layout.tex
index cdad468..dfe67d2 100644
--- a/doc/layout.tex
+++ b/doc/layout.tex
@@ -101,7 +101,7 @@
 \begin{describe}{gf}{compute-islots @<class> @<subclass> @> @<islots>}
 \end{describe}
 
-\begin{describe}{gf}{vtable-pointer () \&key :class :chain-head :chain-tail}
+\begin{describe}{cls}{vtable-pointer () \&key :class :chain-head :chain-tail}
 \end{describe}
 
 \begin{describe*}
@@ -110,20 +110,20 @@
      \dhead{gf}{vtable-pointer-chain-tail @<vtable-pointer> @> @<class>}}
 \end{describe*}
 
-\begin{describe}{gf}{ichain () \&key :class :chain-head :chain-tail :body}
+\begin{describe}{cls}{ichain () \&key :class :chain-head :chain-tail :body}
 \end{describe}
 
 \begin{describe*}
     {\dhead{gf}{ichain-class @<ichain> @> @<class>}
-     \dhead{gf}{ichain-chain-head @<ichain> @> @<class>}
-     \dhead{gf}{ichain-chain-tail @<ichain> @> @<class>}
+     \dhead{gf}{ichain-head @<ichain> @> @<class>}
+     \dhead{gf}{ichain-tail @<ichain> @> @<class>}
      \dhead{gf}{ichain-body @<ichain> @> @<list>}}
 \end{describe*}
 
 \begin{describe}{gf}{compute-ichain @<class> @<chain> @> @<ichain>}
 \end{describe}
 
-\begin{describe}{gf}{ilayout () \&key :class :ichains}
+\begin{describe}{cls}{ilayout () \&key :class :ichains}
 \end{describe}
 
 \begin{describe*}
@@ -149,6 +149,11 @@
      \dhead{gf}{vtmsgs-entries @<vtmsgs> @> @<list>}}
 \end{describe*}
 
+\begin{describe}{gf}
+    {compute-vtmsgs @<class> @<subclass> @<chain-head> @<chain-tail>
+      @> @<vtmsgs>}
+\end{describe}
+
 \begin{describe}{cls}
     {class-pointer () \&key :class :chain-head :metaclass :meta-chain-head}
 \end{describe}
@@ -192,7 +197,7 @@
       @> @<chain-offset>}
 \end{describe}
 
-\begin{describe}{gf}{vtable () \&key :class :chain-head :chain-tail :body}
+\begin{describe}{cls}{vtable () \&key :class :chain-head :chain-tail :body}
 \end{describe}
 
 \begin{describe*}
@@ -453,6 +458,11 @@
       \&key :name :location :class :type :combination}
 \end{describe}
 
+\begin{describe*}
+    {\dhead{gf}{sod-message-combination @<message> @> @<keyword>}
+     \dhead{gf}{sod-message-kernel-function @<message> @> @<function>}}
+\end{describe*}
+
 \begin{describe}{gf}
     {aggregating-message-properties @<message> @<combination> @> @<plist>}
 \end{describe}
diff --git a/doc/meta.tex b/doc/meta.tex
index c4587a3..0f113b0 100644
--- a/doc/meta.tex
+++ b/doc/meta.tex
@@ -147,7 +147,8 @@
 
 \begin{describe*}
     {\dhead{gf}{sod-initializer-slot @<init> @> @<slot>}
-     \dhead{gf}{sod-initializer-value @<init> @> @<fragment>}}
+     \dhead{gf}{sod-initializer-value @<init> @> @<fragment>}
+     \dhead{gf}{sod-initializer-class @<init> @> @<class>}}
 \end{describe*}
 
 \begin{describe*}
@@ -184,6 +185,9 @@
      \dhead{gf}{sod-initarg-slot @<initarg> @> @<slot>}}
 \end{describe*}
 
+\begin{describe}{gf}{sod-initarg-argument @<initarg> @> @<argument>}
+\end{describe}
+
 \begin{describe}{gf}
     {make-sod-user-initarg @<class> @<name> @<type> @<pset>
                            \&key :default :location
diff --git a/doc/misc.tex b/doc/misc.tex
index 1e58cdf..890dd14 100644
--- a/doc/misc.tex
+++ b/doc/misc.tex
@@ -931,8 +931,8 @@ Most of these symbols are defined in the @|optparse| package.
      \dhead{fun}{setf (opt-negated-tag @<option>) @<tag>}
      \dhead{fun}{opt-arg-name @<option> @> @<string-or-null>}
      \dhead{fun}{setf (opt-arg-name @<option>) @<string-or-null>}
-     \dhead{fun}{opt-optional-p @<option> @> @<generalized-boolean>}
-     \dhead{fun}{setf (opt-optional-p @<option>) @<generalized-boolean>}
+     \dhead{fun}{opt-arg-optional-p @<option> @> @<generalized-boolean>}
+     \dhead{fun}{setf (opt-arg-optional-p @<option>) @<generalized-boolean>}
      \dhead{fun}{opt-documentation @<option> @> @<string-or-null>}
      \dhead{fun}{setf (opt-documentation @<option>) @<string-or-null>}}
 \end{describe*}
@@ -969,6 +969,9 @@ Most of these symbols are defined in the @|optparse| package.
       \&key :format-control :format-arguments}
 \end{describe}
 
+\begin{describe}{fun}{option-parse-error @<msg> \&optional @<args>}
+\end{describe}
+
 \begin{describe}{fun}{option-parse-remainder @<option-parser>}
 \end{describe}
 
diff --git a/doc/module.tex b/doc/module.tex
index 67bf377..5d245dd 100644
--- a/doc/module.tex
+++ b/doc/module.tex
@@ -58,8 +58,11 @@
      \dhead{gf}{module-pset @<module> @> @<pset>}
      \dhead{gf}{module-errors @<module> @> @<integer>}
      \dhead{gf}{module-items @<module> @> @<list>}
+     \dhead{gf}{setf (module-items @<module>) @<list>}
      \dhead{gf}{module-dependencies @<module> @> @<list>}
-     \dhead{gf}{module-state @<module> @> @<keyword>}}
+     \dhead{gf}{setf (module-dependencies @<module>) @<list>}
+     \dhead{gf}{module-state @<module> @> @<symbol>}
+     \dhead{gf}{setf (module-state @<module>) @<keyword>}}
 \end{describe*}
 
 \begin{describe}{var}{*module*}
diff --git a/doc/output.tex b/doc/output.tex
index 37ab159..2284703 100644
--- a/doc/output.tex
+++ b/doc/output.tex
@@ -139,6 +139,12 @@ until the third.  So the final processing order is
 \begin{describe}{cls}{sequencer () \&key :constraints}
 \end{describe}
 
+\begin{describe*}
+    {\dhead{fun}{sequencer-constraints @<sequencer> @> @<list>}
+     \dhead{fun}{setf (sequencer-constraints @<sequencer>) @<list>}
+     \dhead{fun}{sequencer-table @<sequencer> @> @<hash-table>}}
+\end{describe*}
+
 \begin{describe}{fun}{ensure-sequencer-item @<sequencer> @<name> @> @<item>}
 \end{describe}
 
@@ -146,6 +152,10 @@ until the third.  So the final processing order is
 \end{describe}
 
 \begin{describe}{fun}
+    {add-sequencer-item-function @<sequencer> @<name> @<function>}
+\end{describe}
+
+\begin{describe}{fun}
     {invoke-sequencer-items @<sequencer> \&rest @<arguments>}
 \end{describe}
 
diff --git a/doc/parsing.tex b/doc/parsing.tex
index c694ef8..0d9bf04 100644
--- a/doc/parsing.tex
+++ b/doc/parsing.tex
@@ -63,6 +63,11 @@ consumed any input items.
      \dhead{gf}{setf (position-aware-stream-column @<stream>) @<fixnum>}}
 \end{describe*}
 
+\begin{describe*}
+    {\dhead{cls}{position-aware-input-stream \&key :file :line :column}
+     \dhead{cls}{position-aware-output-stream \&key :file :line :column}}
+\end{describe*}
+
 \begin{describe}{gf}{stream-pathname @<stream> @> @<pathname-or-nil>}
   \begin{describe}{meth}{stream}
       {stream-pathname (@<stream> stream) @> nil}
@@ -136,6 +141,9 @@ consumed any input items.
        {information-with-location (condition-with-location information) \\ \>
          \&key :location}
      \dhead{cls}
+       {enclosing-condition-with-location (condition)           \\ \>
+         \&key :location}
+     \dhead{cls}
        {enclosing-error-with-location
            (enclosing-error-with-location error)                \\ \>
          \&key :condition :location}
@@ -180,7 +188,8 @@ consumed any input items.
      \dhead{fun}{cerror-with-location @<floc> @<continue-string>
                                       @<datum> \&rest @<arguments>}
      \dhead{fun}{cerror*-with-location @<floc> @<datum> \&rest @<arguments>}
-     \dhead{fun}{warn-with-location @<floc> @<datum> \&rest @<arguments>}}
+     \dhead{fun}{warn-with-location @<floc> @<datum> \&rest @<arguments>}
+     \dhead{fun}{info-with-location @<floc> @<datum> \&rest @<arguments>}}
 \end{describe*}
 
 \begin{describe*}
@@ -458,6 +467,10 @@ file-location protocols.
   the scanner will update the location as it reads its input.
 \end{describe}
 
+\begin{describe}{cls}
+    {charbuf-scanner-stream (character-scanner-stream) \&key :scanner}
+\end{describe}
+
 \begin{describe}{cls}{charbuf-scanner-place}
   The class of place objects captured by a charbuf scanner.
 \end{describe}
@@ -513,6 +526,11 @@ file-location protocols.
     {token-scanner () \&key :filename (:line 1) (:column 0)}
 \end{describe}
 
+\begin{describe*}
+    {\dhead{gf}{setf (scanner-line @<scanner>) @<fixnum>}
+     \dhead{gf}{setf (scanner-column @<scanner>) @<fixnum>}}
+\end{describe*}
+
 \begin{describe}{gf}{token-type @<scanner> @> @<type>}
 \end{describe}
 
@@ -614,6 +632,9 @@ file-location protocols.
      \-\nlret @<value>^*}
 \end{describe}
 
+\begin{describe}{cls}{list-parser () \&key :var}
+\end{describe}
+
 
 \subsection{Basic parser syntax} \label{sec:parsing.syntax.basic}
 
@@ -729,6 +750,10 @@ file-location protocols.
 \begin{describe}{gf}{parser-current-char @<context> @> @<form>}
 \end{describe}
 
+\begin{describe}{cls}
+    {string-parser (character-parser-context) \&key :string :index :length}
+\end{describe}
+
 \begin{describe}{parseform}
     {if-char (@[@<result-var>@]) @<condition> @<consequent> @<alternative>}
 \end{describe}
@@ -778,7 +803,7 @@ file-location protocols.
 \begin{describe}{cls}{scanner-context () \&key :scanner}
 \end{describe}
 
-\begin{describe}{gf}{parse-scanner @<context> @> @<symbol>}
+\begin{describe}{gf}{parser-scanner @<context> @> @<symbol>}
 \end{describe}
 
 \begin{describe}{cls}
@@ -857,8 +882,7 @@ file-location protocols.
 \end{describe*}
 
 \begin{describe*}
-    {\dhead{cls}{parenthesis () \&key :tag}
-     \dhead{cls}{open-parenthesis (parenthesis prefix-operator) \&key :tag}
+    {\dhead{cls}{open-parenthesis (parenthesis prefix-operator) \&key :tag}
      \dhead{cls}{close-parenthesis (parenthesis) \&key :tag}}
 \end{describe*}
 
-- 
2.11.0

