diff --git a/changelog b/changelog
index 4330241..5979f4e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20091003 tpd src/axiom-website/patches.html 20091003.01.tpd.patch
+20091003 tpd src/interp/i-spec1.lisp cleanup
 20091002 tpd src/axiom-website/patches.html 20091002.04.tpd.patch
 20091002 tpd src/interp/i-spec2.lisp cleanup
 20091002 tpd src/axiom-website/patches.html 20091002.03.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index cfdc33d..9754c7a 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2087,5 +2087,7 @@ src/interp/i-syscmd.lisp cleanup<br/>
 src/input/rubey.input added<br/>
 <a href="patches/20091002.04.tpd.patch">20091002.04.tpd.patch</a>
 src/interp/i-spec2.lisp cleanup<br/>
+<a href="patches/20091003.01.tpd.patch">20091003.01.tpd.patch</a>
+src/interp/i-spec1.lisp cleanup<br/>
  </body>
 </html>
diff --git a/src/interp/i-spec1.lisp.pamphlet b/src/interp/i-spec1.lisp.pamphlet
index f95bf06..814b1fb 100644
--- a/src/interp/i-spec1.lisp.pamphlet
+++ b/src/interp/i-spec1.lisp.pamphlet
@@ -83,7 +83,7 @@ There are several special modes used in these functions:
 ;--% Void stuff
 ;voidValue() == '"()"
 
-(DEFUN |voidValue| NIL (MAKESTRING "()")) 
+(DEFUN |voidValue| () (MAKESTRING "()")) 
 
 ;--% Handlers for Anonymous Function Definitions
 ;upADEF t ==
