Yoshiki, Burt --
    Thanks for your comments. I seem to have fixed the problem, and no longer get the error message.

Burt, there is no instance variable. Rather, I set up Phi as a class variable, with phi as a class method (exactly as pi was set up). This is one reason why the error message was so confusing. It refers to an instance variable (which I never added- I referred to it as an instance variable in my original email, which was incorrect. It's a class method, the same as the other constants in Float.)
     phi
        ^Phi
But, in trying to decipher the error message, I thought it might be referring to the new constant. I'm still mystified as to what the error message means, or what it refers to, or why I got it. Perhaps, as Yoshiki suggests, it's a bug. (The image which I'm using is 3.9-final-7067.)

What fixed it? I recompiled Float, and then reinitialized it. Now I can file out the new change set without getting the error message. But, being a newbie, I don't know why this fixed it (since it was recompiled when I first added the new class constant, and I had also reinitialized the Float class after that). And I still have no idea what the error message means. And looking at the comments in DeepCopier didn't help a bit.

Yoshiki Ohshima wrote:
At Wed, 15 Oct 2008 00:23:25 -0600,
Chris Kermiet wrote:
  
Hi, Folks --
    I'm new to this list. I'm learning squeak by by creating some artsy objects which create designs according to
mathematical algorithms (based on Schillinger's Mathematical Basis of the Arts).  It seemed like a good idea to add the
constant Phi to the Float class to keep from recalculating it. (Phi is the Golden Ratio -- the limit ratio of the
Fibonacci series.)

    Now, when I try to file out my change set, I get the error message:

"An instance variable was added to class Float and it is not copied in the method veryDeepCopyWith:
Please rewrite it to handle all instance variables.
See DeepCopier class comment."

When I look at the DeepCopier class comment, I have no clue what I'm supposed to do. Does this new instance variable
need to be copied somewhere?
    

  In a general case, you are supposed to edit #veryDeepCopyWith:
method for the object.

  But, the system is not supposed to let you add an instance variable
to Float, and adding a class variable to Float shouldn't bring up the
dialog...  Ok, it seems to me that you found a bug in some versions of
Squeak.  I tried it in 3.9 and 3.10.2 and I could reproduce the
problem.  (It used to work fine in more stable versions.)

  
In addition, this error message seems unnecessarily vague. Please
rewrite "it" -- what does "it" refer to?
    

  I think you got a new browser window that shows a method.  "It"
refers to the method (#veryDeepCopyWith:) in the browser.

  
The instance
variable (phi), the Float class, the veryDeepCopyWith: method? Or the class variable (Phi)? When I look carefully at all
of these, none of them look like they should need rewriting.

Unless I should do (just a guess):

    Float veryDeepCopyWith: phi

in a workspace. But I'd like to know why before I try it. Anyone have any ideas on this? Any help would be appreciated.
Thanks.
    

  What you can do is to ignore the dialog.  I think you did get the
change set on the disk.  So the mission is actually accomplished.

-- Yoshiki
_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners