diff --git a/changelog b/changelog
index 2620619..4c03a02 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20091004 tpd src/axiom-website/patches.html 20091004.04.tpd.patch
+20091004 tpd src/interp/i-intern.lisp cleanup
 20091004 tpd src/axiom-website/patches.html 20091004.03.tpd.patch
 20091004 tpd src/interp/i-output.lisp cleanup
 20091004 tpd src/axiom-website/patches.html 20091004.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 35ca4ae..4c94239 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2099,5 +2099,7 @@ src/interp/i-map.lisp cleanup<br/>
 src/input/zimmbron.input added<br/>
 <a href="patches/20091004.03.tpd.patch">20091004.03.tpd.patch</a>
 src/interp/i-output.lisp cleanup<br/>
+<a href="patches/20091004.04.tpd.patch">20091004.04.tpd.patch</a>
+src/interp/i-intern.lisp cleanup<br/>
  </body>
 </html>
diff --git a/src/interp/i-intern.lisp.pamphlet b/src/interp/i-intern.lisp.pamphlet
index 4257408..70f1a4f 100644
--- a/src/interp/i-intern.lisp.pamphlet
+++ b/src/interp/i-intern.lisp.pamphlet
@@ -74,6 +74,7 @@ Maker of attrib tree from parser form
 ;    transferSrcPosInfo(posnForm, mkAtree form)
 
 (DEFUN |mkAtreeWithSrcPos| (|form| |posnForm|)
+ (declare (special |$useParserSrcPos|))
  (COND
   ((AND |posnForm| |$useParserSrcPos|) (|pf2Atree| |posnForm|))
   ((QUOTE T) (|transferSrcPosInfo| |posnForm| (|mkAtree| |form|))))) 
