diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 3983d6b..c2ba7d7 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -143296,8 +143296,8 @@ of points will always dominate the computation time.\\
       xDiff := xHi - xLo; yDiff := yHi - yLo
       pad := abs(yDiff - xDiff)/2
       yDiff > xDiff =>
-        [segment(xLo - pad,xHi + pad),map(convert(#1)@Float,yVals)]
-      [map(convert(#1)@Float,xVals),segment(yLo - pad,yHi + pad)]
+        [segment(xLo - pad,xHi + pad),map(x +-> convert(x)@Float,yVals)]
+      [map(x +-> convert(x)@Float,xVals),segment(yLo - pad,yHi + pad)]
 
     drawPlot: (PLOT,L DROP) -> VIEW2
     drawPlot(plot,l) ==
@@ -143338,8 +143338,8 @@ of points will always dominate the computation time.\\
         -- add scaled ranges to list of options
         l := concat(ranges scaledRanges,l)
       else
-        xRangeFloat : SEG := map(convert(#1)@Float,xRange)
-        yRangeFloat : SEG := map(convert(#1)@Float,yRange)
+        xRangeFloat : SEG := map(x +-> convert(x)@Float,xRange)
+        yRangeFloat : SEG := map(x +-> convert(x)@Float,yRange)
         -- add ranges to list of options
         l := concat(ranges(ll : L SEG := [xRangeFloat,yRangeFloat]),l)
       -- process color information
@@ -143386,14 +143386,14 @@ SingleFloat value.
       oldAdaptive := adaptive?()$PLOT
       setAdaptive(adaptive(l,oldAdaptive))$PLOT
       -- create function SF -> Point SF
-      ff : L(SF -> Point SF) := [makePt2(myTrap1(f,#1),#1)]
+      ff : L(SF -> Point SF) := [x +-> makePt2(myTrap1(f,x),x)]
       -- process change of coordinates
       if (c := option(l,"coordinates" :: Symbol)) case "failed" then
         -- default coordinate transformation
-        ff := [makePt2(#1,myTrap1(f,#1))]
+        ff := [x +-> makePt2(x,myTrap1(f,x))]
       else
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        ff := [(first cc)((first ff)(#1))]
+        ff := [x +-> (first cc)((first ff)(x))]
       -- create PLOT
       pl := pointPlot(first ff,normalize seg)
       -- reset adaptive plotting
@@ -143411,11 +143411,11 @@ SingleFloat value.
       setAdaptive(adaptive(l,oldAdaptive))$PLOT
       -- create function SF -> Point SF
       f := coordinate(ppc,1); g := coordinate(ppc,2)
-      fcn : L(SF -> Pt) := [makePt2(myTrap1(f,#1),myTrap1(g,#1))]
+      fcn : L(SF -> Pt) := [x +-> makePt2(myTrap1(f,x),myTrap1(g,x))]
       -- process change of coordinates
       if not (c := option(l,"coordinates" :: Symbol)) case "failed" then
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        fcn := [(first cc)((first fcn)(#1))]
+        fcn := [x +-> (first cc)((first fcn)(x))]
       -- create PLOT
       pl := pointPlot(first fcn,normalize seg)
       -- reset adaptive plotting
@@ -143454,17 +143454,17 @@ SingleFloat value.
       f := coordinate(psc,1); g := coordinate(psc,2); h := coordinate(psc,3)
       -- create function SF -> Point SF with default or user-specified
       -- color function
-      fcn : L(SF -> Pt) := [makePt4(myTrap1(f,#1),myTrap1(g,#1),myTrap1(h,#1),_
-                            myTrap1(id,#1))]
+      fcn : L(SF -> Pt) := [x +-> makePt4(myTrap1(f,x),myTrap1(g,x),
+                            myTrap1(h,x), myTrap1(id,x))]
       pointsColored? : Boolean := false
       if not (c1 := option(l,"colorFunction1" :: Symbol)) case "failed" then
         pointsColored? := true
-        fcn := [makePt4(myTrap1(f,#1),myTrap1(g,#1),myTrap1(h,#1),_
-                retract(c1 :: Any)$ANY1(SF -> SF)(#1))]
+        fcn := [x +-> makePt4(myTrap1(f,x),myTrap1(g,x),myTrap1(h,x),
+                retract(c1 :: Any)$ANY1(SF -> SF)(x))]
       -- process change of coordinates
       if not (c := option(l,"coordinates" :: Symbol)) case "failed" then
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        fcn := [(first cc)((first fcn)(#1))]
+        fcn := [x +-> (first cc)((first fcn)(x))]
       -- create PLOT
       pl := pointPlot(first fcn,normalize seg)$Plot3D
       -- create ThreeSpace
@@ -143496,11 +143496,11 @@ SingleFloat value.
       pointsColored? : Boolean := false
       if not (c1 := option(l,"colorFunction1" :: Symbol)) case "failed" then
         pointsColored? := true
-        fcn := [concat(psc(#1), retract(c1 :: Any)$ANY1(SF -> SF)(#1))]
+        fcn := [x +-> concat(psc(x), retract(c1 :: Any)$ANY1(SF -> SF)(x))]
       -- process change of coordinates
       if not (c := option(l,"coordinates" :: Symbol)) case "failed" then
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        fcn := [(first cc)((first fcn)(#1))]
+        fcn := [x +-> (first cc)((first fcn)(x))]
       -- create PLOT
       pl := pointPlot(first fcn,normalize seg)$Plot3D
       -- create ThreeSpace
@@ -143563,9 +143563,10 @@ SingleFloat value.
       r
 
     recolor(ptFunc,colFunc) ==
-      pt := ptFunc(#1,#2)
-      pt.4 := colFunc(pt.1,pt.2,pt.3)
-      pt
+     (f1,f2) +->
+       pt := ptFunc(f1,f2)
+       pt.4 := colFunc(pt.1,pt.2,pt.3)
+       pt
 
     xCoord: (SF,SF) -> SF
     xCoord(x,y) == x
@@ -143581,14 +143582,14 @@ SingleFloat value.
         pointsColored? := true
         col2 := [retract(c2 :: Any)$ANY1((SF,SF) -> SF)]
       fcn : L((SF,SF) -> Pt) :=
-        [makePt4(myTrap2(f,#1,#2),#1,#2,(first col2)(#1,#2))]
+        [(x,y) +-> makePt4(myTrap2(f,x,y),x,y,(first col2)(x,y))]
       -- process change of coordinates
       if (c := option(l,"coordinates" :: Symbol)) case "failed" then
         -- default coordinate transformation
-        fcn := [makePt4(#1,#2,myTrap2(f,#1,#2),(first col2)(#1,#2))]
+        fcn := [(x,y) +-> makePt4(x,y,myTrap2(f,x,y),(first col2)(x,y))]
       else
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        fcn := [(first cc)((first fcn)(#1,#2))]
+        fcn := [(x,y) +-> (first cc)((first fcn)(x,y))]
       -- process color function of three variables, if there was no
       -- color function of two variables
       if not pointsColored? then
@@ -143625,12 +143626,12 @@ SingleFloat value.
         pointsColored? := true
         col2 := [retract(c2 :: Any)$ANY1((SF,SF) -> SF)]
       fcn : L((SF,SF) -> Pt) := 
-        [makePt4(myTrap2((first f),#1,#2),myTrap2((first g),#1,#2),myTrap2((first h),#1,#2),_
-                 myTrap2((first col2),#1,#2))]
+        [(x,y)+->makePt4(myTrap2((first f),x,y),myTrap2((first g),x,y),
+                  myTrap2((first h),x,y), myTrap2((first col2),x,y))]
       -- process change of coordinates
       if not (c := option(l,"coordinates" :: Symbol)) case "failed" then
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        fcn := [(first cc)((first fcn)(#1,#2))]
+        fcn := [(x,y) +-> (first cc)((first fcn)(x,y))]
       -- process color function of three variables, if there was no
       -- color function of two variables
       if not pointsColored? then
@@ -143651,12 +143652,12 @@ SingleFloat value.
         pointsColored? := true
         col2 := [retract(c2 :: Any)$ANY1((SF,SF) -> SF)]
       fcn : L((SF,SF) -> Pt) := 
-        pointsColored? => [concat(s(#1, #2), (first col2)(#1, #2))]
+        pointsColored? => [(x,y) +-> concat(s(x, y), (first col2)(x, y))]
         [s]
       -- process change of coordinates
       if not (c := option(l,"coordinates" :: Symbol)) case "failed" then
         cc : L(Pt -> Pt) := [retract(c :: Any)$ANY1(Pt -> Pt)]
-        fcn := [(first cc)((first fcn)(#1,#2))]
+        fcn := [(x,y) +-> (first cc)((first fcn)(x,y))]
       -- create mesh
       mesh := meshPar2Var(sp,first fcn,normalize uSeg,normalize vSeg,l)
       mesh
diff --git a/changelog b/changelog
index 0db762a..2b6e569 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090623 tpd src/axiom-website/patches.html 20090623.01.tpd.patch
+20090623 tpd books/bookvol10.4 DRAWCFUN +-> conversion
 20090622 tpd src/axiom-website/patches.html 20090622.05.tpd.patch
 20090622 tpd books/bookvol10.4 DRAWCURV +-> conversion
 20090622 tpd src/axiom-website/patches.html 20090622.04.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 27d2309..70450ac 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1645,5 +1645,7 @@ src/axiom-website/download.html add mandriva<br/>
 bookvol10.4 TABLBUMP, UTSSOL +-> conversion<br/>
 <a href="patches/20090622.05.tpd.patch">20090622.05.tpd.patch</a>
 bookvol10.4 DRAWCURV +-> conversion<br/>
+<a href="patches/20090623.01.tpd.patch">20090623.01.tpd.patch</a>
+bookvol10.4 DRAWCFUN +-> conversion<br/>
  </body>
 </html>
