X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/020b9e2b4364c61a668d47c4c5405295349817d8..8a7afc76fd5f929de335cf318741e3489d6c6107:/doc/misc.tex

diff --git a/doc/misc.tex b/doc/misc.tex
index 5bf3e18..05f5619 100644
--- a/doc/misc.tex
+++ b/doc/misc.tex
@@ -30,6 +30,9 @@
 
 These symbols are defined in the @|sod-utilities| package.
 
+
+\subsection{Macro utilities}
+
 \begin{describe}{mac}
     {with-gensyms (@{ @<var> @! (@<var> @[@<name>@]) @}^*)      \\ \ind
       @<declaration>^*                                          \\
@@ -51,6 +54,12 @@ These symbols are defined in the @|sod-utilities| package.
 \begin{describe}{cls}{loc}
 \end{describe}
 
+\begin{describe}{fun}{symbolicate \&rest @<symbols> @> @<symbol>}
+\end{describe}
+
+
+\subsection{Locatives}
+
 \begin{describe}{fun}{locp @<object> @> @<generalized-boolean>}
 \end{describe}
 
@@ -70,12 +79,18 @@ These symbols are defined in the @|sod-utilities| package.
       @<form>^*}
 \end{describe}
 
+
+\subsection{Anaphorics}
+
 \begin{describe}{sym}{it}
 \end{describe}
 
 \begin{describe}{mac}{aif @<condition> @<consequent> @[@<alt>@]}
 \end{describe}
 
+\begin{describe}{mac}{aand @<form>^*}
+\end{describe}
+
 \begin{describe}{mac}{awhen @<condition> @<form>^*}
 \end{describe}
 
@@ -94,6 +109,9 @@ These symbols are defined in the @|sod-utilities| package.
 \begin{describe}{mac}{asetf @{ @<place> @<value> @}^*}
 \end{describe}
 
+
+\subsection{Metaobject protocol utilities}
+
 \begin{describe}{gf}{instance-initargs @<instance>}
 \end{describe}
 
@@ -110,6 +128,23 @@ These symbols are defined in the @|sod-utilities| package.
      \dhead{gf}{eql-specializer-object @<specializer> @> @<value>}}
 \end{describe*}
 
+
+\subsection{Other CLOS utilities}
+
+\begin{describe}{mac}
+    {default-slot (@<instance> @<slot> @[@<slot-names>@])       \\ \ind
+      @<form>^*}
+\end{describe}
+
+\begin{describe}{mac}
+    {define-on-demand-slot @<class> @<slot> (@<instance>)       \\ \ind
+      @[[ @<declaration>^* @! @<doc-string> @]]                 \\
+      @<form>^*}
+\end{describe}
+
+
+\subsection{Building lists}
+
 \begin{describe}{fun}{make-list-builder \&optional @<initial> @> @<builder>}
 \end{describe}
 
@@ -122,18 +157,33 @@ These symbols are defined in the @|sod-utilities| package.
 \begin{describe}{fun}{lbuild-list @<builder> @> @<list>}
 \end{describe}
 
-\begin{describe}{fun}
-    {mappend @<function> @<list> \&rest @<more-lists> @> @<result-list>}
-\end{describe}
 
-\begin{describe}{cls}{inconsistent-merge-error (error) \&key :candidates}
+\subsection{Merging lists}
+
+\begin{describe}{cls}
+    {inconsistent-merge-error (error) \&key :candidates :present}
 \end{describe}
 
 \begin{describe}{gf}{merge-error-candidates @<error> @> @<list>}
 \end{describe}
 
