[Newbies] Problem filing out change set

Chris Kermiet k1 at indra.com
Fri Oct 17 15:10:08 UTC 2008


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 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20081017/40ef0d83/attachment.htm


More information about the Beginners mailing list