[Top] [All Lists]

Re: I-D ACTION:draft-daboo-sieve-include-03.txt (fwd)

2005-08-25 08:30:16

On Thu, Aug 25, 2005, Kjetil Torgrim Homme 
<kjetilho(_at_)ifi(_dot_)uio(_dot_)no> said:

On Thu, 2005-08-25 at 01:59 +0000, Aaron Stone wrote:
According to the changelog in the ietf-variables-06 draft, a clarification
was made that variables do span includes. I could not find where this was
specified in the document, however. It sounds like the open issue is being
left to the include draft to resolve ;-)

this is the text which was added:

"All variables have global scope: they are visible until processing

I find this sufficiently clear to answer "yes" to all three of Cyrus'
questions, but then I wrote it :-)

I wouldn't have gotten that on my own in a million years, neither in
implementing a Sieve interpreter nor in writing my own scripts. 

Applying a PHP-ish model, each file would have a totally clean namespace.
If you wanted a variable to cross both namespaces, you would declare it
Global. In the ietf-variables-06 draft, section 4.1, gives a list of
modifiers. How about a :global modifier?

that would be a no-op, but a :local modifier is definitely possible if

It would only be a no-op if the default namespace is the global namespace
;-) Unless you guys are already deeply along the path of a single
namespace, I believe a per-file namespace is less likely to cause
confusing results.

A :local modifier would do the trick. The text in the drafts should be
more explicit about there being a single global namespace for all scripts.

The very presence of a :global and/or :local modifier makes for an
explanation that will clarify things for implementors and end users alike.
On this point, what do folks think?