diff --git a/changelog b/changelog
index ea3fb54..49c499b 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090924 tpd src/axiom-website/patches.html 20090924.02.tpd.patch
+20090924 tpd src/interp/functor.lisp cleanup
 20090924 tpd src/axiom-website/patches.html 20090924.01.tpd.patch
 20090924 tpd src/interp/define.lisp cleanup
 20090922 tpd src/axiom-website/patches.html 20090922.06.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 91f286b..44ddb52 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2024,5 +2024,7 @@ src/interp/category.lisp cleanup<br/>
 src/interp/compiler.lisp cleanup<br/>
 <a href="patches/20090924.01.tpd.patch">20090924.01.tpd.patch</a>
 src/interp/define.lisp cleanup<br/>
+<a href="patches/20090924.02.tpd.patch">20090924.02.tpd.patch</a>
+src/interp/functor.lisp cleanup<br/>
  </body>
 </html>
diff --git a/src/interp/functor.lisp.pamphlet b/src/interp/functor.lisp.pamphlet
index 3fb5205..15a34b6 100644
--- a/src/interp/functor.lisp.pamphlet
+++ b/src/interp/functor.lisp.pamphlet
@@ -53,12 +53,12 @@
 
 (DEFUN |DomainPrint| (D |brief|)
   (PROG (|$WhereList| |$Sublis| |$WhereCounter| |env| |s|)
-    (DECLARE (SPECIAL |$WhereList| |$Sublis| |$WhereCounter|))
+    (DECLARE (SPECIAL |$WhereList| |$Sublis| |$WhereCounter| |$e|
+                      |$EmptyEnvironment|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$WhereList| NIL)
              (SPADLET |$Sublis| NIL)
-             (SPADLET |$WhereCounter| NIL)
              (SPADLET |$WhereCounter| 1)
              (SPADLET |env|
                       (COND
@@ -71,7 +71,7 @@
                 (SPADLET |$Sublis|
                          (CONS (CONS (|keyItem| D) '|original|) NIL))
                 (SAY (MAKESTRING
-                         "-----------------------------------------------------------------------"))
+    "-----------------------------------------------------------------------"))
                 (|DomainPrint1| D NIL |env|)
                 (DO () ((NULL |$WhereList|) NIL)
                   (SEQ (EXIT (PROGN
@@ -149,6 +149,7 @@
 (DEFUN |DomainPrint1| (D |brief| |$e|)
   (DECLARE (SPECIAL |$e|))
   (PROG (|uu| |vv| |l| |ISTMP#1| |v| |name| |Sublis|)
+  (declare (special |$WhereList| |$Sublis|))
     (RETURN
       (SEQ (COND
              ((AND (REFVECP D) (NULL (|isDomain| D))) (|PacPrint| D))
@@ -304,6 +305,7 @@
 
 (DEFUN |DPname| ()
   (PROG (|name|)
+  (declare (special |$WhereCounter|))
     (RETURN
       (PROGN
         (SPADLET |name|
@@ -339,6 +341,7 @@
 
 (DEFUN |PacPrint| (|v|)
   (PROG (|vv| |u| |l| |name| |Sublis|)
+  (declare (special |$WhereList| |$Sublis|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |vv| (COPY-SEQ |v|))
@@ -577,12 +580,13 @@
 
 (DEFUN |compCategories| (|u|)
   (PROG (|ISTMP#1| D |ISTMP#2| |v|)
+  (declare (special |$e|))
     (RETURN
       (SEQ (COND
              ((ATOM |u|) |u|)
              ((NULL (ATOM (CAR |u|)))
               (|error| (CONS (MAKESTRING
-                                 "compCategories: need an atom in operator position")
+                           "compCategories: need an atom in operator position")
                              (CONS (CAR |u|) NIL))))
              ((BOOT-EQUAL (CAR |u|) '|Record|)
               (CONS (CAR |u|)
@@ -638,7 +642,7 @@
               (COND
                 ((ATOM |v|)
                  (|error| (CONS (MAKESTRING
-                                    "compCategories: could not get proper modemap for operator")
+                   "compCategories: could not get proper modemap for operator")
                                 (CONS (CAR |u|) NIL))))
                 ('T
                  (COND
@@ -650,7 +654,7 @@
                                      (CONS '|%d|
                                       (CONS
                                        (MAKESTRING
-                                        "ignoring unexpected stuff at end of modemap")
+                                 "ignoring unexpected stuff at end of modemap")
                                        NIL))))))
                     (|pp| (CDR |v|))))
                  (COND
@@ -695,6 +699,7 @@
 
 (DEFUN |compCategories1| (|u| |v|)
   (PROG (|LETTMP#1| |c|)
+  (declare (special |$e|))
     (RETURN
       (COND
         ((ATOM |u|) |u|)
@@ -1043,6 +1048,7 @@
 ;  definition
 
 (DEFUN |setVector0| (|catNames| |definition|)
+  (declare (special |$QuickCode|))
   (SEQ (PROGN
          (SPADLET |definition| (|mkDomainConstructor| |definition|))
          (DO ((G166640 |catNames| (CDR G166640)) (|u| NIL))
@@ -1097,6 +1103,7 @@
 
 (DEFUN |setVector12| (|args|)
   (PROG (|args1| |args2|)
+  (declare (special |$domainShell| |$extraParms|))
     (RETURN
       (SEQ (COND
              ((NULL |args|) NIL)
@@ -1187,8 +1194,8 @@
 ;  [a',:props']
 
 (DEFUN |sublisProp,inspect| (|cp| |subst|)
-  (PROG (|a| |cond| |l| |x| |nam| |ISTMP#2| |b| |val| |ISTMP#1| |c|
-             |ev|)
+  (PROG (|a| |cond| |l| |x| |nam| |ISTMP#2| |b| |val| |ISTMP#1| |c| |ev|)
+  (declare (special |$CategoryFrame|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |a| (CAR |cp|))
@@ -1311,6 +1318,7 @@
 
 (DEFUN |setVector3| (|name| |instantiator|)
   (PROG (|ISTMP#1| |ISTMP#2| |body|)
+  (declare (special |$QuickCode|))
     (RETURN
       (COND
         ((AND (PAIRP |instantiator|)
@@ -1343,6 +1351,7 @@
 
 (DEFUN |mkDomainFormer| (|x|)
   (PROG (|ISTMP#1| |parms| |ISTMP#2| |body|)
+  (declare (special |$extraParms|))
     (RETURN
       (PROGN
         (COND
@@ -1497,6 +1506,7 @@
 
 (DEFUN |setVector4| (|catNames| |catsig| |conditions|)
   (PROG (|name| |cond| |code|)
+  (declare (special |$HackSlot4| |$getDomainCode|))
     (RETURN
       (SEQ (PROGN
              (COND
@@ -1623,6 +1633,7 @@
 
 (DEFUN |setVector4Onecat,Supplementaries| (|instantiator| |name|)
   (PROG (|slist|)
+  (declare (special |$supplementaries|))
     (RETURN
       (SEQ (SPADLET |slist|
                     (PROG (G167015)
@@ -1734,6 +1745,7 @@
 
 (DEFUN |setVector4part3| (|catNames| |catvecList|)
   (PROG (|generated| |w| |u| |code| |codeList|)
+  (declare (special |$epilogue| |$QuickCode|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |generated| NIL)
@@ -1825,6 +1837,7 @@
 
 (DEFUN |setVector5| (|catNames| |locals|)
   (PROG (|generated| |w|)
+  (declare (special |$QuickCode|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |generated| NIL)
@@ -1895,6 +1908,7 @@
 
 (DEFUN |mkVectorWithDeferral| (|objects| |tag|)
   (PROG ()
+  (declare (special |$QuickCode| |$ConstantAssignments|))
     (RETURN
       (SEQ (CONS 'VECTOR
                  (PROG (G167194)
@@ -1951,6 +1965,7 @@
 (DEFUN |DescendCodeAdd| (|base| |flag|)
   (PROG (|modemap| |ISTMP#1| |ISTMP#2| |formalArgs| |target|
             |formalArgModes| |ans|)
+  (declare (special |$FormalMapVariableList| |$e| |$CategoryFrame|))
     (RETURN
       (SEQ (COND
              ((ATOM |base|) (|DescendCodeVarAdd| |base| |flag|))
@@ -2096,10 +2111,10 @@
                                (CONS (CONS |name| |number|) |sofar|)))))))))
 
 
-(DEFUN |DescendCodeAdd1|
-       (|base| |flag| |target| |formalArgs| |formalArgModes|)
+(DEFUN |DescendCodeAdd1| (|base| |flag| |target| |formalArgs| |formalArgModes|)
   (PROG (|slist| |newModes| |LETTMP#1| |e| |cat| |instantiatedBase| |n|
                  |sig| |u| |copyvec| |j| |name| |count| |v| |code|)
+  (declare (special |$QuickCode| |$addFormLhs| |$e|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |slist|
@@ -2372,6 +2387,8 @@
   (PROG (|base| |codelist| |v| |condlist| |u2| |f| |ISTMP#3| |cat| |c1|
                 |c| |name| |a| |ISTMP#1| |sig| |ISTMP#2| |implem| |dom|
                 |body| |u|)
+  (declare (special |$ConstantAssignments| |$epilogue| |$locals| |$e|
+                    |$QuickCode| |$packagesUsed|))
     (RETURN
       (SEQ (COND
              ((NULL |code|) NIL)
@@ -2721,7 +2738,9 @@
 ;  cond
 
 (DEFUN |ProcessCond| (|cond| |viewassoc|)
+  (declare (special  |viewassoc|))
   (PROG (|ncond|)
+  (declare (special |$NRTslot1PredicateList| |$pairlis|))
     (RETURN
       (PROGN
         (SPADLET |ncond| (SUBLIS |$pairlis| |cond|))
@@ -2745,6 +2764,7 @@
 
 (DEFUN |TryGDC| (|cond|)
   (PROG (|l| |ISTMP#1| |name| |ISTMP#2| |solved|)
+  (declare (special |$getDomainCode|))
     (RETURN
       (SEQ (COND
              ((ATOM |cond|) |cond|)
@@ -2817,8 +2837,9 @@
 ;  nil
 
 (DEFUN |SetFunctionSlots| (|sig| |body| |flag| |mode|)
-  (PROG (|catNames| |q| |index| |ISTMP#1| |a| |ISTMP#2| |b| |truename|
-            |fn|)
+  (PROG (|catNames| |q| |index| |ISTMP#1| |a| |ISTMP#2| |b| |truename| |fn|)
+  (declare (special |$SetFunctions| |$MissingFunctionInfo| |$QuickCode|
+                    |$catvecList|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |catNames| (CONS '$ NIL))
@@ -2990,6 +3011,8 @@
 
 (DEFUN |LookUpSigSlots| (|sig| |siglist|)
   (PROG (|implem|)
+  (declare (special |$lisplibOperationAlist| |$functorForm|
+                    |$insideCategoryPackageIfTrue|))
     (RETURN
       (SEQ (PROGN
              (COND
@@ -3032,6 +3055,7 @@
 
 (DEFUN |SigSlotsMatch| (|sig| |pattern| |implem|)
   (PROG (|pat'| |sig'|)
+  (declare (special |$definition|))
     (RETURN
       (COND
         ((BOOT-EQUAL |sig| |pattern|) 'T)
@@ -3075,6 +3099,8 @@
 
 (DEFUN |CheckVector| (|vec| |name| |catvecListMaker|)
   (PROG (|a| |b| |condAlist| |v| |code|)
+  (declare (special |$CheckVectorList| |$QuickCode| |$catNames| 
+                    |$getDomainCode|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |code| NIL)
@@ -3213,6 +3239,7 @@
            (EXIT |x|)))))
 
 (DEFUN |makeMissingFunctionEntry| (|alist| |i|)
+  (declare (special |$MissingFunctionInfo|))
   (|makeMissingFunctionEntry,tran|
       (SUBLIS |alist| (ELT |$MissingFunctionInfo| |i|))))
 
@@ -3330,6 +3357,7 @@
 
 (DEFUN |InvestigateConditions,pessimise| (|a|)
   (PROG (|ISTMP#1| |cond|)
+  (declare (special |$Conditions|))
     (RETURN
       (SEQ (IF (ATOM |a|) (EXIT |a|))
            (IF (AND (PAIRP |a|) (EQ (QCAR |a|) 'SIGNATURE)) (EXIT |a|))
@@ -3515,12 +3543,12 @@
             |principal'| |PrincipalSecondaries| |MinimalPrimary|
             |MaximalPrimary| |necessarySecondaries| |MinimalPrimaries|
             |MaximalPrimaries| |partList| |masterSecondaries|
-            |secondaries| |u| |v| |w| LIST |pv|)
-    (DECLARE (SPECIAL |$Conditions| |$principal|))
+            |secondaries| |v| |w| LIST |pv|)
+    (DECLARE (SPECIAL |$Conditions| |$principal| |$supplementaries| |$e|
+                      |$HackSlot4| |$domainShell|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$Conditions| NIL)
-             (SPADLET |$principal| NIL)
              (SPADLET |$principal| (CAR |catvecListMaker|))
              (SPADLET |secondaries| (CDR |catvecListMaker|))
              (COND
@@ -4361,6 +4389,7 @@
 
 (DEFUN |getPossibleViews| (|u|)
   (PROG (|LETTMP#1| |vec| |views|)
+  (declare (special |$e|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |LETTMP#1|
@@ -4405,6 +4434,7 @@
 
 (DEFUN |getViewsConditions| (|u|)
   (PROG (|LETTMP#1| |vec| |views|)
+  (declare (special |$e|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |LETTMP#1|
@@ -4449,6 +4479,7 @@
 (DEFUN |DescendCodeVarAdd| (|base| |flag|)
   (PROG (|princview| |op| |types| |sig| |ISTMP#1| |ISTMP#2| |pred|
             |ISTMP#3| |implem|)
+  (declare (special |$e| |$catvecList|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |princview| (CAR |$catvecList|))
@@ -4535,6 +4566,7 @@
 ;
 
 (DEFUN |resolvePatternVars| (|p| |args|)
+  (declare (special |$FormalMapVariableList| |$TriangleVariableList|))
   (PROGN
     (SPADLET |p| (SUBLISLIS |args| |$TriangleVariableList| |p|))
     (SUBLISLIS |args| |$FormalMapVariableList| |p|)))
