diff --git a/books/axiom.sty b/books/axiom.sty index 6efebf5..e84fc2e 100644 --- a/books/axiom.sty +++ b/books/axiom.sty @@ -235,7 +235,7 @@ %% \newcommand{\defvar}[1]{% e.g. \defvar{varname} -\subsection{defvar \${#1}}% +\subsection{defvar {#1}}% \label{#1}% \index{#1}% \index{defvar!#1}% @@ -323,11 +323,24 @@ %% {\bf mkprompt} : {\bf Void} $->$ {\bf String} %% which formats to %% mkprompt : Void -> String -%% and an index of mkprompt under signatures %% +%% and an index of mkprompt under signatures in the index. +%% +%% This macro also writes the signature to the ``sigfile'' which +%% must be opened after the begin{document} with the command +%% \immediate\openout\sigfile=signatures.tex +%% (see bookheader.tex) +%% +%% the signature.tex file is read in later and added to the +%% final document with the command +%% \input{signatures.tex} \newcommand{\sig}[3]{% e.g. \sig{thisfunc}{In}{Out} -\newline{\bf #1} : {\bf #2} $\rightarrow$ {\bf #3}% +\hfill{}\newline{}{\bf #1} : {\bf #2} $\rightarrow$ {\bf #3}% +\immediate\write\sigfile{% +\unexpanded{\hyperpage}\@charlb\thepage\@charrb\quad% + #1 : #2 $\rightarrow$ #3}% +\immediate\write\sigfile{}% \index{signatures!#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/books/bookheader.tex b/books/bookheader.tex index 026549f..9f20387 100644 --- a/books/bookheader.tex +++ b/books/bookheader.tex @@ -8,8 +8,10 @@ citecolor=red} \makeindex \usepackage{graphicx} \usepackage{changepage} % for adjustwidth environment +\newwrite\sigfile \begin{document} +\immediate\openout\sigfile=signatures.tex \frontmatter \setcounter{secnumdepth}{1} \begin{titlepage} diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index e95ce54..1b47f33 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -6077,6 +6077,7 @@ caution. \end{itemize} Notice that all but two paths (a null input or a ``)fi'' or a ``)fin'') will end up as a recursive call to ourselves. + \throws{intloopReadConsole}{top-level} \calls{intloopReadConsole}{serverReadLine} \calls{intloopReadConsole}{leaveScratchpad} @@ -8028,7 +8029,7 @@ and constructs a call to \bfref{Delay}. \calls{incLude}{Delay} \calls{include}{incLude1} \label{incLude} -\sig{incLude}{(Int,List(String),Int,List(String),List(Int)}{Delay} +\sig{incLude}{(Int,List(String),Int,List(String),List(Int))}{Delay} \begin{chunk}{defun incLude} (defun |incLude| (eb ss ln ufos states) (|Delay| #'|incLude1| (list eb ss ln ufos states))) @@ -61401,6 +61402,11 @@ This is part of the undo mechanism. \eject %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Signatures} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\immediate\closeout\sigfile +\input{signatures.tex} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Bibliography} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \bibliographystyle{axiom} diff --git a/changelog b/changelog index 7943c4f..b757ab1 100644 --- a/changelog +++ b/changelog @@ -1,5 +1,10 @@ +20141215 tpd src/axiom-website/patches.html 20141215.02.tpd.patch +20141215 tpd books/bookvol5 add signatures chapter +20141215 tpd books/bookheader.tex open signatures.tex file in preamble +20141215 tpd books/axiom.sty make \sig write lisp signatures 20141215 tpd src/axiom-website/patches.html 20141215.01.tpd.patch 20141215 tpd books/bookvol5 merge from vmlisp.lisp, treeshake +20141215 tpd src/interp/vmlisp.lisp merge from vmlisp.lisp, treeshake 20141214 rrr src/axiom-website/patches.html 20141214.01.rrr.patch 20141214 rrr buglist: bug 7272: )savesystem does not build a restorable session 20141214 rrr Raymond Rogers diff --git a/patch b/patch index 091a543..8d09713 100644 --- a/patch +++ b/patch @@ -1,4 +1,7 @@ -books/bookvol5 merge from vmlisp.lisp, treeshake +books/axiom.sty make \sig write lisp signatures -Move some code from vmlisp.lisp to bookvol5. -Find missing functions and variables, add them to bookvol5 +\sig{functionname}{domain}{range} will write the signature +inline in the text, add the functionname with a hyperref to +the page in the index, and add a hyperref and signature to +the signatures.tex file. The signatures.tex file is now +included as a separate chapter listing all function signatures. diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index f87d24d..88d7c12 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4812,6 +4812,8 @@ projects: progress report for week ending 12/13/14
buglist: bug 7272: )savesystem does not build a restorable session
20141215.01.tpd.patch books/bookvol5 merge from vmlisp.lisp, treeshake
+20141215.02.tpd.patch +books/axiom.sty make \sig write lisp signatures