diff --git a/books/bookvol7.pamphlet b/books/bookvol7.pamphlet
index f8f8ef6..68f1b46 100644
--- a/books/bookvol7.pamphlet
+++ b/books/bookvol7.pamphlet
@@ -1569,7 +1569,7 @@ Usage: htadd [-s|-l|-f db-directory] [-d|-n] filenames
   \zeta
 
 \end{verbatim}
-\chapter{Call Graph}
+\chapter{Hypertex 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.
@@ -6923,6 +6923,66 @@ int main(int argc,char **  argv) {
 
 @
 \chapter{The ex2ht function}
+\section{ex2ht 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 ex2ht.c
+\end{verbatim}
+\begin{verbatim}
+;; This file is generated by GNU cflow 1.3. -*- cflow -*-
+    2 {   0} +-main() <int main () line:180>
+    3 {   1}   +-fprintf()
+    4 {   1}   +-openCoverPage() <void openCoverPage () line:141>
+    5 {   2}   | +-fopen()
+    6 {   2}   | +-fprintf()
+    7 {   2}   | \-exit()
+    8 {   1}   +-exToHt() <void exToHt () line:47>
+    9 {   2}   | +-fopen()
+   10 {   2}   | +-fprintf()
+   11 {   2}   | +-strcpy()
+   12 {   2}   | +-strcat()
+   13 {   2}   | +-strlen()
+   14 {   2}   | +-allocString() <char *allocString () line:20>
+   15 {   3}   | | +-malloc()
+   16 {   3}   | | +-strlen()
+   17 {   3}   | | \-strcpy()
+   18 {   2}   | +-getExTitle() <char *getExTitle () line:36>
+   19 {   3}   |   +-fgets()
+   20 {   3}   |   +-strPrefix() <char *strPrefix () line:26>
+   21 {   3}   |   +-strlen()
+   22 {   3}   |   \-fprintf()
+   23 {   2}   | +-emitCoverLink() <void emitCoverLink () line:161>
+   24 {   3}   | | \-fprintf()
+   25 {   2}   | +-emitHeader() <void emitHeader () line:103>
+   26 {   3}   | | \-fprintf()
+   27 {   2}   | +-fgets()
+   28 {   2}   | +-strPrefix() <char *strPrefix () line:26> [see 20]
+   29 {   2}   | +-emitMenuEntry() <void emitMenuEntry () line:112>
+   30 {   3}   | | \-fprintf()
+   31 {   2}   | +-emitSpadCommand() <void emitSpadCommand () line:125>
+   32 {   3}   | | \-fprintf()
+   33 {   2}   | +-emitFooter() <void emitFooter () line:108>
+   34 {   3}   | | \-fprintf()
+   35 {   2}   | +-fclose()
+   36 {   2}   | +-stat()
+   37 {   2}   | \-timercmp()
+   38 {   1}   +-closeCoverPage() <void closeCoverPage () line:152>
+   39 {   2}     \-fprintf()
+   40 {   1}   +-addFile() <void addFile () line:165>
+   41 {   2}     +-fopen()
+   42 {   2}     +-fprintf()
+   43 {   2}     +-exit()
+   44 {   2}     +-getc()
+   45 {   2}     +-putc()
+   46 {   2}     +-fclose()
+   47 {   2}     \-unlink()
+   48 {   1}   \-closeCoverFile() <void closeCoverFile () line:156>
+   49 {   2}     +-fclose()
+   50 {   2}     \-utimes()
+\end{verbatim}
+\section{ex2ht Source Code}
 The ex2ht command creates a cover page for structured HyperDoc example pages
 
 \section{Constants and Headers}
diff --git a/changelog b/changelog
index c409e9c..335f012 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20091125 tpd src/axiom-website/patches.html 20091125.02.tpd.patch
+20091125 tpd books/bookvol7 add call graph for ex2ht
 20091125 tpd src/axiom-website/patches.html 20091125.01.tpd.patch
 20091125 tpd books/bookvol7 add call graph for hypertex
 20091124 tpd src/axiom-website/patches.html add November 2009 notes
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index eec1c1c..eaafddd 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2274,5 +2274,7 @@ In process, not yet released<br/><br/>
   <hr>
 <a href="patches/20091125.01.tpd.patch">20091125.01.tpd.patch</a>
 books/bookvol7 add call graph for hypertex <br/>
+<a href="patches/20091125.02.tpd.patch">20091125.02.tpd.patch</a>
+books/bookvol7 add call graph for ex2ht <br/>
  </body>
 </html>
