[Newbies] Problem filing out change set

Yoshiki Ohshima yoshiki at vpri.org
Wed Oct 15 07:19:35 UTC 2008


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


More information about the Beginners mailing list