Hello again! I've actually got a solution to this problem, but I'm not particularly happy with it and would like to know if there's a better way -- or, for that matter, a more "standard ConTeXt" way -- of solving it. I'm building an environment that I'd like to be able to use in the following way: \setupmyenv[paramA=This] \startmyenv[paramA=That] A bit of text. \startmyenv More text. \stopmyenv \stopmyenv In particular, when it's used this way, I would like the inner environment to use the "This" version of paramA, rather than the "That" version. Moreover, since the parameter-handling code is (in the real example) fairly complicated, I'd like to reuse the same macro to handle it in both the \setupmyenv and the \startmyenv cases. I'm currently doing this in the following way: * \setupmyenv calls \getparameters[\??myenv][#1], where \??myenv was created with \definesystemvariable{myenv}. This creates a set of \@@myenvparamA and related macros containing all the global settings. * \startmyenv calls \copyparameters[\??myenv_][\??myenv][...], thereby copying all of the defaults into \@@myenv_paramA and so forth, which provide "local" values of all of the settings. * \startmyenv then calls \getparameters[\??myenv_][#1], thus overwriting the relevant local settings -- but not the global settings -- with the new values. The two \getparameters commands (and the stuff that surrounds them) is identical aside from "\??myenv" versus "\??myenv_", and thus can be enclosed in a shared macro. Also, since \startmyenv does all this in a group, the local settings on the inner environment don't contaminate the ones in the outer environment. This works, but I'm not especially happy with it -- the \copyparameters gets called every time the environment is started, and this seems rather a lot of excess work when most of the values don't change. It's also a source of programming errors, because I have to remember to update the list each time I change it. Any suggestions for a better solution? I couldn't find any environments in the ConTeXt core that do this sort of nesting.... Also, I'm trying to follow "ConTeXt standard style" as much as possible in this -- I'm hoping to write up a TUGboat article on it eventually -- and, while the trailing underscore works perfectly well to create a "local" version of a "global" variable, I'm wondering if there's a more standard way of doing that.... Thanks! - Brooks