diff --git a/changelog b/changelog
index f85fa72..e61b3f5 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20090824 tpd src/axiom-website/patches.html 20090824.07.tpd.patch
+20090824 tpd src/interp/Makefile move osyscmd.boot to osyscmd.lisp
+20090824 tpd src/interp/osyscmd.lisp added, rewritten from osyscmd.boot
+20090824 tpd src/interp/osyscmd.boot removed, rewritten to osyscmd.lisp
 20090824 tpd src/axiom-website/patches.html 20090824.06.tpd.patch
 20090824 tpd src/interp/Makefile move nrunopt.boot to nrunopt.lisp
 20090824 tpd src/interp/nrunopt.lisp added, rewritten from nrunopt.boot
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 5bcfeb5..0b462c5 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1876,5 +1876,7 @@ nrunfast.lisp rewrite from boot to lisp<br/>
 nrungo.lisp rewrite from boot to lisp<br/>
 <a href="patches/20090824.06.tpd.patch">20090824.06.tpd.patch</a>
 nrunopt.lisp rewrite from boot to lisp<br/>
+<a href="patches/20090824.07.tpd.patch">20090824.07.tpd.patch</a>
+osyscmd.lisp rewrite from boot to lisp<br/>
  </body>
 </html>
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index f9785e5..eb27d9f 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -3696,47 +3696,27 @@ ${MID}/nrungo.lisp: ${IN}/nrungo.lisp.pamphlet
 
 @
 
-\subsection{nruntime.boot}
+\subsection{nruntime.lisp}
 <<nruntime.o (OUT from MID)>>=
-${OUT}/nruntime.${O}: ${MID}/nruntime.clisp 
-	@ echo 361 making ${OUT}/nruntime.${O} from ${MID}/nruntime.clisp
-	@ (cd ${MID} ; \
+${OUT}/nruntime.${O}: ${MID}/nruntime.lisp
+	@ echo 136 making ${OUT}/nruntime.${O} from ${MID}/nruntime.lisp
+	@ ( cd ${MID} ; \
 	  if [ -z "${NOISE}" ] ; then \
-	   echo '(progn  (compile-file "${MID}/nruntime.clisp"' \
-             ':output-file "${OUT}/nruntime.${O}") (${BYE}))' |  ${DEPSYS} ; \
+	   echo '(progn  (compile-file "${MID}/nruntime.lisp"' \
+             ':output-file "${OUT}/nruntime.${O}") (${BYE}))' | ${DEPSYS} ; \
 	  else \
-	   echo '(progn  (compile-file "${MID}/nruntime.clisp"' \
-             ':output-file "${OUT}/nruntime.${O}") (${BYE}))' |  ${DEPSYS} \
+	   echo '(progn  (compile-file "${MID}/nruntime.lisp"' \
+             ':output-file "${OUT}/nruntime.${O}") (${BYE}))' | ${DEPSYS} \
              >${TMP}/trace ; \
 	  fi )
 
 @
-<<nruntime.clisp (MID from IN)>>=
-${MID}/nruntime.clisp: ${IN}/nruntime.boot.pamphlet
-	@ echo 362 making ${MID}/nruntime.clisp \
-                   from ${IN}/nruntime.boot.pamphlet
+<<nruntime.lisp (MID from IN)>>=
+${MID}/nruntime.lisp: ${IN}/nruntime.lisp.pamphlet
+	@ echo 137 making ${MID}/nruntime.lisp from \
+             ${IN}/nruntime.lisp.pamphlet
 	@ (cd ${MID} ; \
-	  ${TANGLE} ${IN}/nruntime.boot.pamphlet >nruntime.boot ; \
-	  if [ -z "${NOISE}" ] ; then \
-	   echo '(progn (boottran::boottocl "nruntime.boot") (${BYE}))' \
-                | ${DEPSYS} ; \
-	  else \
-	   echo '(progn (boottran::boottocl "nruntime.boot") (${BYE}))' \
-                 | ${DEPSYS} >${TMP}/trace ; \
-	  fi ; \
-	  rm nruntime.boot )
-
-@
-<<nruntime.boot.dvi (DOC from IN)>>=
-${DOC}/nruntime.boot.dvi: ${IN}/nruntime.boot.pamphlet 
-	@echo 363 making ${DOC}/nruntime.boot.dvi \
-                  from ${IN}/nruntime.boot.pamphlet
-	@(cd ${DOC} ; \
-	cp ${IN}/nruntime.boot.pamphlet ${DOC} ; \
-	${DOCUMENT} ${NOISE} nruntime.boot ; \
-	rm -f ${DOC}/nruntime.boot.pamphlet ; \
-	rm -f ${DOC}/nruntime.boot.tex ; \
-	rm -f ${DOC}/nruntime.boot )
+	   ${TANGLE} ${IN}/nruntime.lisp.pamphlet >nruntime.lisp )
 
 @
 
