well... Jooel is a bit of a purist when it comes to UDFs... even more so than Jens. There is nothing to stop anyone from creating UDFs that behave more like subroutines with global var dependencies or interactions.

About the NoVarsInStrings... that one you have to be careful with, particularly if using Execute('$$bla bla bla'). Fortunately, SetOption() returns the current setting so that it may be tested and restored.

Jens,
Thanks to Richard and you for the contribution. When quoting Richard's contribution, may I suggest you delimit it with <snip> and </snip> or something similar. It is not clear where his contribution ends and your's continues.

While I don't wish to put one above the other in importance, I think you should lead with guidelines before delving into Richard's well detailed examples. My concern is that it may overwhelm some early on.

[ 10. March 2003, 00:18: Message edited by: LLigetfa ]
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.