From: Alan Ruttenberg
Subject: common errors
Date: 
Message-ID: <ALANR.94May9101016@media-lab.media-lab.media.mit.edu>
Analogous to your defvar is the case of class allocated instance
variables on redefinition of the class which changes the variable initform.

(defclass foo () ((bar :initform 20 :allocation :class)))
(slot-value (make-instance 'foo) 'bar)
20
(defclass foo () ((bar :initform 10 :allocation :class)))
(slot-value (make-instance 'foo) 'bar)
20

This is in MCL 2.0.  I'm not sure if the behaviour is correct, but 
I patch the environment so that evaluation of such forms *does* make
the change. (by setting the instance variable in the class prototype)

-alan

   From: ······@cs.utexas.edu (Micheal S. Hewett)
   Newsgroups: comp.lang.lisp
   Date: 8 May 1994 13:09:58 -0500
   Organization: CS Dept, University of Texas at Austin

   Here are some problems I've seen over the years that keep recurring:


   1) defvar doesn't redefine

	  Editing a file to change the value of a DEFVAR'ed variable
	  and then reloading the file DOES NOT change the value of
	  the variable in memory.  This one causes effects that are
	  very puzzling to novice programmers.