umm, Pro doesn`t seem to admit it`s stack is full, and printing evey loop will slow it down so much it would take ages to use up a megabyte, but it reports a stack full in DB classic, this snippet
sync on:sync rate 0
set text opaque
point1:
a=system smem available()
gosub point2
return
point2:
b=system smem available()
if b<a
print b
sync
endif
gosub point1
return
shows memory shrinking and then it falls back into the editor, so presumably the memory use is the storage taken up by return addresses growing, and the silent fall back into the editor is the point where you should get a stack error, anyway, you definitley do not want to write your code on the assumption that calling an infinite number of gosubs is ok, cos it isn`t by any stretch of the imagination, if only because of the memory leak caused by all those return addresses being stored and never retrieved.
Mentor.
PC1: P4 3ghz, 1gig mem, 2x160gig hd`s, Radeon 9800pro w cooler (3rd gfx card), 6 way speakers.
PC2: AMD 2ghz, 512mb ram, FX5200 ultra, 16 bit SB.
Mini ATX cases suck.