diff --git a/changelog b/changelog
index 7aeeb0f..8ea4773 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20090929 tpd src/axiom-website/patches.html 20090929.02.tpd.patch
+20090929 tpd src/interp/nrunopt.lisp cleanup
 20090929 tpd src/axiom-website/patches.html 20090929.01.tpd.patch
 20090929 tpd src/interp/nruntime.lisp cleanup
 20090928 tpd src/axiom-website/patches.html 20090928.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 02df541..58fe6aa 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2061,5 +2061,7 @@ src/interp/record.lisp cleanup<br/>
 src/interp/pathname.lisp cleanup<br/>
 <a href="patches/20090929.01.tpd.patch">20090929.01.tpd.patch</a>
 src/interp/nruntime.lisp cleanup<br/>
+<a href="patches/20090929.02.tpd.patch">20090929.02.tpd.patch</a>
+src/interp/nrunopt.lisp cleanup<br/>
  </body>
 </html>
diff --git a/src/interp/nrunopt.lisp.pamphlet b/src/interp/nrunopt.lisp.pamphlet
index f30656a..9b48c35 100644
--- a/src/interp/nrunopt.lisp.pamphlet
+++ b/src/interp/nrunopt.lisp.pamphlet
@@ -25,6 +25,7 @@
 ;            MKQ $lookupFunction]
 
 (DEFUN |getInfovecCode| ()
+  (declare (special |$lookupFunction| |$NRTslot1Info| |$template|))
   (CONS 'LIST
         (CONS (MKQ (|makeDomainTemplate| |$template|))
               (CONS (MKQ (|makeCompactDirect| |$NRTslot1Info|))
@@ -51,6 +52,7 @@
 
 (DEFUN |makeDomainTemplate| (|vec|)
   (PROG (|newVec| |item|)
+  (declare (special |$byteVec|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |newVec| (GETREFV (SIZE |vec|)))
@@ -98,6 +100,7 @@
 
 (DEFUN |makeGoGetSlot| (|item| |index|)
   (PROG (|sig| |whereToGo| |op| |flag| |n| |newcode| |curAddress|)
+  (declare (special |$byteAddress| |$byteVec|))
     (RETURN
       (PROGN
         (SPADLET |sig| (CAR |item|))
@@ -131,7 +134,8 @@
 (DEFUN |makeCompactDirect| (|u|)
   (PROG (|$predListLength| |$byteVecAcc| |nam| |addForm| |opList| |op|
             |items| |y| |d|)
-    (DECLARE (SPECIAL |$predListLength| |$byteVecAcc|))
+    (DECLARE (SPECIAL |$predListLength| |$byteVecAcc| |$byteVec|
+                      |$NRTslot1PredicateList|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$predListLength|
@@ -234,6 +238,7 @@
 
 (DEFUN |makeCompactDirect1,fn| (|y|)
   (PROG (|sig| |r| |s| |p| |pred| |predCode| |slot| |n| |res|)
+  (declare (special |$isOpPackageName| |$byteAddress| |$lookupFunction|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |sig| (CAR |y|))
@@ -292,7 +297,7 @@
 
 (DEFUN |makeCompactDirect1| (|op| |items|)
   (PROG (|$op| |curAddress| |u| |newcodes|)
-    (DECLARE (SPECIAL |$op|))
+    (DECLARE (SPECIAL |$op| |$byteVecAcc| |$byteAddress|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |curAddress| |$byteAddress|)
@@ -337,8 +342,8 @@
 ;  [:y,:[w for (w := [c,:.]) in acc | not MEMBER(c,z)]] --add those not subsuming
 
 (DEFUN |orderBySubsumption| (|items|)
-  (PROG (|ISTMP#1| |ISTMP#2| |ISTMP#3| |subacc| |acc| |a| |b| |u| |y|
-            |z| |c|)
+  (PROG (|ISTMP#1| |ISTMP#2| |ISTMP#3| |subacc| |acc| |a| |b| |u| |y| |z| |c|)
+  (declare (special |$op|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |acc| (SPADLET |subacc| NIL))
@@ -633,6 +638,7 @@
 
 (DEFUN |NRTgenInitialAttributeAlist| (|attributeList|)
   (PROG (|alist| |a| |b|)
+  (declare (special |$pairlis| |$lisplibAttributes|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |alist|
@@ -692,6 +698,7 @@
 
 (DEFUN |simplifyAttributeAlist| (|al|)
   (PROG (|ISTMP#1| |a| |r| |u| |pred| |b| |s|)
+  (declare (special |$NRTslot1PredicateList|))
     (RETURN
       (SEQ (COND
              ((AND (PAIRP |al|)
@@ -763,6 +770,7 @@
 
 (DEFUN |NRTgenFinalAttributeAlist| ()
   (PROG (|a| |b| |k|)
+  (declare (special |$NRTattributeAlist|))
     (RETURN
       (SEQ (PROG (G166590)
              (SPADLET G166590 NIL)
@@ -797,6 +805,7 @@
 
 (DEFUN |predicateBitIndex,pn| (|x| |flag|)
   (PROG (|u| |p|)
+  (declare (special |$NRTslot1PredicateList|))
     (RETURN
       (SEQ (SPADLET |u| (|simpBool| (|transHasCode| |x|)))
            (IF (BOOT-EQUAL |u| 'T) (EXIT 0))
@@ -819,6 +828,7 @@
 
 (DEFUN |predicateBitIndexRemop| (|p|)
   (PROG (|op| |argl| |ISTMP#1| |ISTMP#2| |ISTMP#3| |ISTMP#4| |a|)
+  (declare (special |$NRTattributeAlist|))
     (RETURN
       (SEQ (COND
              ((AND (PAIRP |p|)
@@ -912,8 +922,9 @@
 ;  [$lisplibPredicates,firstCode,:lastCode]  --$pairlis set by compDefineFunctor1
 
 (DEFUN |makePredicateBitVector| (|pl|)
-  (PROG (|pred| |lasts| |firsts| |firstPl| |lastPl| |firstCode|
-                |lastCode|)
+  (PROG (|pred| |lasts| |firsts| |firstPl| |lastPl| |firstCode| |lastCode|)
+  (declare (special |$lisplibPredicates| |$predGensymAlist| |$pairlis|
+                    |$categoryPredicateList| |$insideCategoryPackageIfTrue|))
     (RETURN
       (SEQ (PROGN
              (COND
@@ -977,6 +988,7 @@
 
 (DEFUN |augmentPredCode| (|n| |lastPl|)
   (PROG (|LETTMP#1| |pl| |u| |delta| |l|)
+  (declare (special |$predGensymAlist|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |LETTMP#1|
@@ -1110,6 +1122,7 @@
 
 (DEFUN |removeAttributePredicates,fn| (|p|)
   (PROG (|op| |argl| |ISTMP#1| |ISTMP#2| |ISTMP#3| |ISTMP#4| |a|)
+  (declare (special |$NRTattributeAlist|))
     (RETURN
       (SEQ (IF (AND (AND (PAIRP |p|)
                          (PROGN
@@ -1259,6 +1272,7 @@
 
 (DEFUN |orderByContainment| (|pl|)
   (PROG (|y| |max|)
+  (declare (special |$predGensymAlist|))
     (RETURN
       (SEQ (COND
              ((OR (NULL |pl|) (NULL (CDR |pl|))) |pl|)
@@ -1363,8 +1377,8 @@
             |opcAlist| |newPairlis| |k| |slot1| |a| |b| |slot0|
             |sixEtc| |formals| |predList| |maxPredList| |catformvec|
             |maxElement|)
-    (DECLARE (SPECIAL |$depthAssocCache| |$catAncestorAlist|
-                      |$levelAlist|))
+    (DECLARE (SPECIAL |$depthAssocCache| |$catAncestorAlist| |$byteVec|
+                      |$levelAlist| |$pairlis| |$condAlist| |$uncondAlist|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$depthAssocCache| (MAKE-HASHTABLE 'ID))
@@ -1592,6 +1606,7 @@
 
 (DEFUN |NRTcatCompare| (G167226)
   (PROG (|catform| |pred|)
+  (declare (special |$levelAlist|))
     (RETURN
       (PROGN
         (SPADLET |catform| (CAR G167226))
@@ -1653,6 +1668,7 @@
 
 (DEFUN |depthAssoc| (|x|)
   (PROG (|y| |u| |v|)
+  (declare (special |$depthAssocCache|))
     (RETURN
       (SEQ (COND
              ((SPADLET |y| (HGET |$depthAssocCache| |x|)) |y|)
@@ -2207,6 +2223,7 @@
 
 (DEFUN |getCodeVector| ()
   (PROG (|proto4| |u|)
+  (DECLARE (SPECIAL |$infovec|))
     (RETURN
       (PROGN
         (SPADLET |proto4| (ELT |$infovec| 3))
@@ -2226,6 +2243,7 @@
 
 (DEFUN |formatSlotDomain| (|x|)
   (PROG (|val| |ISTMP#1| |y|)
+  (DECLARE (SPECIAL |$infovec|))
     (RETURN
       (SEQ (COND
              ((EQL |x| 0) (CONS '$ NIL))
@@ -2282,7 +2300,7 @@
 ;      curIndex := dcOpPrint(op,curIndex)
 
 (DEFUN |dcOpTable| (|con|)
-  (PROG (|$infovec| |$predvec| |name| |template| |opTable| |op| |i|
+  (PROG (|$infovec| |$predvec| |name| |template| |opTable| |op| 
             |startIndex| |stopIndex| |curIndex|)
     (DECLARE (SPECIAL |$infovec| |$predvec|))
     (RETURN
@@ -2338,6 +2356,7 @@
 (DEFUN |dcOpPrint| (|op| |index|)
   (PROG (|numvec| |segment| |numOfArgs| |predNumber| |signumList|
             |slotNumber| |suffix| |name| |namePart|)
+  (declare (special |$infovec| |$predvec|))
     (RETURN
       (PROGN
         (SPADLET |numvec| (|getCodeVector|))
@@ -2401,7 +2420,7 @@
 
 (DEFUN |dcPreds| (|con|)
   (PROG (|$infovec| |name|)
-    (DECLARE (SPECIAL |$infovec|))
+    (DECLARE (SPECIAL |$infovec| |$predvec|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |name| (OR (|abbreviation?| |con|) |con|))
@@ -2429,7 +2448,7 @@
 
 (DEFUN |dcAtts| (|con|)
   (PROG (|$infovec| |name| |attList| |a| |predNumber| |suffix|)
-    (DECLARE (SPECIAL |$infovec|))
+    (DECLARE (SPECIAL |$infovec| |$predvec|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |name| (OR (|abbreviation?| |con|) |con|))
@@ -2486,7 +2505,7 @@
 (DEFUN |dcCats| (|con|)
   (PROG (|$infovec| |name| |u| |catpredvec| |catinfo| |catvec| |form|
             |predNumber| |suffix| |info| |extra|)
-    (DECLARE (SPECIAL |$infovec|))
+    (DECLARE (SPECIAL |$infovec| |$predvec|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |name| (OR (|abbreviation?| |con|) |con|))
@@ -2555,6 +2574,7 @@
 (DEFUN |dcCats1| (|con|)
   (PROG (|u| |catvec| |catinfo| |LETTMP#1| |form| |predNumber| |suffix|
              |info| |extra|)
+  (declare (special |$predvec| |$infovec|))
     (RETURN
       (SEQ (PROGN
              (SPADLET |$predvec| (GETDATABASE |con| 'PREDICATES))
@@ -3172,7 +3192,7 @@
 
 (DEFUN |NRTgetLookupFunction| (|domform| |exCategory| |addForm|)
   (PROG (|$why| |extends| |u| |msg| |v|)
-    (DECLARE (SPECIAL |$why|))
+    (DECLARE (SPECIAL |$why| |$pairlis|))
     (RETURN
       (PROGN
         (SPADLET |domform| (SUBLIS |$pairlis| |domform|))
@@ -3210,6 +3230,7 @@
 
 (DEFUN |getExportCategory| (|form|)
   (PROG (|op| |argl| |functorModemap| |target| |tl|)
+  (declare (special |$FormalMapVariableList|))
     (RETURN
       (PROGN
         (SPADLET |op| (CAR |form|))
@@ -3268,6 +3289,7 @@
 
 (DEFUN |extendsCategory| (|dom| |u| |v|)
   (PROG (|l| |cat| |d| |ISTMP#1| |op| |ISTMP#2| |sig|)
+  (declare (special |$why| |$functorForm| |$template| |$e|))
     (RETURN
       (SEQ (COND
              ((BOOT-EQUAL |u| |v|) 'T)
@@ -3362,6 +3384,7 @@
 (DEFUN |extendsCategoryBasic0| (|dom| |u| |v|)
   (PROG (|p| |ISTMP#2| |ISTMP#3| |ISTMP#4| |c| |ISTMP#5| |uVec| |slot4|
              |slot2| |ISTMP#1|)
+  (declare (special |$EmptyEnvironment|))
     (RETURN
       (COND
         ((AND (PAIRP |v|) (EQ (QCAR |v|) 'IF)
@@ -3415,6 +3438,7 @@
 
 (DEFUN |extendsCategoryBasic| (|dom| |u| |v|)
   (PROG (|uVec| |op| |sig| |ISTMP#2| |ISTMP#3| |ISTMP#1| |l|)
+  (declare (special |$EmptyEnvironment|))
     (RETURN
       (SEQ (COND
              ((AND (PAIRP |u|) (EQ (QCAR |u|) '|Join|)
@@ -3507,6 +3531,7 @@
 
 (DEFUN |catExtendsCat?| (|u| |v| |uvec|)
   (PROG (|slot4| |prinAncestorList| |vOp| |similarForm|)
+  (declare (special |$EmptyEnvironment|))
     (RETURN
       (SEQ (COND
              ((BOOT-EQUAL |u| |v|) 'T)
@@ -3633,6 +3658,7 @@
 
 (DEFUN |expandType| (|lazyt| |template| |domform|)
   (PROG (|functorName| |argl| |tag| |dom| |ISTMP#1| |x| |n|)
+  (declare (special |$FormalMapVariableList|))
     (RETURN
       (SEQ (COND
              ((ATOM |lazyt|)
@@ -3737,6 +3763,7 @@
 ;
 
 (DEFUN |templateVal| (|template| |domform| |index|)
+  (declare (ignore |domform|))
   (COND ((EQL |index| 0) (|harhar|)) ('T (ELT |template| |index|))))
 
 @
