On 10/22/07, Steve Bennett stevagewp@gmail.com wrote:
IMHO:
A [Foo] Bar = A Foo Bar, A Bar A [Foo|Moo] Bar = A Foo Bar, A Moo Bar A [Foo|Moo|] Bar = A Foo Bar, A Moo Bar, A Bar A [[Foo|Moo]] Bar = same as previous, but discouraged.
It keeps the total syntax down to three elements: [], |, and an escaping mechanism, presumably . Fortunately [, ], | and \ are all extremely uncommon in (Wikipedia) page titles.
For self-consistency, how about: A [Foo] Bar = A Foo Bar, A Bar A [Foo|Moo] Bar = A Foo Bar, A Moo Bar, A Bar A [Foo|Moo|] Bar = A Foo Bar, A Moo Bar
That is, the final pipe/bracket combo would be used to make the bracketed choices a required part of the expansion. That's consistent with the use of [Foo] to mean Foo is optional (you could then do [Foo|] to mean Foo is required, although that's just a waste of space). It'd also probably be (logically) easier to parse.
Also, there's no reason to implement an optional (but already deprecated) syntax if we're creating something from scratch.
--Darkwind