Subject: Re: Are option extensions exclusive?

From: Michael Haardt <[email-masked]>
Date: Thu, 12 Aug 2004 16:29:47 +0200

> Extensions can be mutually exclusive, but normally won't be.

I was talking specifically about options.  Say extension "a" adds
":a" for a command and extension "b" adds ":b" for the same command.

Obviously, the script can use both

  command ":a"

and

  command ":b"

But can I use

  command ":a" ":b"

?

Each extension defines how the option modifies the semantics of
and only the /base/ command and its /base/ options.  In case the
extension options interact semantically, there is a problem.

> > o  Option extensions can be used together.  Extensions are supposed
> >    to address completely different issues, thus not interacting
> >    badly.  I could imagine that existing implementations work that way
> >    and I prefer it.
>
> This is the normal case.

Well, then it should be specified when this applies and when it doesn't.

Michael

---

From: [email-masked]
Date: Thu, 12 Aug 2004 07:49:58 -0700 (PDT)

Again, that depends. If:

(a) The interpreter supports both extensions.
(b) Both are listed in the require clause.
(c) Both extensions can be used at the same time.

Then the answer is "yes". Isn't this obvious?

				Ned

---

From: Alexey Melnikov <[email-masked]>
Date: Thu, 12 Aug 2004 15:55:08 +0100

I just want to make a general observation that this is nothing unique to 
Sieve. For example, there is the same issue for IMAP protocol extensions.
So each extension should try to describe all extensions it is 
incompatible with, or when there are some special interactions.

---

From: Cyrus Daboo <[email-masked]>
Date: Thu, 12 Aug 2004 11:43:19 -0400

Hi Michael,

>   command ":a" ":b"

Look at the base spec's description of positional, tagged and option 
arguments in section 2.6 - I think that makes it pretty clear how to handle 
this.

Also the extensibility section (6) in the base spec requires extensions to 
explicitly state how they interact (or not) with other actions (that is a 
MUST).

-- 
Cyrus Daboo