diff --git a/changelog b/changelog
index 0c9e91d..7091ec9 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20070721 wxh src/interp/spad.lisp make evalSharpOne declare arg specials
 20070721 tpd src/interp/setq.lisp update contributor name list
 20070721 tpd readme update contributor name list
 20070716 tpd src/doc/axiom.bib move developernotes to bookvol4
diff --git a/src/interp/spad.lisp.pamphlet b/src/interp/spad.lisp.pamphlet
index c6e7542..c39b435 100644
--- a/src/interp/spad.lisp.pamphlet
+++ b/src/interp/spad.lisp.pamphlet
@@ -450,7 +450,14 @@
 	 (if |$InteractiveMode| (|spadThrow|))
 	 (S-PROCESS x))))
 
-(defun |evalSharpOne| (x \#1) (declare (special \#1)) (EVAL x))
+
+@
+The evalSharpOne function needs to declare the second argument
+special to reduce warning messages about variables being assumed
+special.
+<<*>>=
+(defun |evalSharpOne| (x |#1|) (declare (special |#1|))
+ (EVAL `(let() (declare (special |#1|)) ,x)))
 
 (defun new () (|New,ENTRY|))
 
