Why not put this in a "repeat forever" loop and test for iStopp=0, then exit 
repeat when true?

Put 1 into iStopp
Repeat while iStopp<>0
  Intersect testing code that puts 0 into iStopp, appropriately
  If iStopp=0 then
      Exit repeat
  End if
End repeat

Of course, there is probably some reason, but this is the way I would probably 
approach this.

Best,
Bill P

William Prothero
http://es.earthednet.org

> On Jul 4, 2017, at 12:59 AM, Richmond Mathewson via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> Well I'm not doing infinite recursion:
> 
> MouseUp Script inside button "GO2" sending "mouseDown" to button "GO2"
> 
> onmouseUp
> 
> put0 intoSTOPP
> 
> ifintersect(img "ball1",img "stop") then
> 
> put1 intoSTOPP
> 
> endif
> 
> ifintersect(img "ball2",img "stop") then
> 
> put1 intoSTOPP
> 
> endif
> 
> ifintersect(img "ball3",img "stop") then
> 
> put1 intoSTOPP
> 
> endif
> 
> ifintersect(img "ball4",img "stop") then
> 
> put1 intoSTOPP
> 
> endif
> 
> ifSTOPP = 0 then
> 
> send"mouseDown" tobtn "GO2"
> 
> endif
> 
> endmouseUp
> 
> Richmond.
> 
> 
> 
>> On 7/4/17 10:50 am, Mark Waddingham via use-livecode wrote:
>>> On 2017-07-04 09:28, Richmond Mathewson via use-livecode wrote:
>>> BUT . . .
>>> 
>>> How can one know how high one can set the recursionLimit before smoke, 
>>> sparks
>>> and flames are going to start leaping out of the back of the computer?
>>> 
>>> Or, less frivolously; how can one determine the upper limit on the
>>> recursionLimit before the
>>> stack "hangs" (presumably that means the thing will lock solid) ?
>> 
>> The recursionLimit is limited by the size of the C stack (in bytes). I think 
>> on Mac that is 8 Mb by default (although I think you can configure it using 
>> ulimit or some similar command-line trickery).
>> 
>> One thing to check that you aren't (by accident) doing infinite recursion. 
>> i.e. A variant of:
>> 
>>  on myFunction
>>    myFunction
>>  end myFunction
>> 
>> Obviously *that* is trivially noticeable as being infinite. However, it is 
>> quite easy to write stuff like this when its buried in lots of lines of code 
>> (hence why LiveCode has a 'recursionLimit').
>> 
>> My general advice would be:
>> 
>>  1) Run your routine
>> 
>>  2) If it hits the recursionLimit double the recursionLimit property.
>> 
>>  3) Goto (1)
>> 
>> If you reach 8Mb limit then put some logging into your code to make sure it 
>> *does* actually need to recurse that deeply.
>> 
>> Warmest Regards,
>> 
>> Mark.
>> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to