diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index daeb64c..4192875 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -17127,7 +17127,8 @@ ElementaryFunctionLODESolver(R, F, L): Exports == Implementation where
         z   := rootOf(rec.prim)
         lk:List K := [kx, k]
         lv:List F := [(rec.pol1) z, (rec.pol2) z]
-        (u := solve(localmap(eval(#1, lk, lv), op), eval(g, lk, lv), x))
+        (u := solve(localmap((f1:F):F +-> eval(f1, lk, lv), op), _
+                              eval(g, lk, lv), x))
             case "failed" => "failed"
         rc := u::REC
         kz := retract(z)@K
@@ -17136,8 +17137,8 @@ ElementaryFunctionLODESolver(R, F, L): Exports == Implementation where
       lastChance(op, g, x)
 
     doVarParams(eq, g, bas, x) ==
-      (u := particularSolution(eq, g, bas, int(#1, x))) case "failed" =>
-         lastChance(eq, g, x)
+      (u := particularSolution(eq, g, bas, (f1:F):F +-> int(f1, x)))
+         case "failed" => lastChance(eq, g, x)
       [u::F, bas]
 
     lastChance(op, g, x) ==
@@ -17216,7 +17217,7 @@ ElementaryFunctionLODESolver(R, F, L): Exports == Implementation where
       b := coefficient(op, 1)
       a := coefficient(op, 2)
       (u := kovacic(coefficient(op, 0), b, a, ffactor)) case "failed" => empty()
-      p := map(multivariate(#1, k), u::UPUP)
+      p := map(z1+->multivariate(z1, k), u::UPUP)
       ba := multivariate(- b / a, k)
 -- if p has degree 2 (case 2), then it must be squarefree since the
 -- ode is irreducible over the rational functions, so the 2 roots of p
@@ -17258,8 +17259,9 @@ ElementaryFunctionLODESolver(R, F, L): Exports == Implementation where
       for i in minIndex v .. maxIndex v for yy in y0 repeat
         v.i := yy - eval(h, kx, a)
         h := diff h
-      (sol := particularSolution(map_!(eval(#1,kx,a),wronskianMatrix(b,n)), v))
-         case "failed" => "failed"
+      (sol := particularSolution(
+         map_!((f1:F):F+->eval(f1,kx,a),wronskianMatrix(b,n)), v))
+           case "failed" => "failed"
       for f in b for i in minIndex(s := sol::V) .. repeat
         hp := hp + s.i * f
       hp
diff --git a/changelog b/changelog
index be882f1..a1e9f50 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090514 tpd src/axiom-website/patches.html 20090514.08.tpd.patch
+20090514 tpd books/bookvol10.4 LODEEF +-> conversion
 20090514 tpd src/axiom-website/patches.html 20090514.07.tpd.patch
 20090514 tpd books/bookvol10.4 D01WGTS +-> conversion
 20090514 tpd src/axiom-website/patches.html 20090514.06.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index f249e87..9815627 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1302,5 +1302,7 @@ bookvol10.4 DBLRESP +-> conversion<br/>
 bookvol10.3 NSMP +-> conversion<br/>
 <a href="patches/20090514.07.tpd.patch">20090514.07.tpd.patch</a>
 bookvol10.4 D01WGTS +-> conversion<br/>
+<a href="patches/20090514.08.tpd.patch">20090514.08.tpd.patch</a>
+bookvol10.4 LODEEF +-> conversion<br/>
  </body>
 </html>
