1. Bug in call_back when compiled

http://www.RapidEuphoria.com/uploads/bug1.zip

new topic     » topic index » view message » categorize

2. Re: Bug in call_back when compiled

Daniel Kluss wrote:
> 
> http://www.RapidEuphoria.com/uploads/bug1.zip

For some reason, it's not picking up thing2:thing_hello_rid.  I haven't dug,
but the c code looks ok, so the obvious suspect is CRoutineId.

Matt

new topic     » goto parent     » topic index » view message » categorize

3. Re: Bug in call_back when compiled

Matt Lewis wrote:
> Daniel Kluss wrote:
> > 
> > <a
> > href="http://www.RapidEuphoria.com/uploads/bug1.zip">http://www.RapidEuphoria.com/uploads/bug1.zip</a>
> 
> For some reason, it's not picking up thing2:thing_hello_rid.  I haven't dug,
> but the c code looks ok, so the obvious suspect is CRoutineId.

Yes, I see a bug in CRoutineId(), the run-time routine used by
the Translator. From reading the C code, it looks like when
the second "thing_hello" is looked up by routine_id() in thing2.e, 
it would return -1, since it will "see" multiple globals 
with the name "thing_hello", and no namespace has been specified. 
However, according to the scope rules, this is not an error.
It should match the global in the same file as the call
to routine_id(). Multiple globals of the same name, with no namespace
qualifier provided, is only an error when they are in other files, 
not when one is in the same file as the call to routine_id(). 
The interpreter handles this correctly.
I'll fix this tomorrow and check in the change.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

4. Re: Bug in call_back when compiled

Robert Craig wrote:
> Yes, I see a bug in CRoutineId(), the run-time routine used by
> the Translator. From reading the C code, it looks like when
> the second "thing_hello" is looked up by routine_id() in thing2.e, 
> it would return -1, since it will "see" multiple globals 
> with the name "thing_hello", and no namespace has been specified. 
> However, according to the scope rules, this is not an error.
> It should match the global in the same file as the call
> to routine_id(). Multiple globals of the same name, with no namespace
> qualifier provided, is only an error when they are in other files, 
> not when one is in the same file as the call to routine_id(). 
> The interpreter handles this correctly.
> I'll fix this tomorrow and check in the change.

OK, I've checked in a new be_runtime.c.
It was an easy fix of just a few lines of C code.

Daniel's program works as expected now.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu