Last modified: 2011-04-30 01:16:46 UTC
Created attachment 6882 [details]
Simple patch for this issue
wfMsgExt() calls OutputPage::parse()
OutputPage::parse() calls $wgParser->parse($text, $wgTitle, $popts, $linestart, TRUE, $this->mRevisionId), i.e $clearState = true.
So wfMsgExt() called by parser extension which is implemented using a tag hook leads to unsubstituted "UNIQ-...-QINU" inside the final article text in some cases, because all substitutions remembered before calling wfMsgExt() are lost.
That's not good :)
There is a broader issue here, which is that Parser::parse() is not supposed to be called recursively. wfMsgExt() will call Parser::parse() if its parse or parseinline option is set (one of them is set by default IIRC).
*** This bug has been marked as a duplicate of bug 17329 ***