> 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!]

Reply via email to