style-warnings



James Amundson writes:
 > On Wed, 2004-05-05 at 09:48, Andreas Eder wrote:
 > 
 > > OK, so I will see waht I can do.
 > > Should I send my fixes to you, the list or whom?
 > 
 > I would be very happy to have someone actively working on reducing the
 > number of warning messages compiling maxima produces. If you want to
 > work seriously on this topic, I can arrange to give you cvs write
 > access. You should start by making some fixes and sending them to the
 > list in patch form, however.
 > 
 > --Jim

Ok, so here we go :-)

As you know I started with two minor declarations fixing an unused
variable warning.
Here they are again:

--- macsys.lisp.old     2004-05-06 11:48:57.000000000 +0200
+++ macsys.lisp.new     2004-05-06 11:52:28.000000000 +0200
@@ -560,6 +560,7 @@
       (room)))
 
 (defun maxima-lisp-debugger (condition me-or-my-encapsulation)
+  (declare (ignore me-or-my-encapsulation))
   (format t "~&Maxima encountered a Lisp error:~%~% ~A" condition)
   (format t "~&~%Automatically continuing.~%To reenable the Lisp debugger set *debugger-hook* to nil.~%")
   (throw 'return-from-debugger t))


--- init-cl.lisp.old    2004-05-06 11:48:56.000000000 +0200
+++ init-cl.lisp.new    2004-05-06 11:51:53.000000000 +0200
@@ -477,6 +477,7 @@
        (prin1 (eval form))))))
 
 (defun maxima-lisp-debugger-repl (condition me-or-my-encapsulation)
+  (declare (ignore me-or-my-encapsulation))
   (format t "~&Maxima encountered a Lisp error:~%~% ~A" condition)
   (format t "~&~%Automatically continuing.~%To reenable the Lisp debugger set *debugger-hook* to nil.~%")
   (throw 'to-maxima-repl t))

Since I'm very interested in numbertheory I had a look at numth.lisp
and di a little polishing up there too:

--- numth.lisp.old	2004-05-06 13:24:51.000000000 +0200
+++ numth.lisp.new	2004-05-06 14:32:13.000000000 +0200
@@ -9,57 +9,69 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (in-package "MAXIMA")
+
 ;;;   *****************************************************************
 ;;;   ***** NUMTH ******* VARIOUS NUMBER THEORY FUNCTIONS *************
 ;;;   *****************************************************************
 
 (macsyma-module numth)
 
-(declare-top(special primechannel $intfaclim))
+(declare-top (special $intfaclim))
 
-(load-macsyma-macros rzmac)
+#-(or cl NIL)
+(declare-top (special *primechannel*))
 
-(comment PRIME number generator)
+(load-macsyma-macros rzmac)
 
-(defmvar $maxprime 489318.)
+;;; PRIME number generator
 
-(or (boundp 'primechannel) (setq primechannel nil))
 
 ;#+ITS
 ;(defun open-primechannel nil
-;      (setq primechannel (open '|mc:maxdmp;ptable >| '(in fixnum))
-;	    $maxprime (f1- (car (syscall 1 'fillen primechannel)))))
+;      (setq *primechannel* (open '|mc:maxdmp;ptable >| '(in fixnum))
+;	    $maxprime (f1- (car (syscall 1 'fillen *primechannel*)))))
 
 ;#+LISPM
 ;(defun open-primechannel nil
-;       (setq primechannel
+;       (setq *primechannel*
 ;	     (open "mc:maxdmp;ptable >" '(:read :fixnum :byte-size 9))))
 						
+
+;#+obsolete
+;(defun input-word (n)
+;       (funcall *primechannel* ':set-pointer (f* 4 (f1- n)))
+;       (dpb (byte-in *primechannel*) 3311
+;	    (dpb (byte-in *primechannel*) 2211
+;		 (dpb (byte-in *primechannel*) 1111 (byte-in *primechannel*)))))
+
+#+(or cl NIL)
+(defmfun $prime (n)
+  (declare (ignore n))
+  (MERROR "PRIME doesn't work yet."))
+
+
+(defmvar $maxprime 489318.)
+
+#-(or cl NIL)
+(unless (boundp '*primechannel*)
+  (setq *primechannel* nil))
+
+
 #-(or cl NIL)
 (defun prime (n)
        (cond ((or (< n 1) (> n $maxprime))
 	      nil)
 	     ((input-word n))))
 
-
-#+cl
-(defmacro byte-in (file) `(read-byte ,file))
-#+obsolete
-(defun input-word (n)
-       (funcall primechannel ':set-pointer (f* 4 (f1- n)))
-       (dpb (byte-in primechannel) 3311
-	    (dpb (byte-in primechannel) 2211
-		 (dpb (byte-in primechannel) 1111 (byte-in primechannel)))))
-
+#-(or cl NIL)
 (defmfun $prime (n)
-  #+(or cl NIL) (MERROR "PRIME doesn't work yet in NIL.")
-  #-(or cl NIL) (prog2 (open-primechannel)
-	       (if (eq (ml-typep n) 'fixnum)
-		   (or (prime n) (list '($prime) n))
-		   (list '($prime) n))
-	       (close primechannel)))
-
-(comment Sum of divisors and Totient functions)
+  (prog2 (open-primechannel)
+      (if (eq (ml-typep n) 'fixnum)
+	  (or (prime n) (list '($prime) n))
+	  (list '($prime) n))
+    (close *primechannel*)))
+
+;;; Sum of divisors and Totient functions
 
 (DEFMFUN $divsum n
        (or (< n 3)
@@ -104,14 +116,15 @@
 					     (sub1 (cadr factors))))))
 		      ((null factors) total)))))
 	(t (list '($totient) n))))
-
-(comment JACOBI symbol and Gaussian factoring)
 
-(declare-top(special *incl modulus $intfaclim))
 
-(setq *incl (list 2 4))
+;;; JACOBI symbol and Gaussian factoring
+
+(declare-top (special *incl* modulus $intfaclim))
+
+(setq *incl* (list 2 4))
 
-(and (nconc *incl *incl) 'noprint)
+(and (nconc *incl* *incl*) 'noprint)
 
 (defun rtzerl2 (n)
        (cond ((zerop n) 0)
@@ -123,7 +136,7 @@
 	     ((equal (remainder p 8) 5) (imodp1 2 p))
 	     ((equal (remainder p 24) 17) (imodp1 3 p))	;p=2(mod 3)
 	     (t (do ((i 5 (plus i (car j)))	;p=1(mod 24)
-		     (j *incl (cdr j)))
+		     (j *incl* (cdr j)))
 		    ((equal (jacobi i p) -1) (imodp1 i p))))))
 
 (defun imodp1 (i modulus)
@@ -176,7 +189,7 @@
 
 
 
-(declare-top(*lexpr $rat))
+(declare-top (*lexpr $rat))
 
 
 ;(DEFMFUN $gcfactor (n)
@@ -243,9 +256,9 @@
 ;	      (setq plis (cons p (cons (cadr gl) plis)))
 ;	      (setq gl (cddr gl)) (go loop))
 ;	     ((equal p (car nl))
-;	      (cond ((zerop (remainder (setq tem (plus (times a (car cd))	;gcremainder
+;	      (cond ((zerop (remainder (setq tem (plus (times a (car cd)) ;gcremainder
 ;					     (times b (cadr cd))))
-;				       p))    ;remainder(real((a+bi)cd~),p)   z~ is complex conjugate
+;				       p))    ;remainder(real((a+bi)cd~),p) z~ is complex conjugate
 ;		     (setq e1 (cadr nl)) (setq dc cd))
 ;		    (t (setq e2 (cadr nl))
 ;		       (setq dc (reverse cd))))
@@ -299,80 +312,83 @@
 ;  dif)
 	
 (defun gcfactor (a b &aux tem) 
-       (prog (gl cd dc econt p e1 e2 ans plis nl $intfaclim )
-       (setq e1 0
-	     e2 0
-	     econt 0
-	     gl (gcd a b)
-	     a (quotient a gl)
-	     b (quotient b gl)
-	     nl (cfactorw (plus (times a a) (times b b)))
-	     gl (cfactorw gl))
-       (and (equal 1 (car gl)) (setq gl nil))
-       (and (equal 1 (car nl)) (setq nl nil))
-loop
-       (cond ((null gl)
-	      (cond ((null nl) (go ret))
-		    ((setq p (car nl)))))
-	     ((null nl) (setq p (car gl)))
-	     (t (setq p (max (car gl) (car nl)))))
-       (setq cd (psumsq p))
-       (cond ((null cd)
-	      (setq plis (cons p (cons (cadr gl) plis)))
-	      (setq gl (cddr gl)) (go loop))
-	     ((equal p (car nl))
-	      (cond ((zerop (remainder (setq tem (plus (times a (car cd))	;gcremainder
-					     (times b (cadr cd))))
-				       p))    ;remainder(real((a+bi)cd~),p)   z~ is complex conjugate
-		     (setq e1 (cadr nl)) (setq dc cd))
-		    (t (setq e2 (cadr nl))
-		       (setq dc (reverse cd))))
-	      (setq dc (gcexpt dc (cadr nl))	;
-		    dc (gctimes a b (car dc) (minus (cadr dc)))
-		    a (quotient (car dc) p)
-		    b (quotient (cadr dc) p)
-		    nl (cddr nl))))
-       (cond ((equal p (car gl))
-	      (setq econt (plus econt (cadr gl)))
-	      (cond ((equal p 2)
-		     (setq e1 (f+ e1 (f* 2 (cadr gl)))))
-		    (t (setq e1 (f+ e1 (cadr gl))
-			     e2 (f+ e2 (cadr gl)))))
-	      (setq gl (cddr gl))))
-       (and (not (zerop e1))
-	    (setq ans (cons cd (cons e1 ans)))
-	    (setq e1 0))
-       (and (not (zerop e2))
-	    (setq ans (cons (reverse cd) (cons e2 ans)))
-	    (setq e2 0))
-       (go loop) 
-ret    (setq cd (gcexpt (list 0 -1)
-			(remainder econt 4)))
-       (setq a (gctimes a b (car cd) (cadr cd)))
-       ;;a hasn't been divided by p yet..
-       (setq a (mapcar 'signum a)) 
-       #+cl (assert (or (zerop (car a))(zerop (second a))))
-       (cond ((or (equal (car a) -1) (equal (cadr a) -1))
-	      (setq plis (cons -1 (cons 1 plis)))))
-       (cond ((equal (car a) 0)
-	      (setq ans (cons '(0 1) (cons 1 ans)))))
-       (setq ans (nconc plis ans))
-       (return ans)))
+  (prog (gl cd dc econt p e1 e2 ans plis nl $intfaclim )
+     (setq e1 0
+	   e2 0
+	   econt 0
+	   gl (gcd a b)
+	   a (quotient a gl)
+	   b (quotient b gl)
+	   nl (cfactorw (plus (times a a) (times b b)))
+	   gl (cfactorw gl))
+     (and (equal 1 (car gl)) (setq gl nil))
+     (and (equal 1 (car nl)) (setq nl nil))
+     loop
+     (cond ((null gl)
+	    (cond ((null nl) (go ret))
+		  ((setq p (car nl)))))
+	   ((null nl) (setq p (car gl)))
+	   (t (setq p (max (car gl) (car nl)))))
+     (setq cd (psumsq p))
+     (cond ((null cd)
+	    (setq plis (cons p (cons (cadr gl) plis)))
+	    (setq gl (cddr gl)) (go loop))
+	   ((equal p (car nl))
+	    (cond ((zerop (remainder
+			   (setq tem (plus (times a (car cd))	;gcremainder
+					   (times b (cadr cd))))
+			   p)) ;remainder(real((a+bi)cd~),p)
+		               ;z~ is complex conjugate
+		   (setq e1 (cadr nl)) (setq dc cd))
+		  (t (setq e2 (cadr nl))
+		     (setq dc (reverse cd))))
+	    (setq dc (gcexpt dc (cadr nl)) ;
+		  dc (gctimes a b (car dc) (minus (cadr dc)))
+		  a (quotient (car dc) p)
+		  b (quotient (cadr dc) p)
+		  nl (cddr nl))))
+     (cond ((equal p (car gl))
+	    (setq econt (plus econt (cadr gl)))
+	    (cond ((equal p 2)
+		   (setq e1 (f+ e1 (f* 2 (cadr gl)))))
+		  (t (setq e1 (f+ e1 (cadr gl))
+			   e2 (f+ e2 (cadr gl)))))
+	    (setq gl (cddr gl))))
+     (and (not (zerop e1))
+	  (setq ans (cons cd (cons e1 ans)))
+	  (setq e1 0))
+     (and (not (zerop e2))
+	  (setq ans (cons (reverse cd) (cons e2 ans)))
+	  (setq e2 0))
+     (go loop) 
+     ret    (setq cd (gcexpt (list 0 -1)
+			     (remainder econt 4)))
+     (setq a (gctimes a b (car cd) (cadr cd)))
+     ;;a hasn't been divided by p yet..
+     (setq a (mapcar 'signum a)) 
+     #+cl (assert (or (zerop (car a))(zerop (second a))))
+     (cond ((or (equal (car a) -1) (equal (cadr a) -1))
+	    (setq plis (cons -1 (cons 1 plis)))))
+     (cond ((equal (car a) 0)
+	    (setq ans (cons '(0 1) (cons 1 ans)))))
+     (setq ans (nconc plis ans))
+     (return ans)))
 
 (defun multiply-gcfactors (lis)
   (sloop for (term exp) on (cddr lis) by 'cddr
-	with answ = (cond ((numberp (car lis))(list (pexpt (car lis) (second lis)) 0))
-			  (t(gcexpt (car lis) (second lis))))
-	when (numberp term)
-	do (setq answ (list (times (first answ) term) (times (second answ) term)))
-	(show answ)
-	else
-	do (setq answ (apply 'gctimes (append answ (gcexpt term exp))))
-	finally (return answ)))
+	 with answ = (cond ((numberp (car lis))(list (pexpt (car lis) (second lis)) 0))
+			   (t(gcexpt (car lis) (second lis))))
+	 when (numberp term)
+	 do (setq answ (list (times (first answ) term) (times (second answ) term)))
+	 (show answ)
+	 else
+	 do (setq answ (apply 'gctimes (append answ (gcexpt term exp))))
+	 finally (return answ)))
 
 (defun gcexpt (a n)
-       (cond ((zerop n) '(1 0))
-	     ((equal n 1) a)
-	     (t (gctime1 a (gcexpt a (f1- n))))))
+  (cond ((zerop n) '(1 0))
+	((equal n 1) a)
+	(t (gctime1 a (gcexpt a (f1- n))))))
 
-(defun gctime1 (a b) (gctimes (car a) (cadr a) (car b) (cadr b)))
+(defun gctime1 (a b)
+  (gctimes (car a) (cadr a) (car b) (cadr b)))


And at last I tried to do something about the deprecated situations in
eval-when and with a few changes in lmdecls.lisp I reduce the number
of warnings from 812 to 431 in a compile. (This is not so bad isn't
it?)

Here is the diff:

--- lmdcls.lisp.old	2001-02-27 01:12:16.000000000 +0100
+++ lmdcls.lisp.new	2004-05-06 14:16:16.000000000 +0200
@@ -7,7 +7,8 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (in-package "MAXIMA")
-;;to do add for other cl implementations.
+
+;;TO DO: add for other cl implementations.
 (defun remove-type ( l)
   (sloop for v in l
 	 when (consp v) do (setq v (car v))
@@ -22,35 +23,35 @@
 
 #+gcl
 (progn 
-(clines "#define MAKE_UNSPECIAL(x) (check_type_symbol(&(x)),(x)->s.s_stype = stp_ordinary, Cnil)")
-(defentry make-unspecial (object) (object "MAKE_UNSPECIAL"))
-)
+  (clines "#define MAKE_UNSPECIAL(x) (check_type_symbol(&(x)),(x)->s.s_stype = stp_ordinary, Cnil)")
+  (defentry make-unspecial (object) (object "MAKE_UNSPECIAL")))
 
 (defmacro declare-top (&rest decl-specs)
-  `(eval-when ,(cond (*macro-file*  '(compile eval load))
-		     (t'(eval compile)))
-     ,@ (sloop for v in decl-specs
-	       ;;only accept these declares for the moment
-	       ;;there are type declares that hang
-	       ;;around and cause problems
-	       when (not (member (car v) '(special unspecial no-type))) do nil 
-	       else
-	       when (eql (car v) 'unspecial)
-	       collect `(progn ,@ (sloop for w in
-					 (cdr v)
-					 collect #-gcl  `(remprop ',w
-							   #-excl 'special
-							   #+excl 'excl::.globally-special.
-							   )
-				     #+gcl `(make-unspecial ',w)
+  `(eval-when
+    ,(cond (*macro-file*  '(:compile-toplevel :execute :load-toplevel))
+	   (t'(:execute :compile-toplevel)))
+    ,@ (sloop for v in decl-specs
+	;;only accept these declares for the moment
+	;;there are type declares that hang
+	;;around and cause problems
+	when (not (member (car v) '(special unspecial no-type))) do nil 
+	else
+	when (eql (car v) 'unspecial)
+	collect `(progn ,@ (sloop for w in
+			    (cdr v)
+			    collect #-gcl  `(remprop ',w
+					     #-excl 'special
+					     #+excl 'excl::.globally-special.
+					     )
+			    #+gcl `(make-unspecial ',w)
 				     
-				     ))
-	       else when (eql (car v) 'fixnum)
-	       collect
-	       `(proclaim ',(sloop for w in  v when (symbolp w) collect w))
-	       else when (eql (car v) 'notype)
-	       collect `(remove-type ',(cdr v))
-	       else collect `(proclaim ',v))))
+			    ))
+	else when (eql (car v) 'fixnum)
+	collect
+	`(proclaim ',(sloop for w in  v when (symbolp w) collect w))
+	else when (eql (car v) 'notype)
+	collect `(remove-type ',(cdr v))
+	else collect `(proclaim ',v))))
 
 
 ;(DEFPROP DCL "12//7//81 0:57:08" VERSION) 
@@ -395,101 +396,103 @@
 ;;than one macsyma file, except for some specials declared in the macro
 ;;files, eg displm
 
-(eval-when (compile eval load)
-(proclaim '(special
-  $% $%% $%EDISPFLAG $%EMODE $%ENUMER $%E_TO_NUMLOG $%IARGS $%PIARGS
-    $%RNUM $%RNUM_LIST $ABSBOXCHAR $ACTIVECONTEXTS $ALGEBRAIC $ALGEXACT
-    $ALIASES $ARRAYS $ASKEXP $ASSUMESCALAR $BACKSUBST $BERLEFACT
-    $BETA_ARGS_SUM_TO_INTEGER $BFTORAT $BFTRUNC $BOTHCASES $BOXCHAR
-    $BREAKUP $CAUCHYSUM $CHANGE_FILEDEFAULTS $COMPGRIND $CONTEXT
-    $CONTEXTS $CURRENT_LET_RULE_PACKAGE $CURSORDISP $DEBUGMODE
-    $DEFAULT_LET_RULE_PACKAGE $DEMOIVRE $DEPENDENCIES $DERIVABBREV
-    $DERIVSUBST $DETOUT $DIREC $DISPFLAG $DISPLAY2D $DISPLAYSET
-    $DISPLAY_FORMAT_INTERNAL $DOALLMXOPS $DOMAIN $DOMXEXPT $DOMXMXOPS
-    $DOMXNCTIMES $DOMXPLUS $DOMXTIMES $DONTFACTOR $DOSCMXOPS
-    $DOSCMXPLUS $DOT0NSCSIMP $DOT0SIMP $DOT1SIMP $DOTASSOC
-    $DOTCONSTRULES $DOTDISTRIB $DOTEXPTSIMP $DOTIDENT $DOTSCRULES
-    $DSKGC $ERFFLAG $ERREXP $ERROR $ERROR_SIZE $ERROR_SYMS $EXPON
-    $EXPONENTIALIZE $EXPOP $EXPTDISPFLAG $EXPTISOLATE $EXPTSUBST
-    $FACEXPAND $FACTORFLAG $FEATURES $FILE_SEARCH $FILE_STRING_PRINT
-    $FILE_TYPES $FLOAT $FLOAT2BF $FLOATFORMAT $FLOATFRAC $FLOATINT
-    $FLOATOPTIONS $FLOATPREC $FLOATWIDTH $FORTFLOAT $FORTINDENT
-    $FORTSPACES $FPPREC $FPPRINTPREC $FPTRUNC $FUNCTIONS $GAMMALIM $GCD
-    $GENINDEX $GENSUMNUM $GLOBALSOLVE $GRADEFS $HALFANGLES $HOMOG_HACK
-    $INCHAR $INFEVAL $INFLAG $INTEGRATION_CONSTANT_COUNTER $INTFACLIM
-    $ISOLATE_WRT_TIMES $KEEPFLOAT $LABELS $LEFTJUST $LETRAT $LETVARSIMP
-    $LET_RULE_PACKAGES $LIFLAG $LINECHAR $LINEDISP $LINENUM $linel
-    $LINSOLVEWARN $LINSOLVE_PARAMS $LISPDISP $LISTARITH $LISTCONSTVARS
-    $LMXCHAR $LOGARC $LOGCONCOEFFP $LOGEXPAND $LOGNEGINT $LOGNUMER
-    $LOGSIMP $M1PBRANCH $MACROEXPANSION $MACROS $MAPERROR $MAPPRINT
-    $MATRIX_ELEMENT_ADD $MATRIX_ELEMENT_MULT $MATRIX_ELEMENT_TRANSPOSE
-    $MAXAPPLYDEPTH $MAXAPPLYHEIGHT $MAXNEGEX $MAXPOSEX $MAXPRIME
-    $MAXTAYORDER $MODE_CHECKP $MODE_CHECK_ERRORP $MODE_CHECK_WARNP
-    $MOREWAIT $MULTIPLICITIES $MX0SIMP $MYOPTIONS $NALGFAC $NEGDISTRIB
-    $NEGSUMDISPFLAG $NEWFAC $NOLABELS $NOREPEAT $NOUNDISP $NUMER
-    $NUMER_PBRANCH $OPERATORS $OPSUBST $OPTIMPREFIX $OPTIONSET $OUTCHAR
-    $PAGEPAUSE $PARSEWINDOW $PARTSWITCH $PFEFORMAT $PIECE $POINTBOUND
-    $POISLIM $POWERDISP $PREDERROR $PRODHACK $PROGRAMMODE $PROPS
-    $RADEXPAND $RATALGDENOM $RATDENOMDIVIDE $RATEPSILON $RATEXPAND
-    $RATFAC $RATMX $RATPRINT $RATSIMPEXPONS $RATVARS $RATWEIGHTS
-    $RATWTLVL $REALONLY $REFCHECK $RESULTANT $RMXCHAR $ROMBERGABS
-    $ROMBERGIT $ROMBERGIT_USED $ROMBERGMIN $ROMBERGTOL $ROOTSCONMODE
-    $RULES $SAVEDEF $SAVEFACTORS $SCALARMATRIXP $SETCHECK
-    $SETCHECKBREAK $SETVAL $SHOWTIME $SIGNBFLOAT $SIMP $SIMPSUM
-    $SOLVEDECOMPOSES $SOLVEEXPLICIT $SOLVEFACTORS $SOLVENULLWARN
-    $SOLVERADCAN $SOLVETRIGWARN $SOLVE_INCONSISTENT_ERROR $SPARSE
-    $SPECIAL $SQRTDISPFLAG $STARDISP $STORENUM $SUBLIS_APPLY_LAMBDA
-    $SUBNUMSIMP $SUBSCRMAP $SUMEXPAND $SUMHACK $SUMSPLITFACT
-    $SUPERLOGCON $SUSPEND $TAYLOR_LOGEXPAND
-    $TAYLOR_TRUNCATE_POLYNOMIALS $TIMER $TIMER_DEVALUE
-    $TO_CALL_LISP_COMPILER $TRACE $TRACE_BREAK_ARG $TRACE_MAX_INDENT
-    $TRACE_SAFETY $TRANSBIND $TRANSCOMPILE $TRANSLATE $TRANSRUN
-    $TRIGEXPAND $TRIGEXPANDPLUS $TRIGEXPANDTIMES $TRIGINVERSES
-    $TRIGSIGN $TR_ARRAY_AS_REF $TR_BOUND_FUNCTION_APPLYP
-    $TR_FILE_TTY_MESSAGESP $TR_FLOAT_CAN_BRANCH_COMPLEX
-    $TR_FUNCTION_CALL_DEFAULT $TR_GEN_TAGS $TR_NUMER
-    $TR_OPTIMIZE_MAX_LOOP $TR_OUTPUT_FILE_DEFAULT
-    $TR_PREDICATE_BRAIN_DAMAGE $TR_SEMICOMPILE $TR_STATE_VARS
-    $TR_TRUE_NAME_OF_FILE_BEING_TRANSLATED $TR_WARN_BAD_FUNCTION_CALLS
-    $TR_WARN_FEXPR $TR_WARN_MEVAL $TR_WARN_MODE $TR_WARN_UNDECLARED
-    $TR_WARN_UNDEFINED_VARIABLE $TR_WINDY $TTYINTFUN $TTYINTNUM
-    $UNIVERSE $USER_MESFILE $USE_FAST_ARRAYS $VALUES $VECT_CROSS
-    $ZEROBERN %E-VAL %P%I %PI-VAL %PI//2 %PI//4 %PI2 &** *$ANY-MODES*
-    *ALPHA *CONST* *FNEWVARSW *GCDL* *IN *IN-$BATCHLOAD* *IN-COMPILE*
-    *IN-MACSYMA-INDEXER* *IN-TRANSLATE-FILE* *INV* *IRREDS *MIN* *MX*
-    *N *OPERS-LIST *OUT *RATWEIGHTS *TR-WARN-BREAK* *TRANSL-BACKTRACE*
-    *TRANSL-DEBUG* *TRANSL-FILE-DEBUG* *WARNED-FEXPRS*
-    *WARNED-MODE-VARS* *WARNED-UN-DECLARED-VARS* *ZEXPTSIMP? |-1//2|
-    -SQRT2//2 -SQRT3//2 |1//2| ADN* AEXPRP ALGFAC* ALGNOTEXACT
-    ALIASLIST ALPHA ALPHABET ARRAYS ARYP ASSIGNS ATP ATVARS BAKTRCL
-    BFHALF BFMHALF BIGFLOAT%E BIGFLOAT%PI BIGFLOATONE BIGFLOATZERO
-    BIGPRIMES BINDLIST BVARS CASEP CHARACTER-GRAPHICS-TTY DEBUG
-    DECLARES DEFINED_VARIABLES DEFINTDEBUG DERIVFLAG DERIVLIST
-    DERIVSIMP DISPLAYP DN* DOSIMP DSKSETP DUMMY-VARIABLE-OPERATORS
-    DUMPING ENVLIST ERRORSW ERRRJFFLAG EVARRP EVP EXPANDFLAG EXPANDP
-    EXPRS EXPTRLSW FACTLIST FEATUREL FEXPRERRP FEXPRS FMAPLVL
-    FORMS-TO-COMPILE-QUEUE FOURTH%PI FR-FACTOR FUNDEFSIMP GAUSS
-    GENERATE-ATAN2 GENPAIRS GENVAR HALF%PI HALF%PI3 HMODULUS
-    IMPLICIT-REAL IN-P INFINITESIMALS INFINITIES INRATSIMP INSIDE-MPROG
-    INTEGERL ISLINP LEXPRS LIMIT-ANSWERS LIMITP LINE-GRAPHICS-TTY LINEL
-    LINELABLE LNORECURSE LOCAL LOCLIST LOW* MAPLP MASTER-MESFILE MDOP
-    META-PROP-L META-PROP-P MFEXPRP MINPOLY* MLOCP MM* MODULUS MOPL
-    MPLC* MPROGP MPROPLIST MSPECLIST MSPECLIST2 MSUMP MUNBINDP
-    NEED-PROG? NEGPRODS NEGSUMS NN* NOEVALARGS NOITEMS NONINTEGERL
-    NOUNL NOUNSFLAG OPERS OPERS-LIST OPEXPRP OUTARGS1 OUTARGS2 OUTFILES
-    PLUSFLAG PRESERVE-DIRECTION PRODS PUTL RADCANP RADPE RD*
-    REAL-INFINITIES REALONLYRATNUM REFCHKL RETURN-MODE RETURNS RULEFCNL
-    RULESW SCANMAPP SFINDEX SIGN-IMAG-ERRP SIMPLIMPLUS-PROBLEMS
-    SMALLPRIMES SPECIALS SQRT2//2 SQRT3//2 STATE-PDL STRINGDISP SUBSTP
-    SUMS TELLRATLIST TIMESINP TIMESP TR-ABORT TR-PROGRET TR-UNIQUE
-    TRAMP1$ TRAMP2$ TRAMP3$ TRANSL-FILE TRANSLATE-TIME-EVALABLES TRANSP
-    TSTACK TYPEL USER-MESFILE USER-TIMESOFAR VARLIST WFLAG ^DMSG-OFF
-    ^DMSG-ON
-    $wtlevel $cflength $weightlevels *trunclist $taylordepth
-    $maxtaydiff $verbose $psexpand ps-bmt-disrep
-    silent-taylor-flag $DEFINE_VARIABLE
-    ))
-)
+(eval-when (:compile-toplevel :execute :load-toplevel)
+  (proclaim
+   '(special
+     $% $%% $%EDISPFLAG $%EMODE $%ENUMER $%E_TO_NUMLOG $%IARGS $%PIARGS
+     $%RNUM $%RNUM_LIST $ABSBOXCHAR $ACTIVECONTEXTS $ALGEBRAIC $ALGEXACT
+     $ALIASES $ARRAYS $ASKEXP $ASSUMESCALAR $BACKSUBST $BERLEFACT
+     $BETA_ARGS_SUM_TO_INTEGER $BFTORAT $BFTRUNC $BOTHCASES $BOXCHAR
+     $BREAKUP $CAUCHYSUM $CHANGE_FILEDEFAULTS $COMPGRIND $CONTEXT
+     $CONTEXTS $CURRENT_LET_RULE_PACKAGE $CURSORDISP $DEBUGMODE
+     $DEFAULT_LET_RULE_PACKAGE $DEMOIVRE $DEPENDENCIES $DERIVABBREV
+     $DERIVSUBST $DETOUT $DIREC $DISPFLAG $DISPLAY2D $DISPLAYSET
+     $DISPLAY_FORMAT_INTERNAL $DOALLMXOPS $DOMAIN $DOMXEXPT $DOMXMXOPS
+     $DOMXNCTIMES $DOMXPLUS $DOMXTIMES $DONTFACTOR $DOSCMXOPS
+     $DOSCMXPLUS $DOT0NSCSIMP $DOT0SIMP $DOT1SIMP $DOTASSOC
+     $DOTCONSTRULES $DOTDISTRIB $DOTEXPTSIMP $DOTIDENT $DOTSCRULES
+     $DSKGC $ERFFLAG $ERREXP $ERROR $ERROR_SIZE $ERROR_SYMS $EXPON
+     $EXPONENTIALIZE $EXPOP $EXPTDISPFLAG $EXPTISOLATE $EXPTSUBST
+     $FACEXPAND $FACTORFLAG $FEATURES $FILE_SEARCH $FILE_STRING_PRINT
+     $FILE_TYPES $FLOAT $FLOAT2BF $FLOATFORMAT $FLOATFRAC $FLOATINT
+     $FLOATOPTIONS $FLOATPREC $FLOATWIDTH $FORTFLOAT $FORTINDENT
+     $FORTSPACES $FPPREC $FPPRINTPREC $FPTRUNC $FUNCTIONS $GAMMALIM $GCD
+     $GENINDEX $GENSUMNUM $GLOBALSOLVE $GRADEFS $HALFANGLES $HOMOG_HACK
+     $INCHAR $INFEVAL $INFLAG $INTEGRATION_CONSTANT_COUNTER $INTFACLIM
+     $ISOLATE_WRT_TIMES $KEEPFLOAT $LABELS $LEFTJUST $LETRAT $LETVARSIMP
+     $LET_RULE_PACKAGES $LIFLAG $LINECHAR $LINEDISP $LINENUM $linel
+     $LINSOLVEWARN $LINSOLVE_PARAMS $LISPDISP $LISTARITH $LISTCONSTVARS
+     $LMXCHAR $LOGARC $LOGCONCOEFFP $LOGEXPAND $LOGNEGINT $LOGNUMER
+     $LOGSIMP $M1PBRANCH $MACROEXPANSION $MACROS $MAPERROR $MAPPRINT
+     $MATRIX_ELEMENT_ADD $MATRIX_ELEMENT_MULT $MATRIX_ELEMENT_TRANSPOSE
+     $MAXAPPLYDEPTH $MAXAPPLYHEIGHT $MAXNEGEX $MAXPOSEX $MAXPRIME
+     $MAXTAYORDER $MODE_CHECKP $MODE_CHECK_ERRORP $MODE_CHECK_WARNP
+     $MOREWAIT $MULTIPLICITIES $MX0SIMP $MYOPTIONS $NALGFAC $NEGDISTRIB
+     $NEGSUMDISPFLAG $NEWFAC $NOLABELS $NOREPEAT $NOUNDISP $NUMER
+     $NUMER_PBRANCH $OPERATORS $OPSUBST $OPTIMPREFIX $OPTIONSET $OUTCHAR
+     $PAGEPAUSE $PARSEWINDOW $PARTSWITCH $PFEFORMAT $PIECE $POINTBOUND
+     $POISLIM $POWERDISP $PREDERROR $PRODHACK $PROGRAMMODE $PROPS
+     $RADEXPAND $RATALGDENOM $RATDENOMDIVIDE $RATEPSILON $RATEXPAND
+     $RATFAC $RATMX $RATPRINT $RATSIMPEXPONS $RATVARS $RATWEIGHTS
+     $RATWTLVL $REALONLY $REFCHECK $RESULTANT $RMXCHAR $ROMBERGABS
+     $ROMBERGIT $ROMBERGIT_USED $ROMBERGMIN $ROMBERGTOL $ROOTSCONMODE
+     $RULES $SAVEDEF $SAVEFACTORS $SCALARMATRIXP $SETCHECK
+     $SETCHECKBREAK $SETVAL $SHOWTIME $SIGNBFLOAT $SIMP $SIMPSUM
+     $SOLVEDECOMPOSES $SOLVEEXPLICIT $SOLVEFACTORS $SOLVENULLWARN
+     $SOLVERADCAN $SOLVETRIGWARN $SOLVE_INCONSISTENT_ERROR $SPARSE
+     $SPECIAL $SQRTDISPFLAG $STARDISP $STORENUM $SUBLIS_APPLY_LAMBDA
+     $SUBNUMSIMP $SUBSCRMAP $SUMEXPAND $SUMHACK $SUMSPLITFACT
+     $SUPERLOGCON $SUSPEND $TAYLOR_LOGEXPAND
+     $TAYLOR_TRUNCATE_POLYNOMIALS $TIMER $TIMER_DEVALUE
+     $TO_CALL_LISP_COMPILER $TRACE $TRACE_BREAK_ARG $TRACE_MAX_INDENT
+     $TRACE_SAFETY $TRANSBIND $TRANSCOMPILE $TRANSLATE $TRANSRUN
+     $TRIGEXPAND $TRIGEXPANDPLUS $TRIGEXPANDTIMES $TRIGINVERSES
+     $TRIGSIGN $TR_ARRAY_AS_REF $TR_BOUND_FUNCTION_APPLYP
+     $TR_FILE_TTY_MESSAGESP $TR_FLOAT_CAN_BRANCH_COMPLEX
+     $TR_FUNCTION_CALL_DEFAULT $TR_GEN_TAGS $TR_NUMER
+     $TR_OPTIMIZE_MAX_LOOP $TR_OUTPUT_FILE_DEFAULT
+     $TR_PREDICATE_BRAIN_DAMAGE $TR_SEMICOMPILE $TR_STATE_VARS
+     $TR_TRUE_NAME_OF_FILE_BEING_TRANSLATED $TR_WARN_BAD_FUNCTION_CALLS
+     $TR_WARN_FEXPR $TR_WARN_MEVAL $TR_WARN_MODE $TR_WARN_UNDECLARED
+     $TR_WARN_UNDEFINED_VARIABLE $TR_WINDY $TTYINTFUN $TTYINTNUM
+     $UNIVERSE $USER_MESFILE $USE_FAST_ARRAYS $VALUES $VECT_CROSS
+     $ZEROBERN %E-VAL %P%I %PI-VAL %PI//2 %PI//4 %PI2 &** *$ANY-MODES*
+     *ALPHA *CONST* *FNEWVARSW *GCDL* *IN *IN-$BATCHLOAD* *IN-COMPILE*
+     *IN-MACSYMA-INDEXER* *IN-TRANSLATE-FILE* *INV* *IRREDS *MIN* *MX*
+     *N *OPERS-LIST *OUT *RATWEIGHTS *TR-WARN-BREAK* *TRANSL-BACKTRACE*
+     *TRANSL-DEBUG* *TRANSL-FILE-DEBUG* *WARNED-FEXPRS*
+     *WARNED-MODE-VARS* *WARNED-UN-DECLARED-VARS* *ZEXPTSIMP? |-1//2|
+     -SQRT2//2 -SQRT3//2 |1//2| ADN* AEXPRP ALGFAC* ALGNOTEXACT
+     ALIASLIST ALPHA ALPHABET ARRAYS ARYP ASSIGNS ATP ATVARS BAKTRCL
+     BFHALF BFMHALF BIGFLOAT%E BIGFLOAT%PI BIGFLOATONE BIGFLOATZERO
+     BIGPRIMES BINDLIST BVARS CASEP CHARACTER-GRAPHICS-TTY DEBUG
+     DECLARES DEFINED_VARIABLES DEFINTDEBUG DERIVFLAG DERIVLIST
+     DERIVSIMP DISPLAYP DN* DOSIMP DSKSETP DUMMY-VARIABLE-OPERATORS
+     DUMPING ENVLIST ERRORSW ERRRJFFLAG EVARRP EVP EXPANDFLAG EXPANDP
+     EXPRS EXPTRLSW FACTLIST FEATUREL FEXPRERRP FEXPRS FMAPLVL
+     FORMS-TO-COMPILE-QUEUE FOURTH%PI FR-FACTOR FUNDEFSIMP GAUSS
+     GENERATE-ATAN2 GENPAIRS GENVAR HALF%PI HALF%PI3 HMODULUS
+     IMPLICIT-REAL IN-P INFINITESIMALS INFINITIES INRATSIMP INSIDE-MPROG
+     INTEGERL ISLINP LEXPRS LIMIT-ANSWERS LIMITP LINE-GRAPHICS-TTY LINEL
+     LINELABLE LNORECURSE LOCAL LOCLIST LOW* MAPLP MASTER-MESFILE MDOP
+     META-PROP-L META-PROP-P MFEXPRP MINPOLY* MLOCP MM* MODULUS MOPL
+     MPLC* MPROGP MPROPLIST MSPECLIST MSPECLIST2 MSUMP MUNBINDP
+     NEED-PROG? NEGPRODS NEGSUMS NN* NOEVALARGS NOITEMS NONINTEGERL
+     NOUNL NOUNSFLAG OPERS OPERS-LIST OPEXPRP OUTARGS1 OUTARGS2 OUTFILES
+     PLUSFLAG PRESERVE-DIRECTION PRODS PUTL RADCANP RADPE RD*
+     REAL-INFINITIES REALONLYRATNUM REFCHKL RETURN-MODE RETURNS RULEFCNL
+     RULESW SCANMAPP SFINDEX SIGN-IMAG-ERRP SIMPLIMPLUS-PROBLEMS
+     SMALLPRIMES SPECIALS SQRT2//2 SQRT3//2 STATE-PDL STRINGDISP SUBSTP
+     SUMS TELLRATLIST TIMESINP TIMESP TR-ABORT TR-PROGRET TR-UNIQUE
+     TRAMP1$ TRAMP2$ TRAMP3$ TRANSL-FILE TRANSLATE-TIME-EVALABLES TRANSP
+     TSTACK TYPEL USER-MESFILE USER-TIMESOFAR VARLIST WFLAG ^DMSG-OFF
+     ^DMSG-ON
+     $wtlevel $cflength $weightlevels *trunclist $taylordepth
+     $maxtaydiff $verbose $psexpand ps-bmt-disrep
+     silent-taylor-flag $DEFINE_VARIABLE
+     ))
+  )
+
 (proclaim '(declaration splitfile))
 (proclaim '(declaration unspecial))
 (proclaim '(declaration muzzled))


It looks bigger than it really is, because I changed the layout a bit
to make it prettier.


Ok, so what do you think about that?
Is it worth it? I know that it is just a start and I will keep on
trying to fix it up.

Andreas

-- 
Wherever I lay my .emacs, there's my $HOME.