> The fact that Macromedia are > quite happy with a broken implemementation IMHO, seriously > undermines the credibility of Lingo as a useful scripting > language.
I'm with you up to there, Robert. I read your post carefully, and your explanation is flawless. To be honest, I've done more assembler than C, and void isn't really a concept in assembly language, so I'll defer to your knowledge of C--clearly more detailed than mine. I stop short of saying it undermines Lingo's credibility, though. It's a known issue, with a known workaround, and just about every scripting language I've used has issues like this. Lingo remains a powerful and flexible language, albeit with some quirks. After all, that's what they pay us those big bucks for ^_^ > PS: After writing this, I realised that my test-code probably > wouldn't demonstrate the bug. Most likely a "dirty" VOID is > being returned by a function, probably in an Xtra. In that > case, the bug may well affect later versions of Windows, as > well as the one that demonstrated the problem before, but it > will only show up when the VOID contains a non-zero body. That corresponds with my experience. I believe I mentioned that I found the problem in a function call. This is way, way oversimplified, but it was essentially this: x = someFunction() if x = FALSE then -- do something else -- do something else end if on someFunction --do something --but don't return anything End It was absolutely consistent, though--that's the odd thing. The Boolean always evaluated to false on Mac, and true on Windows. I added one line, "if voidP(x) then x = FALSE" to fix the bug. So, a "dirty" VOID? That's the best explanation I've heard so far. Nuuj could tell us exactly what is going on, but he was one of the engineers who stomped off when some people misdirected their anger at him. Cordially, Kerry Thompson [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]