diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 558b23c..4cf6628 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -1495,7 +1495,7 @@ this is what the current code does so I won't change it.
 \calls{serverReadLine}{protectedEVAL}
 \calls{serverReadLine}{executeQuietCommand}
 \calls{serverReadLine}{parseAndInterpret}
-\calls{serverReadLine}{is-console}
+\seebook{serverReadLine}{is-console}{9}
 \calls{serverReadLine}{serverSwitch}
 \usesdollar{serverReadLine}{KillLispSystem}
 \usesdollar{serverReadLine}{NonSmanSession}
@@ -19677,7 +19677,7 @@ end of the first.
 \calls{frameSpad2Cmd}{qcdr}
 \calls{frameSpad2Cmd}{qcar}
 \calls{frameSpad2Cmd}{object2Identifier}
-\calls{frameSpad2Cmd}{drop}
+\seebook{frameSpad2Cmd}{drop}{9}
 \calls{frameSpad2Cmd}{closeInterpreterFrame}
 \calls{frameSpad2Cmd}{import}
 \calls{frameSpad2Cmd}{importFromFrame}
@@ -34322,7 +34322,7 @@ o )library
 \end{chunk}
 
 \defun{/rq}{/rq}
-\calls{/rq}{/rf-1(9)}
+\seebook{/rq}{/rf-1}{9}
 \uses{/rq}{echo-meta}
 \begin{chunk}{defun /rq}
 (defun /RQ (&rest foo &aux (echo-meta nil))
@@ -34333,7 +34333,7 @@ o )library
 
 \defun{/rf}{/rf}
 Compile with noisy output
