2009/6/26 Robert Rohde <rarohde(a)gmail.com>om>:
My understanding has been that the PREprocessor
expands all branches,
by looking up and substituting transcluded templates and similar
things, but that the actual processor only evaluates the branches that
it needs. That's a lot faster than actually evaluating all branches
(which is how things originally worked), but not quite as effective as
if the dead branches were ignored entirely.
(I could be totally wrong however.)
You're right that dead code never reaches the parser (your
"processor"), but ideally the preprocessor wouldn't bother expanding
it either. I have vague recollection that it was fixed with the new
preprocessor, as Simetrical said, but I have no idea how much truth
there is in that.
Roan Kattouw (Catrope)