I think REQUEST.set is fine here. It just has an ugly spelling because nobody will admit it's necessary and everybody pretends they don't do it. ;-)
I dislike the 'set' hammer too, but there's one scenario in which it seems to be unavoidable: if you need to set a variable which must be accessed from several templates. For example, I may have a navigation bar in one template, the colour of which I want to change depending on tests which take place in a content template. Since <dtml-let> can't span more than one template, is there any other way of manipulating a global namespace in the context of a single request? -- Chris McDonough Zope Corporation http://www.zope.org http://www.zope.com "Killing hundreds of birds with thousands of stones"