+\begin{describe}{gf}{merge-error-present-function @<error> @> @<function>}
+\end{describe}
+
+\begin{describe}{fun}
+    {merge-lists @<lists> \&key :pick (:test \#'eql) :present @> @<list>}
+\end{describe}
+
+
+\subsection{Other list utilities}
+
+\begin{describe}{fun}
+    {mappend @<function> @<list> \&rest @<more-lists> @> @<result-list>}
+\end{describe}
+
 \begin{describe}{fun}
-    {merge-lists @<lists> \&key :pick (:test \#'eql) @> @<list>}
+    {distinguished-point-shortest-paths @<root> @<neighbours-func>
+      @> @<list>}
 \end{describe}
 
 \begin{describe}{mac}
@@ -143,16 +193,22 @@ These symbols are defined in the @|sod-utilities| package.
                                                                 \\ \ind\ind
         (@{ (@<cat-var> @<cat-predicate>) @}^*)               \-\\
       @<declaration>^*                                          \\
-      @<body-form>^*
+      @<form>^*
      \-\nlret @<value>^*}
 \end{describe}
 
+\begin{describe}{fun}{partial-order-minima @<items> @<order> @> @<list>}
+\end{describe}
+
 \begin{describe}{fun}
-    {frob-identifier @<string> \&key :swap-case :swap-hyphen
-      @> @<frobbed-string>}
+    {find-duplicates @<report> @<sequence> \&key :identity :test}
 \end{describe}
 
-\begin{describe}{fun}{whitespace-char-p @<character> @> @<generic-function>}
+
+\subsection{Position tracking}
+
+\begin{describe}{fun}
+    {whitespace-char-p @<character> @> @<generalized-boolean>}
 \end{describe}
 
 \begin{describe}{fun}
@@ -165,12 +221,8 @@ These symbols are defined in the @|sod-utilities| package.
       @> @<old-line> @<old-column>}
 \end{describe}
 
-\begin{describe}{fun}
-    {compose @<function> \&rest @<more-functions> @> @<function>}
-\end{describe}
 
-\begin{describe}{fun}{symbolicate \&rest @<symbols> @> @<symbol>}
-\end{describe}
+\subsection{Object printing}
 
 \begin{describe}{mac}
     {maybe-print-unreadable-object
@@ -184,49 +236,83 @@ These symbols are defined in the @|sod-utilities| package.
 \begin{describe}{fun}{print-ugly-stuff @<stream> @<func> @> @<value>^*}
 \end{describe}
 
-\begin{describe}{mac}
-    {dosequence (@<var> @<sequence>
-                 @[[ :start @<start> @! :end @<end> @!
-                     :indexvar @<var> @]])                      \\ \ind
-      @<declaration>^*                                          \\
-      @{ @<tag> @! @<statement> @}^*}
-\end{describe}
 
-\begin{describe}{mac}
-    {define-access-wrapper @<from> @<to>
-                           @[[ :read-only @<read-only-flag> @]]}
+\subsection{Condition utilities}
+
+\begin{describe}{cls}
+    {simple-control-error (control-error simple-error)
+        \&key :format-control :format-arguments}
 \end{describe}
 
-\begin{describe}{mac}
-    {default-slot (@<instance> @<slot> @[@<slot-names>@])       \\ \ind
-      @<form>^*}
+\begin{describe}{fun}
+    {designated-condition
+        \=@<default-type> @<datum> @<arguments>                 \\
+        \>\&key :allow-pointless-arguments
+      \nlret @<condition>}
 \end{describe}
 
-\begin{describe}{mac}
-    {define-on-demand-slot @<class> @<slot> (@<instance>)       \\ \ind
-      @[[ @<declaration>^* @! @<doc-string> @]]                 \\
-      @<form>^*}
+\begin{describe}{fun}
+    {invoke-associated-restart @<restart> @<condition> \&rest @<arguments>}
 \end{describe}
 
-%%%--------------------------------------------------------------------------
-\section{Condition utilities} \label{sec:misc.condition}
+\begin{describe*}
+    {\dhead{cls}{enclosing-condition (condition) \&key :condition}
+     \dhead{gf}{enclosed-condition @<enclosing-condition> @> @<condition>}}
+\end{describe*}
 
-These symbols are defined in the @|sod-parser| package.
+\begin{describe}{cls}{information (condition) \&key}
+\end{describe}
 
-\begin{describe}{cls}{enclosing-condition (condition) \&key :condition}
+\begin{describe}{cls}
+    {simple-information (simple-condition information)          \\ \ind
+      \&key :format-control :format-arguments}
 \end{describe}
 
-\begin{describe}{gf}
-    {enclosed-condition @<enclosing-condition> @> @<condition>}
+\begin{describe*}
+    {\dhead{fun}{info @<datum> \&rest @<arguments> @> @<flag>}
+     \dhead{rst}{noted}
+     \dhead{fun}{noted \&optional @<condition>}}
+\end{describe*}
+
+\begin{describe}{fun}
+    {promiscuous-cerror @<continue-string> @<datum> \&rest @<arguments>}
 \end{describe}
 
 \begin{describe}{fun}{cerror* @<datum> \&rest @<arguments>}
 \end{describe}
 
+
+\subsection{Very miscellaneous utilities}
+
+\begin{describe}{fun}
+    {frob-identifier @<string> \&key :swap-case :swap-hyphen
+      @> @<frobbed-string>}
+\end{describe}
+
+\begin{describe}{fun}
+    {compose @<function> \&rest @<more-functions> @> @<function>}
+\end{describe}
+
+\begin{describe}{mac}{defvar-unbound @<name> @<documentation> @> @<name>}
+\end{describe}
+
+\begin{describe}{mac}
+    {dosequence (@<var> @<sequence>
+                 @[[ :start @<start> @! :end @<end> @!
+                     :indexvar @<var> @]])                      \\ \ind
+      @<declaration>^*                                          \\
+      @{ @<tag> @! @<statement> @}^*}
+\end{describe}
+
+\begin{describe}{mac}
+    {define-access-wrapper @<from> @<to>
+                           @[[ :read-only @<read-only-flag> @]]}
+\end{describe}
+
 %%%--------------------------------------------------------------------------
 \section{Option parser} \label{sec:misc.optparse}
 
-These symbols are defined in the @!optparse| package.
+These symbols are defined in the @|optparse| package.
 
 \begin{describe}{fun}{exit \&optional (@<code> 0) \&key :abrupt}
 \end{describe}
@@ -458,9 +544,6 @@ These symbols are defined in the @!optparse| package.
      \dhead{fun}{setf (p-seenp @<property>) @<boolean>}}
 \end{describe*}
 
-\begin{describe}{gf}{decode-property @<raw-value> @> @<type> @<value>}
-\end{describe}
-
 \begin{describe}{gf}
     {coerce-property-value @<value> @<type> @<wanted> @> @<coerced-value>}
 \end{describe}
@@ -520,12 +603,17 @@ These symbols are defined in the @!optparse| package.
 \end{describe}
 
 \begin{describe}{fun}
+    {parse-property @<scanner> @<pset>
+      @> @<result> @<success-flag> @<consumed-flag>}
+\end{describe}
+
+\begin{describe}{fun}
     {parse-property-set @<scanner>
       @> @<result> @<success-flag> @<consumed-flag>}
 \end{describe}
 
 %%%--------------------------------------------------------------------------
-\section{Miscellaneous translator features} \label{sec:misc.pset}
+\section{Miscellaneous translator features} \label{sec:misc.misc}
 
 \begin{describe}{var}{*sod-version*}
 \end{describe}
@@ -533,7 +621,8 @@ These symbols are defined in the @!optparse| package.
 \begin{describe}{var}{*debugout-pathname*}
 \end{describe}
 
-\begin{describe}{fun}{test-module @<path> @<reason>}
+\begin{describe}{fun}
+    {test-module @<path> \&key :reason :clear :backtrace @> @<status>}
 \end{describe}
 
 \begin{describe}{fun}
@@ -541,9 +630,14 @@ These symbols are defined in the @!optparse| package.
       @> t @<c-type> @<kernel> @<string> @! nil @<indicator>}
 \end{describe}
 
+\begin{describe}{fun}
+    {test-parse-pset @<string>
+      @> t @<pset> @! nil @<indicator>}
+\end{describe}
+
 \begin{describe}{mac}
-    {test-parser (@<scanner>) @<parser> @<input>
-      @> @<success-flag> @<result> @<remainder>}
+    {test-parser (@<scanner> \&key :backtrace) @<parser> @<input>
+      @> @<result> @<status> @<remainder>}
 \end{describe}
 
 \begin{describe}{fun}{exercise}
