I suppose that's what I get for hitting the send key at the wrong time...
Let's try this again.
On Fri, 12 Mar 2004, Mark E. Mallett wrote:
On Fri, Mar 12, 2004 at 12:11:19AM -0500, Rob Siemborski wrote:
In addition to Ned's comments (which I tend to agree with), does
implementing this sort of folder semantic on a per-message basis even
make any sense?
Let's presume the script:
if envelope :all :contains "to" "rjs3+a@" {
fileinto "INBOX.foo";
} elsif envelope :all :contains "to" "rjs3+b@" {
fileinto :keep-maximum-storage 100k "INBOX.foo";
}
Does this mean the script only enforces the limit when an "rjs3+b" message
arrives? If so, is that even useful?
That does look like that is what that script would do, and no, it's
probably not useful. I would call that a bad script.
Well-defined syntax shouldn't let you write a "bad script". I'd argue
that this particular addition to sieve is likely to be extraordinarly
confusing to users. If I have 10 places in a script where I can file into
a particular mailbox, I shouldn't need to remember that in each of those
places I need to set the *same* max storage limit.
There's always a conflict between exposing and encapsulating language
facilities. For example, the original poster had the notion of adding
a folder definition that would ensure that all operations into that
folder would operate the same way. I wouldn't want that: I generally
go for the low-level granularity that lets the script writer have
complete control (and responsibility for their own errors).
If such an overriding defaults system existed, this problem wouldn't
exist. You could even have both a default value, *and* allow people to
override it.
Though, in the end, I think this is something best left as a folder
attribute.
-Rob
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob Siemborski | Andrew Systems Group * Research Systems Programmer
PGP:0x5CE32FCC | Cyert Hall 207 * rjs3(_at_)andrew(_dot_)cmu(_dot_)edu *
412.268.7456
-----BEGIN GEEK CODE BLOCK----
Version: 3.12
GCS/IT/CM/PA d- s+: a-- C++++$ ULS++++$ P+++$ L+++ E W+ N(-) o? K- w-- O-
M-- V-- PS+ PE+ Y+ PGP+ t+@ 5+++ X- R@ tv-- b+ DI+++ D++ G e++ h+ r- y?
------END GEEK CODE BLOCK-----