diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 51de3c3..79517af 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -4063,7 +4063,7 @@ AnyFunctions1(S:Type): with
)set message test on
)set message auto off
)clear all
---S 1 of 5
+--S 1 of 6
getDomains 'Collection
--R
--R (1)
@@ -4078,7 +4078,7 @@ getDomains 'Collection
--R Type: Set(Symbol)
--E 1
---S 2 of 5
+--S 2 of 6
difference(getDomains 'IndexedAggregate,getDomains 'Collection)
--R
--R (2)
@@ -4088,7 +4088,7 @@ difference(getDomains 'IndexedAggregate,getDomains 'Collection)
--R Type: Set(Symbol)
--E 2
---S 3 of 5
+--S 3 of 6
credits()
--R
--RAn alphabetical listing of contributors to AXIOM:
@@ -4186,13 +4186,13 @@ credits()
The summary command simply types out the contents of the file
\$AXIOM/lib/summary so no output is captured in the spool file.
\begin{chunk}{ApplicationProgramInterface.input}
---S 4 of 5
+--S 4 of 6
summary()
--R
--R Type: Void
--E 4
---S 5 of 5
+--S 5 of 6
)show API
--R
--R ApplicationProgramInterface is a package constructor
@@ -4206,6 +4206,14 @@ summary()
--R
--E 5
+--S 1 of 5
+getAncestors 'IndexedAggregate
+--R
+--R (3)
+--R {Aggregate, BasicType, CoercibleTo, Eltable, EltableAggregate, Evalable,
+--R HomogeneousAggregate, InnerEvalable, SetCategory, Type}
+--R Type: Set(Symbol)
+--E 6
)spool
)lisp (bye)
\end{chunk}
@@ -4247,6 +4255,15 @@ to the development of Axiom. This is equivalent to the )credits command.
The summary function prints a short list of useful console commands.
+The getAncestors function takes the name of a domain or category
+and returns a list of categories from which it inherits.
+
+getAncestors 'IndexedAggregate
+
+ {Aggregate, BasicType, CoercibleTo, Eltable, EltableAggregate, Evalable,
+ HomogeneousAggregate, InnerEvalable, SetCategory, Type}
+ Type: Set(Symbol)
+
\end{chunk}
\pagehead{ApplicationProgramInterface}{API}
\pagepic{ps/v104applicationprograminterface.ps}{API}{1.00}
@@ -4259,7 +4276,7 @@ The summary function prints a short list of useful console commands.
)abbrev package API ApplicationProgramInterface
++ Author: Timothy Daly, Martin Rubey
++ Date Created: 3 March 2009
-++ Date Last Updated: 3 March 2009
+++ Date Last Updated: 24 March 2012
++ Description:
++ This package contains useful functions that expose Axiom system internals
@@ -4270,6 +4287,11 @@ ApplicationProgramInterface(): Exports == Implementation where
++ that have that category
++
++X getDomains 'IndexedAggregate
+ getAncestors : Symbol -> Set Symbol
+ ++ The getAncestor(s) takes a category and returns the list of domains
+ ++ that have that category as ancestors
+ ++
+ ++X getAncestors 'IndexedAggregate
credits : () -> Void
++ credits() prints a list of people who contributed to Axiom
++
@@ -4283,6 +4305,10 @@ ApplicationProgramInterface(): Exports == Implementation where
set [symbol car first destruct a _
for a in (destruct domainsOf(cat,NIL$Lisp)$Lisp)::List(SExpression)]
+ getAncestors(cat:Symbol):Set(Symbol) ==
+ set [symbol car first destruct a _
+ for a in (destruct ancestorsOf(cat,NIL$Lisp)$Lisp)::List(SExpression)]
+
credits() == ( credits()$Lisp ; void() )
summary() == ( summary()$Lisp ; void() )
diff --git a/changelog b/changelog
index 67d47a2..2c8bb2e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20120324 tpd src/axiom-website/patches.html 20120324.02.tpd.patch
+20120324 tpd books/bookvol10.4 add getAncestors function to API domain
20120324 tpd src/axiom-website/patches.html 20120324.01.tpd.patch
20120324 tpd src/algebra/Makefile fix typo PolynomialPackageFoCurve
20120324 tpd books/bookvol10.4 add PadeApproximants test
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 644b752..de946ea 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3846,5 +3846,7 @@ books/bookvol10.4, books/bookvol10.3 fix bug 7217
src/input/testpackage.input added
20120324.01.tpd.patch
books/bookvol10.4 add PadeApproximants test
+20120324.02.tpd.patch
+books/bookvol10.4 add getAncestors function to API domain