@@ -254,7 +254,9 @@ There are several special modes used in these functions:
 ;  putModeSet(t,[objMode val])
 
 (DEFUN |evalUntargetedADEF| (|t| |vars| |types| |body|)
+  (declare (ignore |types|))
   (PROG (|var| |val|)
+  (declare (special |$AnonymousFunction|))
     (RETURN
       (PROGN
         (COND
@@ -297,8 +299,9 @@ There are several special modes used in these functions:
 (DEFUN |evalTargetedADEF| (|t| |vars| |types| |body|)
   (PROG (|$mapName| |$compilingMap| |$mapThrowCount| |$mapReturnTypes|
             |$repeatLabel| |$breakCount| |sublist| |x|)
-    (DECLARE (SPECIAL |$mapName| |$compilingMap| |$mapThrowCount|
-                      |$mapReturnTypes| |$repeatLabel| |$breakCount|))
+    (DECLARE (SPECIAL |$mapName| |$compilingMap| |$mapThrowCount| |$env|
+                      |$mapReturnTypes| |$repeatLabel| |$breakCount|
+                      |$anonymousMapCounter|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$mapName|
@@ -381,6 +384,7 @@ There are several special modes used in these functions:
 
 (DEFUN |mkInterpTargetedADEF| (|t| |vars| |types| |oldBody|)
   (PROG (|arglCode| |body|)
+  (declare (special |$mapName| |$e|))
     (RETURN
       (SEQ (COND
              ((NULL (CAR |types|)) (|throwKeyedMsg| 'S2IS0056 NIL)
@@ -492,9 +496,12 @@ There are several special modes used in these functions:
 ;  putValue(t,val)
 ;  putModeSet(t,[rt])
 
-(DEFUN |compileADEFBody|
-       (|t| |vars| |types| |body| |computedResultType|)
+(DEFUN |compileADEFBody| (|t| |vars| |types| |body| |computedResultType|)
   (PROG (|minivectorName| |fun| |code| |rt| |val|)
+  (declare (special |$freeVariables| |$boundVariables| |$compilingMap|
+                    |$genValue| |$definingMap| |$minivector| |$mapName|
+                    |$minivectorCode| |$compilingInputFile| 
+                    |$minivectorNames| |$compiledOpNameList|))
     (RETURN
       (PROGN
         (SPADLET |$compiledOpNameList| (CONS |$mapName| NIL))
@@ -597,7 +604,8 @@ There are several special modes used in these functions:
             |algExtension| |ms| |triple| |upmode| T$ |newmode| |field|
             |pd| |canonicalAE| |sae| |saeTypeSynonym|
             |saeTypeSynonymValue| |fun| |expr| T2)
-    (DECLARE (SPECIAL |$declaredMode|))
+    (DECLARE (SPECIAL |$declaredMode| |$printTypeIfTrue| |$e| |$EmptyMode|
+                      |$genValue|))
     (RETURN
       (COND
         ((NULL (AND (PAIRP |t|)
@@ -738,6 +746,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upand| (|x|)
   (PROG (|op| |ISTMP#1| |term1| |ISTMP#2| |term2| |ms| |cond| |code|)
+  (declare (special |$Boolean| |$genValue|))
     (RETURN
       (COND
         ((NULL (AND (PAIRP |x|)
@@ -830,6 +839,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upor| (|x|)
   (PROG (|op| |ISTMP#1| |term1| |ISTMP#2| |term2| |ms| |cond| |code|)
+  (declare (special |$Boolean| |$genValue|))
     (RETURN
       (COND
         ((NULL (AND (PAIRP |x|)
@@ -928,6 +938,7 @@ There are several special modes used in these functions:
 (DEFUN |upcase| (|t|)
   (PROG (|op| |lhs| |triple| |unionDoms| |rhs'| |rhs| |ISTMP#3|
               |ISTMP#1| |ISTMP#2| |rhstag| |t'| |triple'| |code|)
+  (declare (special |$Boolean| |$genValue|))
     (RETURN
       (SEQ (COND
              ((NULL (AND (PAIRP |t|)
@@ -1073,7 +1084,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upTARGET| (|t|)
   (PROG (|$declaredMode| |op| |ISTMP#1| |lhs| |ISTMP#2| |rhs| |m| |ms|)
-    (DECLARE (SPECIAL |$declaredMode|))
+    (DECLARE (SPECIAL |$declaredMode| |$localVars| |$genValue|))
     (RETURN
       (SEQ (COND
              ((NULL (AND (PAIRP |t|)
@@ -1150,7 +1161,8 @@ There are several special modes used in these functions:
 (DEFUN |upCOERCE| (|t|)
   (PROG (|$useConvertForCoercions| |$declaredMode| |op| |ISTMP#1| |lhs|
             |ISTMP#2| |rhs| |m| |type|)
-    (DECLARE (SPECIAL |$useConvertForCoercions| |$declaredMode|))
+    (DECLARE (SPECIAL |$useConvertForCoercions| |$declaredMode| |$localVars|
+                      |$genValue|))
     (RETURN
       (SEQ (COND
              ((NULL (AND (PAIRP |t|)
@@ -1224,6 +1236,7 @@ There are several special modes used in these functions:
 
 (DEFUN |evalCOERCE| (|op| |tree| |m|)
   (PROG (|v| |t1| |e| |t2| |value| |val|)
+  (declare (special |$genValue|))
     (RETURN
       (PROGN
         (SPADLET |v| (|getValue| |tree|))
@@ -1553,6 +1566,7 @@ There are several special modes used in these functions:
 ;  upCOLLECT0 t
 
 (DEFUN |upCOLLECT| (|t|)
+  (declare (special |$compilingLoop|))
   (COND (|$compilingLoop| (|upCOLLECT1| |t|)) ('T (|upCOLLECT0| |t|))))
 
 ;upCOLLECT0 t ==
@@ -1594,6 +1608,7 @@ There are several special modes used in these functions:
 (DEFUN |upCOLLECT1| (|t|)
   (PROG (|op| |ISTMP#2| |body| |itrl| |target| |agg| S |ms| |m|
               |ISTMP#1| |pred| |mode|)
+  (declare (special |$interpOnly|))
     (RETURN
       (SEQ (COND
              ((NULL (AND (PAIRP |t|)
@@ -1687,6 +1702,7 @@ There are several special modes used in these functions:
 (DEFUN |upLoopIters| (|itrl|)
   (PROG (|pred| |s| |ISTMP#1| |index| |ISTMP#2| |lower| |ISTMP#3|
                 |step| |upperList|)
+  (declare (special |$env|))
     (RETURN
       (SEQ (DO ((G167214 |itrl| (CDR G167214)) (|iter| NIL))
                ((OR (ATOM G167214)
@@ -1794,6 +1810,7 @@ There are several special modes used in these functions:
 (DEFUN |upLoopIterIN| (|iter| |index| |s|)
   (PROG (|v| |m| |iterMs| |lower| |step| |upperList| |newIter|
              |ISTMP#1| |ISTMP#2| |ud|)
+  (declare (special |$env| |$genValue|))
     (RETURN
       (PROGN
         (SPADLET |iterMs| (|bottomUp| |s|))
@@ -1889,6 +1906,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upLoopIterSTEP| (|index| |lower| |step| |upperList|)
   (PROG (|ltype| |stype| |utype| |types| |type|)
+  (declare (special |$env| |$Integer|))
     (RETURN
       (SEQ (COND
              ((NULL (IDENTP |index|))
@@ -1936,7 +1954,7 @@ There are several special modes used in these functions:
                              (|resolveTypeListAny| (REMDUP |types|)))
                     (|put| |index| '|mode| |type| |$env|)
                     (|mkLocalVar|
-                        (MAKESTRING "the iterator expression") |index|)))))))))))
+                      (MAKESTRING "the iterator expression") |index|)))))))))))
 
 ;evalCOLLECT(op,[:itrl,body],m) ==
 ;  iters := [evalLoopIter itr for itr in itrl]
@@ -1948,6 +1966,7 @@ There are several special modes used in these functions:
 
 (DEFUN |evalCOLLECT| (|op| G167310 |m|)
   (PROG (|LETTMP#1| |body| |itrl| |iters| |bod| |bode| |code|)
+  (declare (special |$genValue|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |LETTMP#1| (REVERSE G167310))
@@ -1984,7 +2003,9 @@ There are several special modes used in these functions:
 
 ;falseFun(x) == nil
 
-(DEFUN |falseFun| (|x|) NIL) 
+(DEFUN |falseFun| (|x|)
+ (declare (ignore |x|))
+ NIL) 
 
 ;evalLoopIter itr ==
 ;  -- generate code for loop iterator
@@ -2004,6 +2025,7 @@ There are several special modes used in these functions:
 (DEFUN |evalLoopIter| (|itr|)
   (PROG (|lower| |ISTMP#3| |step| |upperList| |index| |ISTMP#2| |s| |x|
                  |ISTMP#1| |pred|)
+  (declare (special |$Boolean| |$env| |$SmallInteger| |$Integer|))
     (RETURN
       (SEQ (COND
              ((AND (PAIRP |itr|) (EQ (QCAR |itr|) 'STEP)
@@ -2239,6 +2261,8 @@ There are several special modes used in these functions:
 (DEFUN |interpIter| (|itr|)
   (PROG (|lower| |ISTMP#3| |step| |upperList| |index| |ISTMP#2| |s|
                  |LETTMP#1| |m| |um| |x| |ISTMP#1| |pred|)
+  (declare (special |$Boolean| |$indexTypes| |$indexVars| |$SmallInteger|
+                    |$Integer|))
     (RETURN
       (SEQ (COND
              ((AND (PAIRP |itr|) (EQ (QCAR |itr|) 'STEP)
@@ -2432,6 +2456,7 @@ There are several special modes used in these functions:
 (DEFUN |interpCOLLECTbodyIter|
        (|exp| |indexList| |indexVals| |indexTypes|)
   (PROG (|LETTMP#1| |m| |rm| |value|)
+  (declare (special |$collectTypeList| |$env|))
     (RETURN
       (SEQ (PROGN
              (|emptyAtree| |exp|)
@@ -2681,6 +2706,7 @@ There are several special modes used in these functions:
 (DEFUN |upStreamIterIN| (|iter| |index| |s|)
   (PROG (|iterMs| |lower| |step| |upperList| |newIter| |ISTMP#1|
             |ISTMP#2| |ud| |form|)
+  (declare (special |$indexVars| |$env|))
     (RETURN
       (PROGN
         (SPADLET |iterMs| (|bottomUp| |s|))
@@ -2832,6 +2858,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upStreamIterSTEP| (|index| |lower| |step| |upperList|)
   (PROG (|ltype| |stype| |type| |genFun| |form| |s|)
+  (declare (special |$indexVars| |$Integer| |$env| |$Integer|))
     (RETURN
       (SEQ (COND
              ((NULL (|isEqualOrSubDomain|
@@ -2946,7 +2973,9 @@ There are several special modes used in these functions:
 ;  objMode newVal
 
 (DEFUN |collectOneStream| (|t| |op| |itrl| |body|)
+  (declare (ignore |t|))
   (PROG (|bodyVec| |form| |val| |m| |ISTMP#1| |ud| |newVal|)
+  (declare (special |$localVars| |$indexVars|))
     (RETURN
       (PROGN
         (SPADLET |form| (|mkAndApplyPredicates| |itrl|))
@@ -3004,6 +3033,7 @@ There are several special modes used in these functions:
 
 (DEFUN |mkAndApplyPredicates| (|itrl|)
   (PROG (|indSet| |ISTMP#1| |pred| |fun| |predVec| |s|)
+  (declare (special |$localVars| |$Boolean| |$indexVars|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |indSet| (CAR |$indexVars|))
@@ -3092,6 +3122,7 @@ There are several special modes used in these functions:
   (DECLARE (SPECIAL |$localVars|))
   (PROG (|index| |s| |mode| |ISTMP#1| |indMode| |LETTMP#1| |m|
                  |mapMode| |body| |val| |vec|)
+  (declare (special |$freeVariables| |$boundVariables| |$mapName| |$env|))
     (RETURN
       (PROGN
         (SPADLET |index| (CAR G168248))
@@ -3209,8 +3240,8 @@ There are several special modes used in these functions:
 ;  v
 
 (DEFUN |checkForFreeVariables| (|v| |locals|)
-  (PROG (|op| |args| |r| |var| |ISTMP#1| |form| |ISTMP#2| |name| |p|
-              |newvar|)
+  (PROG (|op| |args| |r| |var| |ISTMP#1| |form| |ISTMP#2| |name| |p| |newvar|)
+  (declare (special |$freeVariables| |$boundVariables|))
     (RETURN
       (SEQ (COND
              ((NULL |v|) |v|)
@@ -3434,9 +3465,9 @@ There are several special modes used in these functions:
                                      |locals|)
                                     NIL))))
                       ('T
-                       (|error| '|Non-simple variable bindings are not currently supported|))))
+       (|error| '|Non-simple variable bindings are not currently supported|))))
                    ((BOOT-EQUAL |op| 'PROG)
-                    (|error| '|Non-simple variable bindings are not currently supported|))
+        (|error| '|Non-simple variable bindings are not currently supported|))
                    ((BOOT-EQUAL |op| 'LAMBDA) |v|)
                    ((BOOT-EQUAL |op| 'QUOTE) |v|)
                    ((BOOT-EQUAL |op| '|getValueFromEnvironment|) |v|)
@@ -3484,9 +3515,10 @@ There are several special modes used in these functions:
 ;  objMode newVal
 
 (DEFUN |collectSeveralStreams| (|t| |op| |itrl| |body|)
+  (declare (ignore |t|))
   (PROG (|$index| |LETTMP#1| |zipType| |vec| |form| |val| |m| |ISTMP#1|
             |ud| |newVal|)
-    (DECLARE (SPECIAL |$index|))
+    (DECLARE (SPECIAL |$index| |$localVars| |$indexVars|))
     (RETURN
       (PROGN
         (SPADLET |$index| NIL)
@@ -3619,6 +3651,7 @@ There are several special modes used in these functions:
 
 (DEFUN |mkAndApplyZippedPredicates| (|s| |zipType| |itrl|)
   (PROG (|ISTMP#1| |pred| |predVec|)
+  (declare (special |$localVars| |$indexList| |$Boolean| ))
     (RETURN
       (SEQ (PROGN
              (DO ((G168589 |itrl| (CDR G168589)) (|iter| NIL))
@@ -3700,8 +3733,10 @@ There are several special modes used in these functions:
 ;  vec
 
 (DEFUN |mkIterZippedFun| (|indexList| |funBody| |zipType| |$localVars|)
-  (DECLARE (SPECIAL |$localVars|))
+  (DECLARE (SPECIAL |$localVars|) (ignore |indexList|))
   (PROG (|numVars| |var| |LETTMP#1| |m| |mapMode| |body| |val| |vec|)
+  (declare (special |$freeVariables| |$index| |$boundVariables| |$mapName|
+                    |$env| |$indexVars|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |numVars| (|#| |$indexVars|))
@@ -3812,6 +3847,7 @@ There are several special modes used in these functions:
 
 (DEFUN |iterVarPos| (|var|)
   (PROG (|index|)
+  (declare (special |$indexVars|))
     (RETURN
       (SEQ (DO ((G168679 (REVERSE |$indexVars|) (CDR G168679))
                 (G168671 NIL) (|i| 1 (QSADD1 |i|)))
@@ -3832,6 +3868,7 @@ There are several special modes used in these functions:
 ;  [mkAtreeNode 'elt, mkNestedElts(n-1), mkAtreeNode 'part2]
 
 (DEFUN |mkNestedElts| (|n|)
+  (declare (special |$index|))
   (COND
     ((EQL |n| 0)
      (|mkAtreeNode| (OR |$index| (SPADLET |$index| (GENSYM)))))
@@ -4105,6 +4142,7 @@ There are several special modes used in these functions:
 
 (DEFUN |evalTupleConstruct| (|op| |l| |m| |tar|)
   (PROG (|ud| |code| |val| |val1|)
+  (declare (special |$genValue|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |ud| (CADR |m|))
@@ -4159,6 +4197,7 @@ There are several special modes used in these functions:
 
 (DEFUN |evalInfiniteTupleConstruct| (|op| |l| |m| |tar|)
   (PROG (|ud| |code| |val| |val1|)
+  (declare (special |$genValue|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |ud| (CADR |m|))
@@ -4217,6 +4256,7 @@ There are several special modes used in these functions:
 
 (DEFUN |evalconstruct| (|op| |l| |m| |tar|)
   (PROG (|agg| |LETTMP#1| |underMode| |argCode| |code| |val| |val1|)
+  (declare (special |$genValue|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |agg| (CAR |m|))
@@ -4274,6 +4314,7 @@ There are several special modes used in these functions:
 
 (DEFUN |replaceSymbols| (|modeList| |l|)
   (PROG (|a| |b|)
+  (declare (special |$declaredMode| |$Symbol|))
     (RETURN
       (SEQ (COND
              ((NULL (|member| |$Symbol| |modeList|)) |modeList|)
@@ -4332,6 +4373,7 @@ There are several special modes used in these functions:
 ;  putModeSet(op,[defMode])
 
 (DEFUN |upNullList| (|op| |l| |tar|)
+  (declare (ignore |l|))
   (PROG (|a| |ISTMP#1| |b| |defMode| |val| |val'|)
     (RETURN
       (PROGN
@@ -4410,6 +4452,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upRecordConstruct| (|op| |l| |tar|)
   (PROG (|types| |argModes| |type| |argCode| |len| |code|)
+  (declare (special |$genValue|))
     (RETURN
       (SEQ (COND
              ((NULL (AND (PAIRP |tar|)
@@ -4448,7 +4491,7 @@ There are several special modes used in these functions:
                                          (CONS
                                           (OR
                                            (|getArgValue| |arg| |type|)
-                                           (|throwKeyedMsgCannotCoerceWithValue|
+                                          (|throwKeyedMsgCannotCoerceWithValue|
                                             (|objVal|
                                              (|getValue| |arg|))
                                             (|objMode|
@@ -4494,6 +4537,7 @@ There are several special modes used in these functions:
 
 (DEFUN |upDeclare| (|t|)
   (PROG (|op| |lhs| |rhs| |mode| |ISTMP#1| |ISTMP#2| |vars| |junk|)
+  (declare (special |$Void| |$localVars| |$genValue|))
     (RETURN
       (SEQ (COND
              ((NULL (AND (PAIRP |t|)
@@ -4705,6 +4749,7 @@ There are several special modes used in these functions:
 
 (DEFUN |declare| (|var| |mode|)
   (PROG (|ISTMP#1| |args| |mapval| |margs| |nargs| |v|)
+  (declare (special |$e| |$env| |$mapName| |$compilingMap|))
     (RETURN
       (PROGN
         (COND
@@ -4779,6 +4824,7 @@ There are several special modes used in these functions:
 
 (DEFUN |declareMap| (|var| |mode|)
   (PROG (|v| |ISTMP#1|)
+  (declare (special |$e|))
     (RETURN
       (COND
         ((AND (SPADLET |v| (|get| |var| '|value| |$e|))
@@ -4827,6 +4873,7 @@ There are several special modes used in these functions:
 
 (DEFUN |replaceSharps| (|x| |d|)
   (PROG (SL)
+  (declare (special |$TriangleVariableList| |$FormalMapVariableList|))
     (RETURN
       (SEQ (PROGN
              (SPADLET SL NIL)
@@ -4864,6 +4911,7 @@ There are several special modes used in these functions:
 
 (DEFUN |isDomainValuedVariable| (|form|)
   (PROG (|val|)
+  (declare (special |$e| |$env| |$InteractiveFrame|))
     (RETURN
       (COND
         ((AND (IDENTP |form|)
@@ -4983,6 +5031,7 @@ There are several special modes used in these functions:
 
 (DEFUN |containsPolynomial| (|m|)
   (PROG (|d| |m'|)
+  (declare (special |$multivariateDomains| |$univariateDomains|))
     (RETURN
       (COND
         ((NULL (PAIRP |m|)) NIL)
@@ -5004,6 +5053,7 @@ There are several special modes used in these functions:
 
 (DEFUN |containsVariables| (|m|)
   (PROG (|d| |m'|)
+  (declare (special |$multivariateDomains| |$univariateDomains|))
     (RETURN
       (COND
         ((NULL (PAIRP |m|)) NIL)
