Forum OpenACS Development: Re: uplevel with passed variables
It creates the situation where procs are making assumptions about the callers variable space. Relying on procs to setup variables for you creates code that is difficult to maintain. Variables are used that pop up out of nowhere, with no indication who actually set them in the first place.
Upvar and Uplevel have been abused in this project, mainly, I think, to work around shortcomings of tcl that have since been improved/corrected in 8.x.
For proper use of Upvar and Uplevel, see Rob Mayoff's guidelines:
Rob's guidelines above are very good, thanks for that reminder.