diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index f5dac3b..1a7a464 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -11944,11 +11944,10 @@ These exports come from \refto{ConvertibleTo}(S:Type):
++ Description:
++ A collection is a homogeneous aggregate which can built from
++ list of members. The operation used to build the aggregate is
-++ generically named \spadfun{construct}. However, each collection
+++ generically named construct. However, each collection
++ provides its own special function with the same name as the
-++ data type, except with an initial lower case letter, e.g.
-++ \spadfun{list} for \spadtype{List},
-++ \spadfun{flexibleArray} for \spadtype{FlexibleArray}, and so on.
+++ data type, except with an initial lower case letter, For example,
+++ list for List, flexibleArray for FlexibleArray, and so on.
Collection(S:Type): Category == HomogeneousAggregate(S) with
construct: List S -> %
@@ -11957,15 +11956,15 @@ Collection(S:Type): Category == HomogeneousAggregate(S) with
++ \axiom{[x,y,...,z]$D}, where
++ D is the domain. D may be omitted for those of type List.
find: (S->Boolean, %) -> Union(S, "failed")
- ++ find(p,u) returns the first x in u such that \axiom{p(x)} is true,
- ++ and "failed" otherwise.
+ ++ \axiom{find(p,u)} returns the first x in u such that
+ ++ \axiom{p(x)} is true, and "failed" otherwise.
if % has finiteAggregate then
reduce: ((S,S)->S,%) -> S
- ++ reduce(f,u) reduces the binary operation f across u. For example,
- ++ if u is \axiom{[x,y,...,z]} then \axiom{reduce(f,u)}
- ++ returns \axiom{f(..f(f(x,y),...),z)}.
- ++ Note that if u has one element x, \axiom{reduce(f,u)} returns x.
- ++ Error: if u is empty.
+ ++reduce(f,u) reduces the binary operation f across u.
+ ++For example, if u is \axiom{[x,y,...,z]} then \axiom{reduce(f,u)}
+ ++returns \axiom{f(..f(f(x,y),...),z)}.
+ ++Note that if u has one element x, \axiom{reduce(f,u)} returns x.
+ ++Error: if u is empty.
++
++C )clear all
++X reduce(+,[C[i]*x**i for i in 1..5])
diff --git a/buglist b/buglist
index e2d4e9f..099838f 100644
--- a/buglist
+++ b/buglist
@@ -5327,23 +5327,6 @@ typos 40022:
"\\indented{1}{alphanumeric?(c) tests if \\spad{c} is either a letter or number,} \\indented{1}{\\spadignore{i.e.} one of 0..9, a..z or A..Z.} \\blankline \\spad{X} chars \\spad{:=} [char \"a\", char \"A\", char \"X\", char \"8\", char \"+\"] \\spad{X} [alphanumeric? \\spad{c} for \\spad{c} in chars]"
=========================================================================
-typos 40021:
-
->compiling CLAGG.spad to CLAGG.nrlib
-
---->-->Collection&((reduce (S (Mapping S S S) %))): Improper first word in comments:
-"\\indented{1}{reduce(f,u) reduces the binary operation \\spad{f} across u. For example,} \\indented{1}{if \\spad{u} is \\axiom{[x,y,...,z]} then \\axiom{reduce(f,u)}} \\indented{1}{returns \\axiom{f(..f(f(x,y),...),z)}.} \\indented{1}{Note that if \\spad{u} has one element \\spad{x,} \\axiom{reduce(f,u)} returns \\spad{x.}} \\indented{1}{Error: if \\spad{u} is empty.} \\blankline \\spad{C} )clear all \\spad{X} reduce(+,[C[i]*x**i for \\spad{i} in 1..5])"
-
---->-->Collection&(constructor): Missing left brace
-"A collection is a homogeneous aggregate which can built from list of members. The operation used to build the aggregate is generically named \\spadfun{construct}. However, each collection provides its own special function with the same name as the data type, except with an initial lower case letter, \\spadignore{e.g.} \\spadfun{list} for \\spadtype{List}, \\spadfun{flexibleArray} for \\spadtype{FlexibleArray}, and so on."
-
---->bookvol10.2.pamphlet-->Collection((reduce (S (Mapping S S S) %))): Improper first word in comments:
-"\\indented{1}{reduce(f,u) reduces the binary operation \\spad{f} across u. For example,} \\indented{1}{if \\spad{u} is \\axiom{[x,y,...,z]} then \\axiom{reduce(f,u)}} \\indented{1}{returns \\axiom{f(..f(f(x,y),...),z)}.} \\indented{1}{Note that if \\spad{u} has one element \\spad{x,} \\axiom{reduce(f,u)} returns \\spad{x.}} \\indented{1}{Error: if \\spad{u} is empty.} \\blankline \\spad{C} )clear all \\spad{X} reduce(+,[C[i]*x**i for \\spad{i} in 1..5])"
-
---->bookvol10.2.pamphlet-->Collection(constructor): Missing left brace
-"A collection is a homogeneous aggregate which can built from list of members. The operation used to build the aggregate is generically named \\spadfun{construct}. However, each collection provides its own special function with the same name as the data type, except with an initial lower case letter, \\spadignore{e.g.} \\spadfun{list} for \\spadtype{List}, \\spadfun{flexibleArray} for \\spadtype{FlexibleArray}, and so on."
-
-=========================================================================
typos 40020:
>compiling COMRING.spad to COMRING.nrlib
@@ -35704,16 +35687,6 @@ Warning: SREGSET;decompose has a duplicate definition in this file
============================================================================
- finalizing nrlib CLAGG
-; (DEFUN |Collection| ...) is being compiled.
-;; The variable |Collection;AL| is undefined.
-;; The compiler will assume this variable is a global.
-; (DEFUN |Collection;| ...) is being compiled.
-;; The variable |Collection;CAT| is undefined.
-;; The compiler will assume this variable is a global.
-
-============================================================================
-
finalizing nrlib COMRING
; (DEFUN |CommutativeRing| ...) is being compiled.
;; The variable |CommutativeRing;AL| is undefined.
@@ -35813,18 +35786,6 @@ Warning: SREGSET;decompose has a duplicate definition in this file
============================================================================
- finalizing nrlib GCDDOM-
---->/research2/test0819/mnt/fedora5/../../src/algebra/GCDDOM.spad-->GcdDomain&((gcdPolynomial ((SparseUnivariatePolynomial %) (SparseUnivariatePolynomial %) (SparseUnivariatePolynomial %)))): Not documented!!!!
---->/research2/test0819/mnt/fedora5/../../src/algebra/GCDDOM.spad-->GcdDomain&(): Spurious comments: \indented{1}{gcdPolynomial(\spad{p},{}\spad{q}) returns the greatest common divisor (\spad{gcd}) of} univariate polynomials over the domain
-
-============================================================================
-
- finalizing nrlib GCDDOM
---->/research2/test0819/mnt/fedora5/../../src/algebra/GCDDOM.spad-->GcdDomain((gcdPolynomial ((SparseUnivariatePolynomial %) (SparseUnivariatePolynomial %) (SparseUnivariatePolynomial %)))): Not documented!!!!
---->/research2/test0819/mnt/fedora5/../../src/algebra/GCDDOM.spad-->GcdDomain(): Spurious comments: \indented{1}{gcdPolynomial(\spad{p},{}\spad{q}) returns the greatest common divisor (\spad{gcd}) of} univariate polynomials over the domain
-
-============================================================================
-
finalizing nrlib GCDDOM
; (DEFUN |GcdDomain| ...) is being compiled.
;; The variable |GcdDomain;AL| is undefined.
@@ -40558,3 +40519,21 @@ typos 40019:
--->bookvol10.3.pamphlet-->DoubleFloat((integerDecode ((List (Integer)) %))): Improper first word in comments:
"\\indented{1}{integerDecode(x) returns the multiple values of the\\space{2}common} \\indented{1}{lisp integer-decode-float function.} \\indented{1}{See Steele, ISBN 0-13-152414-3 p354. This function can be used} \\indented{1}{to ensure that the results are bit-exact and do not depend on} \\indented{1}{the binary-to-decimal conversions.} \\blankline \\spad{X} \\spad{a:DFLOAT:=-1.0/3.0} \\spad{X} integerDecode a"
+fixed 20130315.09.tpd.patch
+=========================================================================
+typos 40021:
+
+>compiling CLAGG.spad to CLAGG.nrlib
+
+--->-->Collection&((reduce (S (Mapping S S S) %))): Improper first word in comments:
+"\\indented{1}{reduce(f,u) reduces the binary operation \\spad{f} across u. For example,} \\indented{1}{if \\spad{u} is \\axiom{[x,y,...,z]} then \\axiom{reduce(f,u)}} \\indented{1}{returns \\axiom{f(..f(f(x,y),...),z)}.} \\indented{1}{Note that if \\spad{u} has one element \\spad{x,} \\axiom{reduce(f,u)} returns \\spad{x.}} \\indented{1}{Error: if \\spad{u} is empty.} \\blankline \\spad{C} )clear all \\spad{X} reduce(+,[C[i]*x**i for \\spad{i} in 1..5])"
+
+--->-->Collection&(constructor): Missing left brace
+"A collection is a homogeneous aggregate which can built from list of members. The operation used to build the aggregate is generically named \\spadfun{construct}. However, each collection provides its own special function with the same name as the data type, except with an initial lower case letter, \\spadignore{e.g.} \\spadfun{list} for \\spadtype{List}, \\spadfun{flexibleArray} for \\spadtype{FlexibleArray}, and so on."
+
+--->bookvol10.2.pamphlet-->Collection((reduce (S (Mapping S S S) %))): Improper first word in comments:
+"\\indented{1}{reduce(f,u) reduces the binary operation \\spad{f} across u. For example,} \\indented{1}{if \\spad{u} is \\axiom{[x,y,...,z]} then \\axiom{reduce(f,u)}} \\indented{1}{returns \\axiom{f(..f(f(x,y),...),z)}.} \\indented{1}{Note that if \\spad{u} has one element \\spad{x,} \\axiom{reduce(f,u)} returns \\spad{x.}} \\indented{1}{Error: if \\spad{u} is empty.} \\blankline \\spad{C} )clear all \\spad{X} reduce(+,[C[i]*x**i for \\spad{i} in 1..5])"
+
+--->bookvol10.2.pamphlet-->Collection(constructor): Missing left brace
+"A collection is a homogeneous aggregate which can built from list of members. The operation used to build the aggregate is generically named \\spadfun{construct}. However, each collection provides its own special function with the same name as the data type, except with an initial lower case letter, \\spadignore{e.g.} \\spadfun{list} for \\spadtype{List}, \\spadfun{flexibleArray} for \\spadtype{FlexibleArray}, and so on."
+
diff --git a/changelog b/changelog
index c5a7c79..bb6699f 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20130315 tpd src/axiom-website/patches.html 20130315.09.tpd.patch
+20130315 tpd buglist CLAGG fixed 40021
+20130315 tpd books/bookvol10.2 CLAGG fixed 40021
20130315 tpd src/axiom-website/patches.html 20130315.08.tpd.patch
20130315 tpd buglist DFLOAT fixed 40019
20130315 tpd books/bookvol10.3 DFLOAT fixed 40019
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index abf2912..5d13b3f 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4067,5 +4067,7 @@ changlog. fix jzc email address
books/bookvol0 add linebreak on p988
20130315.08.tpd.patch
books/bookvol10.3 DFLOAT fixed 40019
+20130315.09.tpd.patch
+books/bookvol10.2 CLAGG fixed 40021