andrew at erlenstar.demon.co.uk
Thu Mar 8 05:29:56 PST 2001
>>>>> "Charles" == Charles Lindsey <chl at clw.cs.man.ac.uk> writes:
>> I reiterate my objection that a single wildmat, and a
>> comma-delimited list of (possibly negated) wildmats, are separate
>> syntactic entities and should not be combined in this way.
Charles> I disagree.
well, good for you. How many news clients or servers have you written
in the past couple of years?
>> The combined approach disguises the fact that we are making
>> incompatible changes to commands such as LIST ACTIVE, and has no
>> justification either from a specification or implementation point of
Charles> It provides a useful extension of functionality (one which I
Charles> would have found useful on several occasions in the past),
in which case the fast that it is new functionality should be clearly
Charles> AIUI, the extension (or something very close to it) is
Charles> already present in INN.
actually, it's not. INN-CURRENT contains a wildmat routine that
includes support for ',','!' and '@', but it does not in fact make use
of it in a way that conforms with the proposed text. In particular,
commands like NEWNEWS that previously worked with a comma-delimited
list still split the supplied pattern on ',' characters without regard
>> In fact, the present text severely interferes with attempts to
>> handle complex pattern lists efficiently.
Charles> I don't see why.
I want to be able to match the components right-to-left rather than
left-to-right in some contexts (the rightmost match wins, after all).
I also special-case in some cases where no metacharacters are present,
since I have known-unique hash values already computed.
Charles> In any case, complex pattern lists are unlikely to arise
Charles> during routine newsreading or transport (with the exception
Charles> of NEWNEWS, which already has this feature).
It's partly NEWNEWS that concerns me. (INN still treats NEWNEWS as a
second-class citizen, I don't.)
Clive> [W6: the grammar does not treat , in sets as special. This
Clive> means that the wildmat "a[b,c]d" is a single pattern that
Clive> matches the three strings "abd", "a,d", and "acd". Are we
Clive> happy with this ? It matches existing practice
>> it does no such thing. Existing practice, where a list of wildmats
>> is expected, treats ',' as a delimiter without any escape
>> mechanism (and none is needed).
Charles> There is NO EXISTING PRACTICE on this. For a start, the
Charles> whole wildmat-set business is new since RFC 977, so there is
Charles> no existing definition in the matter (and it only arises in
Charles> the NEWNEWS command currently).
well, exactly. Every single existing implementation of NEWNEWS,
including the one in INN-CURRENT, will treat ',' as a delimiter with
no possible escape. Since commas can't appear in newsgroup names, the
only effect of the new specification is to require that if a client
supplies a pattern like "foo\,*", it matches nothing (rather than
everything as at present). While there seems little point for a client
to do this, it is nevertheless strictly in accordance with the text
Charles> And in the case of XPAT, if it has ever arisen it SHOULD NOT
Charles> have been treated as a separator of alternative patterns
Charles> because that has not been a feature of wildmats until
Charles> now. Implementors who continue to offer XPAT will have to
Charles> decide what to do in this new situation, and following
Charles> Clive's suggestion is likely as easy a way for them to
Charles> proceed as any other; certainly, existing practice does not
Charles> enter into it.
well, INN-CURRENT seems to have quietly changed the meaning of XPAT
such that commas are now used for alternation; that means that there
are now even more incompatible implementations than previously (at
least four now).
Clive> but means that you can't split a wildmat into the component
Clive> patterns just by looking for unescaped commas.
>> which is intolerable.
Charles> Respectfully disagree.
I refer you to my initial comment.
More information about the ietf-nntp