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

           Summary: Message handling in parser
           Product: MediaWiki
           Version: 1.15-svn
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: Page rendering
        AssignedTo: [email protected]
        ReportedBy: [email protected]
            Blocks: 9762,14959,16129,16744


There are some bugs open about strip markers being exposed, see bug 9762, bug
14959, bug 16129, bug 16744 (perhaps more?)
The issue seems to be always the same: Some tag extension or parser function
innocently calling wfMsgExt(..'parse'), wfMsgExt(..'parseinline') or in case of
transcluded special pages also $wgOut->addWikiText().
>From within a parse, these calls lead to recursive execution of
$wgParser->parse() and thus clearing strip state.

Some possible solutions I can think of:
* Fix all extensions and special pages that call these functions by replacing
them with the appropriate non-parsing version of wfMsgWhatever AND add a big
warning to the appropriate places to keep extension authors from using the
former.
* Use another parser for message parsing. Luckily, this is already done within
MessageCache::transform, so we could just reuse this second parser for
$wgOut->parse().
* Add an own message parsing function to the parser

The third is probably the cleanest solution, as it would also fix the
dependency of $wgTitle, but a bit hard to implement, as all the tag extensions
and parser functions would have to be changed, too.

So, for now, the second solution seems the easiest and most reasonable to me.
I'll add a patch for this in a moment, to clarify.


-- 
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