From c66bfae8cd3624e9d34bcebb691699dd257fae36 Mon Sep 17 00:00:00 2001
From: Tim Daly <daly@axiom-developer.org>
Date: Wed, 27 May 2015 14:47:08 -0400
Subject: [PATCH] books/bookvol5 move PLACEP VMREAD to Algebra support section

Goal: Collect functions that directly support algebra in one place

placep and vmread are used in File. They have been moved to the
proper section in the interpreter from vmlisp.
---
 Makefile                        |    2 ++
 books/bookvol5.pamphlet         |   27 +++++++++++++++++++++++++++
 changelog                       |    4 ++++
 patch                           |    7 +++++--
 src/axiom-website/patches.html  |    2 ++
 src/interp/vmlisp.lisp.pamphlet |    4 ----
 6 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 7087481..6c61f63 100644
--- a/Makefile
+++ b/Makefile
@@ -299,9 +299,11 @@ clean:
 	@ rm -f src/Makefile.pdf
 	@ rm -f src/algebra/book*pamphlet
 	@ rm -f src/algebra/*.spad
+	@ rm -f src/algebra/Makefile
 	@ rm -f src/etc/axiom.sty
 	@ rm -f src/etc/Makefile src/etc/Makefile.dvi src/etc/Makefile.pdf
 	@ rm -f src/interp/book*pamphlet
+	@ rm -f src/interp/axiom.sty
 	@ rm -f src/input/axiom.sty
 	@ rm -f src/share/axiom.sty
 	@ rm -f src/share/Makefile src/share/Makefile.dvi 
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 0d7b468..4137a26 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -46414,6 +46414,30 @@ are 0 based whereas other Spad language vectors are 1-based.
 %%% E %%%
 %%% F %%% 
 
+\section{\enspace{}File}
+\defvar{*read-place-holder*}
+\begin{chunk}{initvars}
+(defvar *read-place-holder* (make-symbol "%.EOF")
+   "default value returned by read and read-line at end-of-file")
+
+\end{chunk}
+
+\defun{placep}{placep}
+\uses{placep}{*read-place-holder*}
+\begin{chunk}{defun placep 0}
+(defun placep (item)
+ (declare (special *read-place-holder*))
+ (eq item *read-place-holder*))
+
+\end{chunk}
+
+\defun{vmread}{vmread}
+\begin{chunk}{defun vmread 0}
+(defun vmread (&optional (st *standard-input*) (eofval *read-place-holder*))
+  (read st nil eofval))
+
+\end{chunk}
+
 \section{\enspace{}FileName}
 \defun{fnameMake}{FileName filename function implementation}
 \calls{fnameMake}{StringToDir}
@@ -60108,6 +60132,7 @@ There are 8 parts of an htPage:
 \getchunk{defun pfWhereContext 0}
 \getchunk{defun pfWhereExpr 0}
 \getchunk{defun pfWhileCond 0}
+\getchunk{defun placep 0}
 \getchunk{defun pmDontQuote? 0}
 \getchunk{defun poCharPosn 0}
 \getchunk{defun poGetLineObject 0}
@@ -60155,6 +60180,8 @@ There are 8 parts of an htPage:
 \getchunk{defun Top? 0}
 \getchunk{defun trademark 0}
 
+\getchunk{defun vmread 0}
+
 \getchunk{defun zeroOneTran 0}
 
 ;;; above level 0
diff --git a/changelog b/changelog
index dfd2366..c8dceee 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20150527 tpd src/axiom-website/patches.html 20150527.01.tpd.patch 
+20150527 tpd books/bookvol5 move PLACEP VMREAD to Algebra support section
+20150527 tpd src/interp/vmlisp.lisp remove PLACEP VMREAD
+20150627 tpd Makefile minor fix to clean to remove more junk
 20150525 tpd src/axiom-website/patches.html 20150525.01.tpd.patch 
 20150525 tpd books/bookvol5 remove KAR, KDR, KADR, KADDR macros
 20150525 tpd books/bookvol9 remove KAR, KDR, KADR, KADDR macros
diff --git a/patch b/patch
index 415524d..03ffe09 100644
--- a/patch
+++ b/patch
@@ -1,3 +1,6 @@
-src/interp/vmlisp.lisp remove KAR, KDR, KAAR, KADR macros
+books/bookvol5 move PLACEP VMREAD to Algebra support section
 
-move closer to common lisp.
\ No newline at end of file
+Goal: Collect functions that directly support algebra in one place
+
+placep and vmread are used in File. They have been moved to the
+proper section in the interpreter from vmlisp.
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 5aa994d..f6e6118 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -5076,6 +5076,8 @@ src/interp/c-doc.lisp merge c-doc functions, removed<br/>
 books/bookvolbib add Thie15 reference<br/>
 <a href="patches/20150525.01.tpd.patch">20150525.01.tpd.patch</a>
 src/interp/vmlisp.lisp remove KAR, KDR, KADR, KADDR macros<br/>
+<a href="patches/20150527.01.tpd.patch">20150527.01.tpd.patch</a>
+books/bookvol5 move PLACEP VMREAD to Algebra support section<br/>
  </body>
 </html>
 
diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet
index 0b0c2f9..b4a970d 100644
--- a/src/interp/vmlisp.lisp.pamphlet
+++ b/src/interp/vmlisp.lisp.pamphlet
@@ -1298,10 +1298,6 @@ In GCL 2.5:
 (define-function 'EVALFUN #'eval) ;EVALFUN drops lexicals before evaluating
 (define-function 'EVA1FUN #'EVALFUN)
 
-(defun PLACEP (item) (eq item *read-place-holder*))
-(defun VMREAD (&optional (st *standard-input*) (eofval *read-place-holder*))
-  (read st nil eofval))
-
 \end{chunk}
 \sig{read-line}{Stream}{String}
 \begin{chunk}{*}
-- 
1.7.5.4