@@ -5240,45 +5220,26 @@ ${MID}/int-top.lisp: ${IN}/int-top.lisp.pamphlet
 
 @
 
-\subsection{osyscmd.boot}
+\subsection{osyscmd.lisp}
 <<osyscmd.o (OUT from MID)>>=
-${OUT}/osyscmd.${O}: ${MID}/osyscmd.clisp  
-	@ echo 567 making ${OUT}/osyscmd.${O} from ${MID}/osyscmd.clisp
-	@ if [ -z "${NOISE}" ] ; then \
-	   echo '(progn (compile-file "${MID}/osyscmd.clisp"' \
+${OUT}/osyscmd.${O}: ${MID}/osyscmd.lisp
+	@ echo 136 making ${OUT}/osyscmd.${O} from ${MID}/osyscmd.lisp
+	@ ( cd ${MID} ; \
+	  if [ -z "${NOISE}" ] ; then \
+	   echo '(progn  (compile-file "${MID}/osyscmd.lisp"' \
              ':output-file "${OUT}/osyscmd.${O}") (${BYE}))' | ${DEPSYS} ; \
 	  else \
-	   echo '(progn (compile-file "${MID}/osyscmd.clisp"' \
+	   echo '(progn  (compile-file "${MID}/osyscmd.lisp"' \
              ':output-file "${OUT}/osyscmd.${O}") (${BYE}))' | ${DEPSYS} \
              >${TMP}/trace ; \
-	  fi
+	  fi )
 
 @
-<<osyscmd.clisp (MID from IN)>>=
-${MID}/osyscmd.clisp: ${IN}/osyscmd.boot.pamphlet
-	@ echo 568 making ${MID}/osyscmd.clisp from ${IN}/osyscmd.boot.pamphlet
+<<osyscmd.lisp (MID from IN)>>=
+${MID}/osyscmd.lisp: ${IN}/osyscmd.lisp.pamphlet
+	@ echo 137 making ${MID}/osyscmd.lisp from ${IN}/osyscmd.lisp.pamphlet
 	@ (cd ${MID} ; \
-	  ${TANGLE} ${IN}/osyscmd.boot.pamphlet >osyscmd.boot ; \
-	  if [ -z "${NOISE}" ] ; then \
-	   echo '(progn (boottran::boottocl "${MID}/osyscmd.boot") (${BYE}))' \
-                | ${BOOTSYS}  ; \
-	  else \
-	   echo '(progn (boottran::boottocl "${MID}/osyscmd.boot") (${BYE}))' \
-                | ${BOOTSYS} >${TMP}/trace ; \
-	  fi ; \
-	  rm osyscmd.boot )
-
-@
-<<osyscmd.boot.dvi (DOC from IN)>>=
-${DOC}/osyscmd.boot.dvi: ${IN}/osyscmd.boot.pamphlet 
-	@echo 569 making ${DOC}/osyscmd.boot.dvi \
-                  from ${IN}/osyscmd.boot.pamphlet
-	@(cd ${DOC} ; \
-	cp ${IN}/osyscmd.boot.pamphlet ${DOC} ; \
-	${DOCUMENT} ${NOISE} osyscmd.boot ; \
-	rm -f ${DOC}/osyscmd.boot.pamphlet ; \
-	rm -f ${DOC}/osyscmd.boot.tex ; \
-	rm -f ${DOC}/osyscmd.boot )
+	   ${TANGLE} ${IN}/osyscmd.lisp.pamphlet >osyscmd.lisp )
 
 @
 
@@ -6236,8 +6197,7 @@ clean:
 <<nrungo.lisp (MID from IN)>>
 
 <<nruntime.o (OUT from MID)>>
-<<nruntime.clisp (MID from IN)>>
-<<nruntime.boot.dvi (DOC from IN)>>
+<<nruntime.lisp (MID from IN)>>
 
 <<nrunopt.o (OUT from MID)>>
 <<nrunopt.lisp (MID from IN)>>
@@ -6253,8 +6213,7 @@ clean:
 <<obey.lisp.dvi (DOC from IN)>>
 
 <<osyscmd.o (OUT from MID)>>
-<<osyscmd.clisp (MID from IN)>>
-<<osyscmd.boot.dvi (DOC from IN)>>
+<<osyscmd.lisp (MID from IN)>>
 
 <<package.o (AUTO from OUT)>>
 <<package.o (OUT from MID)>>
diff --git a/src/interp/osyscmd.boot.pamphlet b/src/interp/osyscmd.boot.pamphlet
deleted file mode 100644
index c1afede..0000000
--- a/src/interp/osyscmd.boot.pamphlet
+++ /dev/null
@@ -1,75 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp osyscmd.boot}
-\author{The Axiom Team}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
--- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
--- All rights reserved.
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
---     - Redistributions of source code must retain the above copyright
---       notice, this list of conditions and the following disclaimer.
---
---     - Redistributions in binary form must reproduce the above copyright
---       notice, this list of conditions and the following disclaimer in
---       the documentation and/or other materials provided with the
---       distribution.
---
---     - Neither the name of The Numerical ALgorithms Group Ltd. nor the
---       names of its contributors may be used to endorse or promote products
---       derived from this software without specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
--- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
--- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
--- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
--- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
--- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
--- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
--- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-@
-<<*>>=
-<<license>>
-
-)package "BOOT"
-
-
-InterpExecuteSpadSystemCommand string ==
-  CATCH($intCoerceFailure,
-    CATCH($intSpadReader, ExecuteInterpSystemCommand string) )
- 
-ExecuteInterpSystemCommand string ==
-   string := intProcessSynonyms(string)
-   $currentLine:local:=string
-   string:=SUBSTRING(string,1,nil)
-   string = '"" => nil
-   doSystemCommand string
-
---------------------> NEW DEFINITION (see i-syscmd.boot.pamphlet)
-parseFromString(s) ==
-   s := next(function ncloopParse,
-        next(function lineoftoks,incString s))
-   StreamNull s => nil
-   pf2Sex macroExpanded first rest first s
- 
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/osyscmd.lisp.pamphlet b/src/interp/osyscmd.lisp.pamphlet
new file mode 100644
index 0000000..ed46c5f
--- /dev/null
+++ b/src/interp/osyscmd.lisp.pamphlet
@@ -0,0 +1,70 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/interp osyscmd.lisp}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+<<*>>=
+
+(IN-PACKAGE "BOOT")
+
+;InterpExecuteSpadSystemCommand string ==
+;  CATCH($intCoerceFailure,
+;    CATCH($intSpadReader, ExecuteInterpSystemCommand string) )
+ 
+(DEFUN |InterpExecuteSpadSystemCommand| (|string|)
+  (PROG ()
+    (DECLARE (SPECIAL |$intSpadReader| |$intCoerceFailure|))
+    (RETURN
+      (CATCH |$intCoerceFailure|
+        (CATCH |$intSpadReader|
+          (|ExecuteInterpSystemCommand| |string|))))))
+
+;ExecuteInterpSystemCommand string ==
+;   string := intProcessSynonyms(string)
+;   $currentLine:local:=string
+;   string:=SUBSTRING(string,1,nil)
+;   string = '"" => nil
+;   doSystemCommand string
+
+(DEFUN |ExecuteInterpSystemCommand| (|string|)
+  (PROG (|$currentLine|)
+    (DECLARE (SPECIAL |$currentLine|))
+    (RETURN
+      (PROGN
+        (SETQ |string| (|intProcessSynonyms| |string|))
+        (SETQ |$currentLine| |string|)
+        (SETQ |string| (SUBSTRING |string| 1 NIL))
+        (COND
+          ((EQUAL |string| "") NIL)
+          ('T (|doSystemCommand| |string|)))))))
+
+;--------------------> NEW DEFINITION (see i-syscmd.boot.pamphlet)
+;parseFromString(s) ==
+;   s := next(function ncloopParse,
+;        next(function lineoftoks,incString s))
+;   StreamNull s => nil
+;   pf2Sex macroExpanded first rest first s
+ 
+(DEFUN |parseFromString| (|s|)
+  (PROG ()
+    (RETURN
+      (PROGN
+        (SETQ |s|
+              (|next| #'|ncloopParse|
+                      (|next| #'|lineoftoks| (|incString| |s|))))
+        (COND
+          ((|StreamNull| |s|) NIL)
+          ('T (|pf2Sex| (|macroExpanded| (CAR (CDR (CAR |s|)))))))))))
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
