diff --git a/books/bookvol8.pamphlet b/books/bookvol8.pamphlet
index af3f0b5..8567ea8 100644
--- a/books/bookvol8.pamphlet
+++ b/books/bookvol8.pamphlet
@@ -3150,6 +3150,81 @@ int main(void) {
 @
 \chapter{viewalone}
 \label{viewalone}
+\section{viewalone Call Graph}
+This was generated by the GNU cflow program with the argument list.
+Note that the line:NNNN numbers refer to the line in the code after
+it has been tangled from this file.
+\begin{verbatim}
+cflow --emacs -l -n -b -T --omit-arguments viewalone.c
+\end{verbatim}
+\begin{verbatim}
+;; This file is generated by GNU cflow 1.3. -*- cflow -*-
+    2 {   0} +-main() <int main () line:924>
+    3 {   1}   +-printf()
+    4 {   1}   +-sprintf()
+    5 {   1}   +-fopen()
+    6 {   1}   +-fprintf()
+    7 {   1}   +-exit()
+    8 {   1}   +-fscanf()
+    9 {   1}   +-spoonView3D() <void spoonView3D () line:830>
+   10 {   2}     +-sprintf()
+   11 {   2}     +-check()
+   12 {   2}     +-pipe()
+   13 {   2}     +-fork()
+   14 {   2}     +-fprintf()
+   15 {   2}     +-exit()
+   16 {   2}     +-dup2()
+   17 {   2}     +-close()
+   18 {   2}     +-getenv()
+   19 {   2}     +-execl()
+   20 {   2}     +-read()
+   21 {   2}     +-makeView3DFromFileData() 
+                   <void makeView3DFromFileData () line:654>
+   22 {   3}       +-fscanf()
+   23 {   3}       +-fgets()
+   24 {   3}       +-malloc()
+   25 {   3}       +-strlen()
+   26 {   3}       +-fprintf()
+   27 {   3}       +-exit()
+   28 {   3}       +-sprintf()
+   29 {   3}       \-fclose()
+   30 {   2}     +-write()
+   31 {   2}     +-strlen()
+   32 {   2}     +-refPt()
+   33 {   2}     \-sleep()
+   34 {   1}   \-spoonView2D() <void spoonView2D () line:751>
+   35 {   2}     +-sprintf()
+   36 {   2}     +-check()
+   37 {   2}     +-pipe()
+   38 {   2}     +-fork()
+   39 {   2}     +-fprintf()
+   40 {   2}     +-exit()
+   41 {   2}     +-printf()
+   42 {   2}     +-dup2()
+   43 {   2}     +-close()
+   44 {   2}     +-getenv()
+   45 {   2}     +-execl()
+   46 {   2}     +-read()
+   47 {   2}     +-makeView2DFromFileData() 
+                   <void makeView2DFromFileData () line:498>
+   48 {   3}       +-printf()
+   49 {   3}       +-fgets()
+   50 {   3}       +-malloc()
+   51 {   3}       +-strlen()
+   52 {   3}       +-fprintf()
+   53 {   3}       +-exit()
+   54 {   3}       +-sprintf()
+   55 {   3}       +-fscanf()
+   56 {   3}       +-fclose()
+   57 {   3}       +-fopen()
+   58 {   3}       \-perror()
+   59 {   2}     +-write()
+   60 {   2}     +-strlen()
+   61 {   2}     +-sendGraphToView2D() <void sendGraphToView2D () line:444>
+   62 {   3}       +-printf()
+   63 {   3}       \-write()
+   64 {   2}     \-sleep()
+\end{verbatim}
 \section{Constants and Headers}
 \subsection{System includes}
 <<viewalone>>=
diff --git a/changelog b/changelog
index 9e73152..1e650a5 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20091125 tpd src/axiom-website/patches.html 20091125.09.tpd.patch
+20091125 tpd books/bookvol8 add call graph for viewalone
 20091125 tpd src/axiom-website/patches.html 20091125.08.tpd.patch
 20091125 tpd books/bookvol8 add call graph for viewman
 20091125 tpd src/axiom-website/patches.html 20091125.07.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 97a62ed..8d6ffe5 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2288,5 +2288,7 @@ books/bookvol8 add call graph for view3d <br/>
 books/bookvol8 add call graph for view2d <br/>
 <a href="patches/20091125.08.tpd.patch">20091125.08.tpd.patch</a>
 books/bookvol8 add call graph for viewman <br/>
+<a href="patches/20091125.09.tpd.patch">20091125.09.tpd.patch</a>
+books/bookvol8 add call graph for viewalone <br/>
  </body>
 </html>
