Re: A few more shrouding niggles
- Posted by Robert Craig <rds at RapidEuphoria.com> Oct 14, 2003
- 512 views
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