@@ -114,6 +115,7 @@ Maker of attrib tree from parser form
 
 (DEFUN |transferSrcPosInfo| (|pf| |atree|)
  (PROG (|pos| |fn|)
+ (declare (special |$transferParserSrcPos|))
   (RETURN
    (COND
     ((NULL (AND |pf| |$transferParserSrcPos|)) |atree|)
@@ -272,6 +274,7 @@ we match the correct number of args
 
 (DEFUN |mkAtree1| (|x|)
  (PROG (|tree| |v| |op| |argl|)
+ (declare (special |$immediateDataSymbol| |$Void|))
   (RETURN
    (COND
     ((NULL |x|)
@@ -375,6 +378,7 @@ mkAtree2 and mkAtree3 were created because mkAtree1 got so big
 (DEFUN |mkAtree2| (|x| |op| |argl|)
  (PROG (|nargl| |y| |val| |z| |expr| |type| |args| |ISTMP#3| |ISTMP#4| 
         |rhs| |ISTMP#2| |op1| |a'| D |ISTMP#1| |a| |t| |v|)
+ (declare (special |$elt| |$immediateDataSymbol| |$NoValue|))
   (RETURN
    (SEQ 
     (PROGN
@@ -736,6 +740,7 @@ mkAtree2 and mkAtree3 were created because mkAtree1 got so big
         |sym| |junk1| |junk2| |val| |b| |funargs| |type| |funbody| 
         |before| |after| |ISTMP#2| |ISTMP#3| |form| |ISTMP#4| |ISTMP#5| 
         |ISTMP#6| |body| |ISTMP#1| |a| |arg| |types| |r'| |at| |r| |v| |z|)
+ (declare (special |$immediateDataSymbol|))
   (RETURN
    (SEQ
     (COND
@@ -1292,6 +1297,7 @@ a vector of three things:
 
 (DEFUN |mkAtreeValueOf1| (|l|)
  (PROG (|ISTMP#1| |u| |v|)
+ (declare (special |$InteractiveFrame| |$immediateDataSymbol|))
   (RETURN
    (SEQ
     (COND
@@ -1344,6 +1350,7 @@ Remove mode, value, and misc. info from attrib tree
 ;  for e in expr repeat emptyAtree e
 
 (DEFUN |emptyAtree| (|expr|)
+ (declare (special |$immediateDataSymbol|))
  (SEQ
   (COND
    ((VECP |expr|)
@@ -1377,6 +1384,7 @@ Transforms from an atree back into a tree
 
 (DEFUN |unVectorize| (|body|)
  (PROG (|name| |op| |argl| |newOp|)
+ (declare (special |$elt| |$immediateDataSymbol|))
   (RETURN
    (COND
     ((VECP |body|)
@@ -1468,6 +1476,7 @@ Transforms from an atree back into a tree
 ;  putAtree(x,'target,targ)
 
 (DEFUN |putTarget| (|x| |targ|)
+ (declare (special |$EmptyMode|))
  (PROGN
   (COND ((BOOT-EQUAL |targ| |$EmptyMode|) (SPADLET |targ| NIL)))
   (|putAtree| |x| (QUOTE |target|) |targ|))) 
@@ -1518,6 +1527,7 @@ Transforms from an atree back into a tree
 
 (DEFUN |transferPropsToNode,transfer| (|x| |node| |prop|)
  (PROG (|u|)
+ (declare (special |$e| |$localVars| |$env|))
   (RETURN
    (SEQ
     (IF (SPADLET |u| (|get| |x| |prop| |$env|))
@@ -1529,6 +1539,7 @@ Transforms from an atree back into a tree
 
 (DEFUN |transferPropsToNode| (|x| |t|)
  (PROG (|propList| |node| |am|)
+ (declare (special |$env|))
   (RETURN
    (SEQ
     (PROGN
@@ -1745,6 +1756,7 @@ May be a number or a vector
 
 (DEFUN |getModeOrFirstModeSetIfThere| (|x|)
  (PROG (|op| |val| |y| |ISTMP#1| |m|)
+ (declare (special |$EmptyMode|))
   (RETURN
    (COND
     ((AND (PAIRP |x|) (PROGN (SPADLET |op| (QCAR |x|)) (QUOTE T)))
@@ -1783,6 +1795,7 @@ May be a number or a vector
 
 (DEFUN |getModeSet| (|x|)
  (PROG (|y| |ISTMP#1| |m|)
+ (declare (special |$EmptyMode|))
   (RETURN
    (COND
     ((AND |x| (PAIRP |x|)) (|getModeSet| (CAR |x|)))
@@ -1839,6 +1852,7 @@ May be a number or a vector
 
 (DEFUN |getModeSetUseSubdomain| (|x|)
  (PROG (|y| |ISTMP#1| |val| |f| |m|)
+ (declare (special |$Integer| |$immediateDataSymbol| |$EmptyMode|))
   (RETURN
    (COND
     ((AND |x| (PAIRP |x|)) (|getModeSetUseSubdomain| (CAR |x|)))
@@ -1897,6 +1911,7 @@ May be a number or a vector
 
 (DEFUN |atree2Tree1| (|x| |evalIfTrue|)
  (PROG (|triple|)
+ (declare (special |$mapName| |$OutputForm| |$EmptyMode|))
   (RETURN
    (SEQ
     (COND
@@ -1928,6 +1943,7 @@ May be a number or a vector
 
 (DEFUN |getValueFromEnvironment| (|x| |mode|)
  (PROG (|v|)
+ (declare (special |$e| |$failure| |$env|))
   (RETURN
    (COND
     ((NEQUAL |$failure|
@@ -1974,6 +1990,7 @@ May be a number or a vector
 
 (DEFUN |getValueFromSpecificEnvironment| (|id| |mode| |e|)
  (PROG (|v| |mapSig| |v'| |m| |m'| |u|)
+ (declare (special |$failure| |$EmptyMode|))
   (RETURN
    (COND
     ((PAIRP |e|)
@@ -2059,7 +2076,9 @@ May be a number or a vector
 <<*>>=
 ;getFlag x == get("--flags--",x,$e)
 
-(DEFUN |getFlag| (|x|) (|get| (QUOTE |--flags--|) |x| |$e|)) 
+(DEFUN |getFlag| (|x|)
+ (declare (special |$e|))
+ (|get| (QUOTE |--flags--|) |x| |$e|)) 
 
 @
 \subsection{putFlag}
@@ -2068,6 +2087,7 @@ May be a number or a vector
 ;  $e := put ("--flags--", flag, value, $e)
 
 (DEFUN |putFlag| (|flag| |value|)
+ (declare (special |$e|))
  (SPADLET |$e| (|put| (QUOTE |--flags--|) |flag| |value| |$e|))) 
 
 @
@@ -2078,6 +2098,7 @@ May be a number or a vector
 ;  get1(x,prop,e)
 
 (DEFUN |get| (|x| |prop| |e|)
+ (declare (special |$InteractiveMode|))
  (COND
   (|$InteractiveMode| (|get0| |x| |prop| |e|))
   ((QUOTE T) (|get1| |x| |prop| |e|)))) 
@@ -2129,6 +2150,8 @@ addBinding (see g-util.boot.pamphlet).
 
 (DEFUN |get1| (|x| |prop| |e|)
  (PROG (|negHash| |ress|)
+ (declare (special |$CapsuleModemapFrame| |$insideCapsuleFunctionIfTrue|
+                   |$envHashTable| |$CategoryFrame|))
   (RETURN
    (PROGN 
     (SPADLET |negHash| NIL)
@@ -2172,6 +2195,7 @@ addBinding (see g-util.boot.pamphlet).
 ;  nil
 
 (DEFUN |get2| (|x| |prop| |e|)
+ (declare (ignore |e|))
  (PROG (|u|)
   (RETURN
    (COND
@@ -2186,7 +2210,9 @@ addBinding (see g-util.boot.pamphlet).
 <<*>>=
 ;getI(x,prop) == get(x,prop,$InteractiveFrame)
 
-(DEFUN |getI| (|x| |prop|) (|get| |x| |prop| |$InteractiveFrame|)) 
+(DEFUN |getI| (|x| |prop|)
+ (declare (special |$InteractiveFrame|))
+ (|get| |x| |prop| |$InteractiveFrame|)) 
 
 @
 \subsection{putI}
@@ -2194,6 +2220,7 @@ addBinding (see g-util.boot.pamphlet).
 ;putI(x,prop,val) == ($InteractiveFrame := put(x,prop,val,$InteractiveFrame))
 
 (DEFUN |putI| (|x| |prop| |val|)
+ (declare (special |$InteractiveFrame|))
  (SPADLET |$InteractiveFrame| (|put| |x| |prop| |val| |$InteractiveFrame|))) 
 
 @
@@ -2201,7 +2228,9 @@ addBinding (see g-util.boot.pamphlet).
 <<*>>=
 ;getIProplist x == getProplist(x,$InteractiveFrame)
 
-(DEFUN |getIProplist| (|x|) (|getProplist| |x| |$InteractiveFrame|)) 
+(DEFUN |getIProplist| (|x|)
+ (declare (special |$InteractiveFrame|))
+ (|getProplist| |x| |$InteractiveFrame|)) 
 
 @
 \subsection{removeBindingI}
@@ -2228,6 +2257,7 @@ addBinding (see g-util.boot.pamphlet).
 
 (DEFUN |rempropI| (|x| |prop|)
  (PROG (|id|)
+ (declare (special |$InteractiveFrame|))
   (RETURN
    (PROGN
     (SPADLET |id| (COND ((ATOM |x|) |x|) ((QUOTE T) (CAR |x|))))
@@ -2298,6 +2328,8 @@ addBinding (see g-util.boot.pamphlet).
 
 (DEFUN |put| (|x| |prop| |val| |e|)
  (PROG (|newProplist|)
+ (declare (special |$CapsuleModemapFrame| |$insideCapsuleFunctionIfTrue|
+                   |$CategoryFrame|))
   (RETURN
    (COND
     ((AND |$InteractiveMode| (NULL (EQ |e| |$CategoryFrame|)))
@@ -2571,7 +2603,9 @@ These are the new structure functions.
 <<*>>=
 ;objEnv obj == $NE
 
-(DEFUN |objEnv| (|obj|) $NE) 
+(DEFUN |objEnv| (|obj|)
+ (declare (special $NE) (ignore |obj|))
+ $NE) 
 
 @
 \subsection{objCodeVal}