-\calls{/rf}{/rf-1}
+\seebook{/rf}{/rf-1}{9}
 \uses{/rf}{echo-meta}
 \begin{chunk}{defun /rf}
 (defun /rf (&rest foo &aux (echo-meta t))
@@ -34844,7 +34844,7 @@ gets the index into the EBCDIC table, and returns the appropriate character.
 \end{chunk}
 
 \defun{shut}{shut}
-\calls{shut}{is-console}
+\seebook{shut}{is-console}{9}
 \begin{chunk}{defun shut}
 (defun shut (st)
   (if (is-console st) 
diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet
index 070f10c..6c010cf 100644
--- a/books/bookvol9.pamphlet
+++ b/books/bookvol9.pamphlet
@@ -3941,12 +3941,12 @@ The READLOOP calls preparseReadLine which returns a pair of the form
 \calls{preparse1}{preparse-echo}
 \calls{preparse1}{fincomblock}
 \calls{preparse1}{parsepiles}
-\calls{preparse1}{doSystemCommand}
+\seebook{preparse1}{doSystemCommand}{5}
 \calls{preparse1}{escaped}
 \calls{preparse1}{indent-pos}
 \calls{preparse1}{make-full-cvec}
 \calls{preparse1}{maxindex}
-\calls{preparse1}{strposl}
+\seebook{preparse1}{strposl}{5}
 \calls{preparse1}{is-console}
 \catches{preparse1}{spad-reader}
 \usesdollar{preparse1}{linelist}
@@ -4440,7 +4440,7 @@ always positioned ON the first character.
  
 \defun{get-a-line}{get-a-line}
 \calls{get-a-line}{is-console}
-\calls{get-a-line}{mkprompt}
+\seebook{get-a-line}{mkprompt}{5}
 \calls{get-a-line}{read-a-line}
 \calls{get-a-line}{make-string-adjustable}
 \begin{chunk}{defun get-a-line}
@@ -6045,7 +6045,7 @@ An angry JHD - August 15th., 1984
 \calls{compColon}{assoc}
 \calls{compColon}{getDomainsInScope}
 \calls{compColon}{isDomainForm}
-\calls{compColon}{member}
+\seebook{compColon}{member}{5}
 \calls{compColon}{addDomain}
 \calls{compColon}{isDomainForm}
 \calls{compColon}{isCategoryForm}
@@ -7255,7 +7255,7 @@ An angry JHD - August 15th., 1984
 
 \defun{compSetq1}{compSetq1}
 \calls{compSetq1}{setqSingle}
-\calls{compSetq1}{identp}
+\seebook{compSetq1}{identp}{5}
 \calls{compSetq1}{compMakeDeclaration}
 \calls{compSetq1}{compSetq}
 \calls{compSetq1}{qcar}
@@ -7294,7 +7294,7 @@ An angry JHD - August 15th., 1984
 \end{chunk}
 
 \defun{setqSingle}{setqSingle}
-\calls{setqSingle}{getProplist}
+\seebook{setqSingle}{getProplist}{5}
 \calls{setqSingle}{getmode}
 \calls{setqSingle}{get}
 \calls{setqSingle}{nequal}
@@ -7303,7 +7303,7 @@ An angry JHD - August 15th., 1984
 \calls{setqSingle}{getmode}
 \calls{setqSingle}{assignError}
 \calls{setqSingle}{convert}
-\calls{setqSingle}{identp}
+\seebook{setqSingle}{identp}{5}
 \calls{setqSingle}{profileRecord}
 \calls{setqSingle}{consProplistOf}
 \calls{setqSingle}{removeEnv}
@@ -7609,7 +7609,7 @@ An angry JHD - August 15th., 1984
 \section{Direct called postparse routines}
 \defun{postTransform}{postTransform}
 \calls{postTransform}{postTran}
-\calls{postTransform}{identp}
+\seebook{postTransform}{identp}{5}
 \calls{postTransform}{postTransformCheck}
 \calls{postTransform}{aplTran}
 \begin{chunk}{defun postTransform}
@@ -8851,12 +8851,12 @@ of the symbol being parsed. The original list read:
 \end{chunk}
 
 \defun{getScriptName}{getScriptName}
-\calls{getScriptName}{identp}
+\seebook{getScriptName}{identp}{5}
 \calls{getScriptName}{postError}
 \calls{getScriptName}{internl}
 \calls{getScriptName}{stringimage}
 \calls{getScriptName}{decodeScripts}
-\calls{getScriptName}{pname}
+\seebook{getScriptName}{pname}{5}
 \begin{chunk}{defun getScriptName}
 (defun |getScriptName| (op a numberOfFunctionalArgs)
  (when (null (identp op))
@@ -9265,7 +9265,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \defun{PARSE-NewExpr}{PARSE-NewExpr}
 \calls{PARSE-NewExpr}{match-string}
 \calls{PARSE-NewExpr}{action}
-\calls{PARSE-NewExpr}{processSynonyms}
+\seebook{PARSE-NewExpr}{processSynonyms}{5}
 \calls{PARSE-NewExpr}{must}
 \calls{PARSE-NewExpr}{current-symbol}
 \calls{PARSE-NewExpr}{PARSE-Statement}
@@ -9298,7 +9298,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \calls{PARSE-SpecialKeyWord}{action}
 \calls{PARSE-SpecialKeyWord}{token-symbol}
 \calls{PARSE-SpecialKeyWord}{current-token}
-\calls{PARSE-SpecialKeyWord}{unAbbreviateKeyword}
+\seebook{PARSE-SpecialKeyWord}{unAbbreviateKeyword}{5}
 \calls{PARSE-SpecialKeyWord}{current-symbol}
 \begin{chunk}{defun PARSE-SpecialKeyWord}
 (defun |PARSE-SpecialKeyWord| ()
@@ -9358,7 +9358,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \calls{PARSE-TokenCommandTail}{pop-stack-2}
 \calls{PARSE-TokenCommandTail}{pop-stack-1}
 \calls{PARSE-TokenCommandTail}{action}
-\calls{PARSE-TokenCommandTail}{systemCommand}
+\seebook{PARSE-TokenCommandTail}{systemCommand}{5}
 \begin{chunk}{defun PARSE-TokenCommandTail}
 (defun |PARSE-TokenCommandTail| ()
  (and (bang fil_test (optional (star repeator (|PARSE-TokenOption|))))
@@ -9406,7 +9406,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \calls{PARSE-CommandTail}{pop-stack-2}
 \calls{PARSE-CommandTail}{pop-stack-1}
 \calls{PARSE-CommandTail}{action}
-\calls{PARSE-CommandTail}{systemCommand}
+\seebook{PARSE-CommandTail}{systemCommand}{5}
 \begin{chunk}{defun PARSE-CommandTail}
 (defun |PARSE-CommandTail| ()
  (and (bang fil_test (optional (star repeator (|PARSE-Option|))))
@@ -9981,7 +9981,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \calls{PARSE-FloatBase}{PARSE-FloatBasePart}
 \calls{PARSE-FloatBase}{PARSE-IntegerTok}
 \calls{PARSE-FloatBase}{push-reduction}
-\calls{PARSE-FloatBase}{digitp}
+\seebook{PARSE-FloatBase}{digitp}{5}
 \begin{chunk}{defun PARSE-FloatBase}
 (defun |PARSE-FloatBase| ()
   (or (and (integerp (current-symbol)) (char-eq (current-char) ".")
@@ -10000,7 +10000,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \defun{PARSE-FloatBasePart}{PARSE-FloatBasePart}
 \calls{PARSE-FloatBasePart}{match-advance-string}
 \calls{PARSE-FloatBasePart}{must}
-\calls{PARSE-FloatBasePart}{digitp}
+\seebook{PARSE-FloatBasePart}{digitp}{5}
 \calls{PARSE-FloatBasePart}{current-char}
 \calls{PARSE-FloatBasePart}{push-reduction}
 \calls{PARSE-FloatBasePart}{token-nonblank}
@@ -10027,7 +10027,7 @@ IteratorTail:   ('repeat' <Iterator*>! / Iterator*) ;
 \calls{PARSE-FloatExponent}{match-advance-string}
 \calls{PARSE-FloatExponent}{must}
 \calls{PARSE-FloatExponent}{push-reduction}
-\calls{PARSE-FloatExponent}{identp}
+\seebook{PARSE-FloatExponent}{identp}{5}
 \calls{PARSE-FloatExponent}{floatexpid}
 \begin{chunk}{defun PARSE-FloatExponent}
 (defun |PARSE-FloatExponent| ()
@@ -11023,13 +11023,13 @@ equivalent to.
 \subsection{Floating Point Support}
 
 \defun{floatexpid}{floatexpid}
-\calls{floatexpid}{identp}
-\calls{floatexpid}{pname}
+\seebook{floatexpid}{identp}{5}
+\seebook{floatexpid}{pname}{5}
 \calls{floatexpid}{spadreduce}
 \calls{floatexpid}{collect}
 \calls{floatexpid}{step}
 \calls{floatexpid}{maxindex}
-\calls{floatexpid}{digitp}
+\seebook{floatexpid}{digitp}{5}
 \begin{chunk}{defun floatexpid}
 (defun floatexpid (x &aux s)
  (when (and (identp x) (char= (char-upcase (elt (setq s (pname x)) 0)) #\E)
@@ -11556,12 +11556,12 @@ function with a list containing the full pathname as a string.
     2> (|compileSpad2Cmd| ("/tmp/EQ.spad"))
 \end{verbatim}
 
-\calls{compiler}{helpSpad2Cmd(5)}
-\calls{compiler}{selectOptionLC(5)}
-\calls{compiler}{pathname(5)}
-\calls{compiler}{mergePathnames(5)}
-\calls{compiler}{pathnameType(5)}
-\calls{compiler}{namestring(5)}
+\seebook{compiler}{helpSpad2Cmd}{5}
+\seebook{compiler}{selectOptionLC}{5}
+\seebook{compiler}{pathname}{5}
+\seebook{compiler}{mergePathnames}{5}
+\seebook{compiler}{pathnameType}{5}
+\seebook{compiler}{namestring}{5}
 \calls{compiler}{throwKeyedMsg}
 \calls{compiler}{findfile}
 \calls{compiler}{compileSpad2Cmd}
@@ -11704,15 +11704,15 @@ Again we find a lot of redundant work. We finally end up calling
 \end{verbatim}
 
 
-\calls{compileSpad2Cmd}{pathname(5)}
-\calls{compileSpad2Cmd}{pathnameType(5)}
-\calls{compileSpad2Cmd}{namestring(5)}
-\calls{compileSpad2Cmd}{updateSourceFiles(5)}
-\calls{compileSpad2Cmd}{selectOptionLC(5)}
-\calls{compileSpad2Cmd}{terminateSystemCommand(5)}
+\seebook{compileSpad2Cmd}{pathname}{5}
+\seebook{compileSpad2Cmd}{pathnameType}{5}
+\seebook{compileSpad2Cmd}{namestring}{5}
+\seebook{compileSpad2Cmd}{updateSourceFiles}{5}
+\seebook{compileSpad2Cmd}{selectOptionLC}{5}
+\seebook{compileSpad2Cmd}{terminateSystemCommand}{5}
 \calls{compileSpad2Cmd}{nequal}
 \calls{compileSpad2Cmd}{throwKeyedMsg}
-\calls{compileSpad2Cmd}{sayKeyedMsg}
+\seebook{compileSpad2Cmd}{sayKeyedMsg}{5}
 \calls{compileSpad2Cmd}{error}
 \calls{compileSpad2Cmd}{strconc}
 \calls{compileSpad2Cmd}{object2String}
@@ -11819,9 +11819,9 @@ combination of operations was requested. For this case we see:
 \end{verbatim}
 
 \defun{compilerDoit}{compilerDoit}
-\calls{compilerDoit}{/rq}
-\calls{compilerDoit}{/rf(5)}
-\calls{compilerDoit}{member(5)}
+\seebook{compilerDoit}{/rq}{5}
+\seebook{compilerDoit}{/rf}{5}
+\seebook{compilerDoit}{member}{5}
 \calls{compilerDoit}{sayBrightly}
 \calls{compilerDoit}{opOf}
 \calls{compilerDoit}{/RQ,LIB}
@@ -11861,7 +11861,7 @@ This function simply calls {\bf \verb|/rf-1|}.
 
 \defun{/RQ,LIB}{/RQ,LIB}
 \calls{/RQ,LIB}{/rf-1}
-\uses{/RQ,LIB}{echo-meta(5)}
+\seebook{/RQ,LIB}{echo-meta}{5}
 \usesdollar{/RQ,LIB}{lisplib}
 \begin{chunk}{defun /RQ,LIB}
 (defun |/RQ,LIB| (&rest foo &aux (echo-meta nil) ($lisplib t))
@@ -11888,9 +11888,9 @@ call to the function {\bf spad}:
 \end{verbatim}
 
 \defun{/rf-1}{/rf-1}
-\calls{/rf-1}{makeInputFilename(5)}
+\seebook{/rf-1}{makeInputFilename}{5}
 \calls{/rf-1}{ncINTERPFILE}
-\calls{/rf-1}{spad}
+\seebook{/rf-1}{spad}{5}
 \uses{/rf-1}{/editfile}
 \uses{/rf-1}{echo-meta}
 \begin{chunk}{defun /rf-1}
@@ -12338,7 +12338,7 @@ And the {\bf s-process} function which returns a parsed version of the input.
 \calls{spad}{pop-stack-1}
 \calls{spad}{s-process}
 \calls{spad}{ioclear}
-\calls{spad}{shut}
+\seebook{spad}{shut}{5}
 \usesdollar{spad}{noSubsumption}
 \usesdollar{spad}{InteractiveFrame}
 \usesdollar{spad}{InitialDomainsInScope}
@@ -12410,7 +12410,7 @@ And the {\bf s-process} function which returns a parsed version of the input.
 \calls{s-process}{postTransform}
 \calls{s-process}{displayPreCompilationErrors}
 \calls{s-process}{prettyprint}
-\calls{s-process}{processInteractive}
+\seebook{s-process}{processInteractive}{5}
 \calls{s-process}{compTopLevel}
 \calls{s-process}{def-process}
 \calls{s-process}{displaySemanticErrors}
@@ -12803,10 +12803,10 @@ preferred to the underlying representation -- RDJ 9/12/83
 \calls{comp3}{compColon}
 \calls{comp3}{compCoerce}
 \calls{comp3}{stringPrefix?}
-\calls{comp3}{pname}
+\seebook{comp3}{pname}{5}
 \calls{comp3}{compTypeOf}
 \calls{comp3}{compExpression}
-\calls{comp3}{member}
+\seebook{comp3}{member}{5}
 \calls{comp3}{getDomainsInScope}
 \usesdollar{comp3}{e}
 \usesdollar{comp3}{insideCompTypeOf}
@@ -13045,7 +13045,7 @@ preferred to the underlying representation -- RDJ 9/12/83
 \calls{compSymbol}{getmode}
 \calls{compSymbol}{get}
 \calls{compSymbol}{NRTgetLocalIndex}
-\calls{compSymbol}{member}
+\seebook{compSymbol}{member}{5}
 \calls{compSymbol}{isFunction}
 \calls{compSymbol}{errorRef}
 \calls{compSymbol}{stackMessage}
@@ -13772,7 +13772,7 @@ preferred to the underlying representation -- RDJ 9/12/83
 \end{chunk}
 
 \defun{hasFormalMapVariable}{hasFormalMapVariable}
-\calls{hasFormalMapVariable}{ScanOrPairVec}
+\seebook{hasFormalMapVariable}{ScanOrPairVec}{5}
 \usesdollar{hasFormalMapVariable}{formalMapVariables}
 \begin{chunk}{defun hasFormalMapVariable}
 (defun |hasFormalMapVariable| (x vl)
@@ -13867,8 +13867,8 @@ symbol we add it to the free list. If it occurs in a prog then it is
 bound and we remove it from the free list. Multiple instances of a single
 symbol in the free list are represented by the alist (symbol . count)
 \calls{freelist}{freelist}
-\calls{freelist}{assq}
-\calls{freelist}{identp}
+\seebook{freelist}{assq}{5}
+\seebook{freelist}{identp}{5}
 \calls{freelist}{getmode}
 \calls{freelist}{unionq}
 \begin{chunk}{defun freelist}
@@ -13924,7 +13924,7 @@ symbol in the free list are represented by the alist (symbol . count)
 \end{chunk}
 
 \defun{ncINTERPFILE}{Compiler/Interpreter interface}
-\calls{ncINTERPFILE}{SpadInterpretStream(5)}
+\seebook{ncINTERPFILE}{SpadInterpretStream}{5}
 \usesdollar{ncINTERPFILE}{EchoLines}
 \usesdollar{ncINTERPFILE}{ReadingFile}
 \begin{chunk}{defun ncINTERPFILE}
@@ -13936,19 +13936,19 @@ symbol in the free list are represented by the alist (symbol . count)
 \end{chunk}
 
 \defun{compileSpadLispCmd}{compileSpadLispCmd}
-\calls{compileSpadLispCmd}{pathname(5)}
-\calls{compileSpadLispCmd}{pathnameType(5)}
-\calls{compileSpadLispCmd}{selectOptionLC(5)}
-\calls{compileSpadLispCmd}{namestring(5)}
-\calls{compileSpadLispCmd}{terminateSystemCommand(5)}
-\calls{compileSpadLispCmd}{fnameMake(5)}
-\calls{compileSpadLispCmd}{pathnameDirectory(5)}
-\calls{compileSpadLispCmd}{pathnameName(5)}
-\calls{compileSpadLispCmd}{fnameReadable?(5)}
-\calls{compileSpadLispCmd}{localdatabase(5)}
+\seebook{compileSpadLispCmd}{pathname}{5}
+\seebook{compileSpadLispCmd}{pathnameType}{5}
+\seebook{compileSpadLispCmd}{selectOptionLC}{5}
+\seebook{compileSpadLispCmd}{namestring}{5}
+\seebook{compileSpadLispCmd}{terminateSystemCommand}{5}
+\seebook{compileSpadLispCmd}{fnameMake}{5}
+\seebook{compileSpadLispCmd}{pathnameDirectory}{5}
+\seebook{compileSpadLispCmd}{pathnameName}{5}
+\seebook{compileSpadLispCmd}{fnameReadable?}{5}
+\seebook{compileSpadLispCmd}{localdatabase}{5}
 \calls{compileSpadLispCmd}{throwKeyedMsg}
 \calls{compileSpadLispCmd}{object2String}
-\calls{compileSpadLispCmd}{sayKeyedMsg}
+\seebook{compileSpadLispCmd}{sayKeyedMsg}{5}
 \calls{compileSpadLispCmd}{recompile-lib-file-if-necessary}
 \calls{compileSpadLispCmd}{spadPrompt}
 \usesdollar{compileSpadLispCmd}{options}
diff --git a/changelog b/changelog
index b13fa57..f9281d0 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20110219 tpd src/axiom-website/patches.html 20110219.01.tpd.patch
+20110219 tpd books/bookvol9 fixup seebook xrefs
+20110219 tpd books/bookvol5 fixup seebook xrefs
 20110206 tpd src/axiom-website/patches.html 20110206.01.tpd.patch
 20110206 tpd src/axiom-website/download.html add fedora binary
 20110204 tpd src/axiom-website/patches.html 20110204.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 770e26e..e8574bd 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3393,5 +3393,7 @@ src/axiom-website/download.html add binaries<br/>
 books/bookvol9 add seebook changes, treeshake compiler<br/>
 <a href="patches/20110206.01.tpd.patch">20110206.01.tpd.patch</a>
 src/axiom-website/download.html add fedora binary<br/>
+<a href="patches/20110219.01.tpd.patch">20110219.01.tpd.patch</a>
+books/bookvol9, bookvol5 fixup seebook xrefs<br/>
  </body>
 </html>
