https://bugzilla.wikimedia.org/show_bug.cgi?id=17865

--- Comment #5 from Brad Jorsch <[email protected]> 2011-11-11 
15:27:26 UTC ---
MediaWiki:Cite error refs without references is the only one of these three
called during ParserBeforeTidy. The specific problem seems to be that it misses
the call to replaceLinkHolders(), although it would be easy to construct a
message that missed the call to doBlockLevels() or some of the other operations
in there. I don't know whether using MessageCache::singleton()->parse() would
really be the best solution though; wouldn't that lose categories and such
added by the error message? A "ParserAfterParse" hook (called just after the
call to internalParse) might be better.


As for the other two, it seems to be a completely different problem. Consider
what happens when MediaWiki:Cite error references no text needs to be output:
 1. Cite loads MediaWiki:Cite error references no text, via wfMsgNoTrans. Let's
say that has the text "Cite error! [[help]]".
 2. Cite passes that through recursiveTagParse. The message is now something
like "Cite error! <!--LINK 12:0-->".
 3. This error text gets embedded into the wikitext to be output for the
<references/> tag.
 4. The wikitext to be output from the <references/> gets run through
recursiveTagParse again. So the link marker gets interpreted as a comment and
gets removed.

In this case, using MessageCache::singleton()->parse() would give the same sort
of problem that using external links gives for those messages. The best fix
would be to skip step 2 completely.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to