+Syntax could vary greatly here, both for the [[PreprocessorDirective]] and
+for the condition itself.
+
+> I think this is a good thing to consider, although conditionals tend to
+> make everything a lot more complicated, so I also want to KISS, and not
+> use too many of them.
+>
+> I'd probably implement this using the same method as pagespecs, so 'and',
+> 'or', '!', and paren groupings work.
+>
+> It could be thought of as simply testing to see if a pagespec matches
+> anything, using a slightly expanded syntax for the pagespec, which would
+> also allow testing for things like link(somepage),
+> created_before(somepage), etc.
+>
+> That also gives us your "any pagespec" for free: "page or page or page".
+> And for "all pagespec", you can do "page and page and page".
+>
+> For plugins testing, maybe just use "enabled(name)"?
+>
+> I'm not sure what the use cases are for thispage, sourcepage, and
+> included. I don't know if the included test is even doable. I'd be
+> inclined to not bother with these three unless there are use cases I'm
+> not seeing.
+>
+> As to the syntax, to fit it into standard preprocessor syntax, it would
+> need to look something like this:
+>
+> \[[if test="enabled(smiley)" """foo"""]]
+>
+> --[[Joey]]