Re: A few more shrouding niggles

new topic     » goto parent     » topic index » view thread      » older message » newer message

Pete Lomax wrote:
> I had a few local variable names clashing with the global routines
> value(), upper(), lower(), and string() [last one is in win32lib].
> 
> The offending routines are bits_to_int() in machine.e (value),
> reverse() (upper and lower), value() and wildcard_match() (string).
> 
> It only causes a problem if routine_id is used with a variable
> parameter in the program being shrouded.
> 
> I've renamed the local variables/parameters in my local copies of
> machine.e, get.e, and wildcard.e, to get round this.
> 
> Of course I'd prefer to see the shrouder "forget" local variable names
> at the end of each routine.

Thanks for reporting this.

In almost all cases, people hard-code the name
of a particular routine into their routine_id() call.
In the rare case where a variable or expression is passed
to routine_id(), the shrouder must mark all routines that
are visible at that point in the code, so that none of them
can be renamed, just in case they are targetted by that routine id call.
This tends to put naming pressure on the shrouder and
this dynamic routine id case hasn't been tested as well.
I intend to go through all of this very carefully
before the next release.

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

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu