diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index c970cef..afafe37 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -31143,10 +31143,10 @@ FunctionSpaceUnivariatePolynomialFactor(R, F, UP):
       UPQ2AN: UPQ -> UPA
 
       UPAN2F p ==
-        map(#1::F, p)$UnivariatePolynomialCategoryFunctions2(AN,UPA,F,UP)
+        map(x+->x::F, p)$UnivariatePolynomialCategoryFunctions2(AN,UPA,F,UP)
 
       UPQ2AN p ==
-        map(#1::AN, p)$UnivariatePolynomialCategoryFunctions2(Q,UPQ,AN,UPA)
+        map(x+->x::AN, p)$UnivariatePolynomialCategoryFunctions2(Q,UPQ,AN,UPA)
 
       ffactor p ==
         (pq := anfactor p) case FRA =>
@@ -31185,7 +31185,7 @@ FunctionSpaceUnivariatePolynomialFactor(R, F, UP):
       UPQ2F: UPQ -> UP
 
       UPQ2F p ==
-        map(#1::F, p)$UnivariatePolynomialCategoryFunctions2(Q,UPQ,F,UP)
+        map(x+->x::F, p)$UnivariatePolynomialCategoryFunctions2(Q,UPQ,F,UP)
 
       ffactor p ==
         (pq := qfactor p) case FRQ =>
@@ -31204,17 +31204,17 @@ FunctionSpaceUnivariatePolynomialFactor(R, F, UP):
     ffactor0 p ==
       smp := numer(ep := p(dummy::F))
       (q := P2QifCan smp) case "failed" => p::FR
-      map(UPQ2UP(univariate(#1, dummy), denom(ep)::F), factor(q::PQ
+      map(x+->UPQ2UP(univariate(x, dummy), denom(ep)::F), factor(q::PQ
              )$MRationalFactorize(IndexedExponents K, K, Integer,
                   PQ))$FactoredFunctions2(PQ, UP)
 
     UPQ2UP(p, d) ==
-      map(PQ2F(#1, d), p)$UnivariatePolynomialCategoryFunctions2(PQ,
+      map(x+->PQ2F(x, d), p)$UnivariatePolynomialCategoryFunctions2(PQ,
                                    SparseUnivariatePolynomial PQ, F, UP)
 
     PQ2F(p, d) ==
-      map(#1::F, #1::F, p)$PolynomialCategoryLifting(IndexedExponents K,
-                                                K, Q, PQ, F) / d
+      map((x:K):F+->x::F, (y:Q):F+->y::F, p)_
+        $PolynomialCategoryLifting(IndexedExponents K, K, Q, PQ, F) / d
 
     qfactor p ==
       (q := UP2ifCan p) case overq => factor(q.overq)
@@ -31223,8 +31223,8 @@ FunctionSpaceUnivariatePolynomialFactor(R, F, UP):
     P2QifCan p ==
       and/[retractIfCan(c::F)@Union(Q, "failed") case Q
            for c in coefficients p] =>
-            map(#1::PQ, retract(#1::F)@Q :: PQ,
-              p)$PolynomialCategoryLifting(IndexedExponents K,K,R,PR,PQ)
+            map(x+->x::PQ, y+->retract(y::F)@Q :: PQ, p)_
+              $PolynomialCategoryLifting(IndexedExponents K,K,R,PR,PQ)
       "failed"
 
 @
diff --git a/changelog b/changelog
index ea8e39d..fa4d368 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090601 tpd src/axiom-website/patches.html 20090601.04.tpd.patch
+20090601 tpd books/bookvol10.4 FSUPFACT +-> conversion
 20090601 tpd src/axiom-website/patches.html 20090601.03.tpd.patch
 20090601 tpd books/bookvol10.4 FS2UPS +-> conversion
 20090601 tpd src/axiom-website/patches.html 20090601.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 75d6a32..6c444d6 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1409,5 +1409,7 @@ bookvol10.4 FSPRMELT +-> conversion<br/>
 bookvol10.4 FS2EXPXP +-> conversion<br/>
 <a href="patches/20090601.03.tpd.patch">20090601.03.tpd.patch</a>
 bookvol10.4 FS2UPS +-> conversion<br/>
+<a href="patches/20090601.04.tpd.patch">20090601.04.tpd.patch</a>
+bookvol10.4 FSUPFACT +-> conversion<br/>
  </body>
 </html>
