From: Shawn P. <sha...@gm...> - 2015-11-12 18:40:37
|
It was an unforeseen problem of assigning atoms with cleanup routines to integers. It doesn't sound bad at all does it? However, if this atom with the cleanup routine does not exist elsewhere and you assign it to an integer, the cleanup routine has to get thrown away. Prior to changes in Euphoria Ticket #937, the cleanup routine would get executed when assigned to an integer. This is a really bad thing. Now, if you do try to do this, the interpreter throws an error (in 4.0 tip). The changes were made in be_execute.c, so I will need to check out what happens in translated code. The problem is, the error thrown indicates the wrong line. It should indicate the error when the value is assigned to an integer. Instead it indicates the following line of code which has nothing to do with the problem. Shawn Pringle |