diff --git a/changelog b/changelog
index b262993..5e060e8 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20091001 tpd src/axiom-website/patches.html 20091001.04.tpd.patch
+20091001 tpd src/interp/i-util.lisp cleanup
 20091001 tpd src/axiom-website/patches.html 20091001.03.tpd.patch
 20091001 tpd src/interp/lisplib.lisp cleanup
 20091001 tpd src/axiom-website/patches.html 20091001.02.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index a38e9e7..52a4ae6 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2077,5 +2077,7 @@ src/interp/msgdb.lisp cleanup<br/>
 src/interp/match.lisp cleanup<br/>
 <a href="patches/20091001.03.tpd.patch">20091001.03.tpd.patch</a>
 src/interp/lisplib.lisp cleanup<br/>
+<a href="patches/20091001.04.tpd.patch">20091001.04.tpd.patch</a>
+src/interp/i-util.lisp cleanup<br/>
  </body>
 </html>
diff --git a/src/interp/i-util.lisp.pamphlet b/src/interp/i-util.lisp.pamphlet
index 9570107..f4eb939 100644
--- a/src/interp/i-util.lisp.pamphlet
+++ b/src/interp/i-util.lisp.pamphlet
@@ -119,6 +119,7 @@ lisp code is unwrapped.
 
 (DEFUN |inputPrompt| (|str|)
   (PROG (|x| |p| |y|)
+  (declare (special $SHOWLINE $OLDLINE $SCREENSIZE))
     (RETURN
       (COND
         ((ATOM (SPADLET |x| ($SCREENSIZE))) NIL)
@@ -166,6 +167,7 @@ lisp code is unwrapped.
 ;  $ZeroVecCache
 
 (DEFUN |Zeros| (|n|)
+  (declare (special |$ZeroVecCache|))
   (SEQ (COND
          ((AND (BOUNDP '|$ZeroVecCache|)
                (BOOT-EQUAL (|#| |$ZeroVecCache|) |n|))
@@ -232,6 +234,7 @@ lisp code is unwrapped.
 
 (DEFUN |variableNumber| (|x|)
   (PROG (|p|)
+  (declare (special |$variableNumberAlist|))
     (RETURN
       (PROGN
         (SPADLET |p| (ASSQ |x| |$variableNumberAlist|))
@@ -244,7 +247,9 @@ lisp code is unwrapped.
 
 ;newType? t == nil
 
-(DEFUN |newType?| (|t|) NIL) 
+(DEFUN |newType?| (|t|)
+ (declare (ignore |t|))
+ nil) 
 
 ;-- functions used at run-time which were formerly in the compiler files
 ;Undef(:u) ==
@@ -263,6 +268,7 @@ lisp code is unwrapped.
 (DEFUN |Undef| (&REST G166179 &AUX |u|)
   (DSETQ |u| G166179)
   (PROG (|u'| |domain| |slot| |op| |sig| |domain'| |LETTMP#1| |u''|)
+  (declare (special |$reportBottomUpFlag|))
     (RETURN
       (PROGN
         (SPADLET |u'| (|last| |u|))
@@ -311,10 +317,7 @@ lisp code is unwrapped.
 ;    d
 ;  d
 
-(pprint '(DEFUN |devaluate| (|d|) (PROG (|ISTMP#1| |d'|) (RETURN (COND ((|isDomain| |d|) (|DNameToSExpr| (SPADCALL (CDR |d|) (ELT (CAR |d|) 1)))) ((NULL (REFVECP |d|)) |d|) ((AND (QSGREATERP (QVSIZE |d|) 5) (PROGN (SPADLET |ISTMP#1| (QREFELT |d| 3)) (AND (PAIRP |ISTMP#1|) (EQ (QCDR |ISTMP#1|) NIL) (EQ (QCAR |ISTMP#1|) (QUOTE |Category|))))) (QREFELT |d| 0)) ((QSGREATERP (QVSIZE |d|) 0) (SPADLET |d'| (QREFELT |d| 0)) (COND ((|isFunctor| |d'|) |d'|) ((QUOTE T) |d|))) ((QUOTE T) |d|))))) 
-)
-
- (DEFUN |devaluate| (|d|)
+(DEFUN |devaluate| (|d|)
   (PROG (|ISTMP#1| |d'|)
     (RETURN
       (COND
@@ -385,7 +388,8 @@ lisp code is unwrapped.
 ;  addModemap0(op,mc,sig,pred,fn,$e)
 
 (DEFUN |addModemap| (|op| |mc| |sig| |pred| |fn| |$e|)
-  (DECLARE (SPECIAL |$e|))
+  (DECLARE (SPECIAL |$e| |$CapsuleModemapFrame| |$InteractiveMode|
+                    |$insideCapsuleFunctionIfTrue|))
   (COND
     (|$InteractiveMode| |$e|)
     ('T (COND ((|knownInfo| |pred|) (SPADLET |pred| 'T)))
@@ -459,6 +463,7 @@ lisp code is unwrapped.
 
 (DEFUN |orderUnionEntries| (|l|)
   (PROG (|ISTMP#1| |ISTMP#2| |ISTMP#3| |LETTMP#1| |a| |b|)
+  (declare (special |$newCompilerUnionFlag|))
     (RETURN
       (COND
         (|$newCompilerUnionFlag| |l|)
@@ -529,6 +534,7 @@ lisp code is unwrapped.
             |typeList| |hasDuplicatePredicate| |initPredList|
             |nonEmptyPredList| |numberWithoutPredicate| |allButLast|
             |LETTMP#1| |u| |tagPredList| |predList|)
+  (declare (special |$newCompilerUnionFlag|))
     (RETURN
       (SEQ (COND
              (|$newCompilerUnionFlag|
