= Description =

## Please read this page. Lines prefixed with ## such as this one are comments,
## you can remove them (except for those after the "Plan" section.)
## Please follow the instructions given in those comments and the text.
## After creating the bug page, please subscribe to it! We may have questions
## that only you can answer, and if you get email when your bug changes it'll
## be much faster to get it fixed since you can answer the questions!

The ''format'' method in the '''text_creole''' ''Parser'' class has a different signature than the same method in the '''text_moin_wiki''' ''Parser'' class. This causes ''wikiutil.renderText'' to fail with the ''Parser'' parameter is set to ''text_creole''.

== Steps to reproduce ==
## Describe the steps needed to reproduce the bug. If we can't reproduce it, we  probably can't fix it.
 1. Create a simple macro like:
{{{
from MoinMoin.Page import Page
from MoinMoin import wikiutil


Dependencies = ["namespace"]

def macro_text(macro, page_name, parser=u'text_moin_wiki',):
    request = macro.request
    formatter = macro.formatter

    try:
        WikiParser = wikiutil.importPlugin(request.cfg, 'parser', parser, function="Parser")
    except wikiutil.PluginMissingError:
        WikiParser = None

    page = Page(request, page_name)

    if page is None:
        return ''
    if not request.user.may.read(page_name):
        return ''
    else:
        return wikiutil.renderText(request, WikiParser, page.getPageText())

}}}
 1. Create a page A like (change ''SomeWikiPage'' to a page name with moin wiki markup):
{{{
Test Page A:
<<Test(SomeWikiPage)>>
}}}
 1. Create a page B like (change ''SomeCreolePage'' to a page name with creole markup):
{{{
#format text/creole
Test Page B:
<<Test(SomeCreolePage, "text_creole")>>
}}}
 1. Page A will render ''SomeWikiPage''
 1. Page B will throw an exception indicating that ''format'' received and invalid parameter ''inhibit_p''

== Example ==
##Add URL that show the bug, screenshot or test wiki markup that fail...

##URL: 

##{{attachment:screenshot.png}}

##{{{
##Example wiki markup that fail
##}}}

== Component selection ==

## Where you think is this bug happening ? (general, plugin [plugin name], theme [theme name], ...

Problem appears to be in the signature of format in text_creole.py

== Details ==

## If you got a traceback, please save the traceback page as html and attach here:
## [[attachment:traceback.html]]

## if the bug is in this wiki, just kill the table and write: This Wiki.

## If a traceback is not available, please fill in the details here:
|| '''!MoinMoin Version''' || 1.9.3 ||
|| '''OS and Version''' ||  ||
|| '''Python Version''' || 2.6 ||
|| '''Server Setup''' || ||
|| '''Server Details''' || ||
|| '''Language you are using the wiki in''' (set in the browser/UserPreferences) || ||

== Workaround ==
## How to deal with the bug until it is fixed

Changing the signature of format in text_creole.py works around the problem. 
{{{
def format(self, formatter, inhibit_p = False):
}}}

Of course the format method doesn't yet use the parameter so changing the value won't have any effect.

= Discussion =
We need a better solution for this, as it not only affects the creole parser or other builtin parsers, but ALL parsers in general.

== fix it for all places ==
{{attachment:inhibit_p.patch}}

= Plan =
## This part is for Moin``Moin developers:

 * Priority: 
 * Assigned to:
 * Status: reopen if not fixed by http://hg.moinmo.in/moin/1.9/rev/ff39884957af

----
## If you are a moin core developer, replace the category to Category* in these cases:
## Category MoinMoinNoBug - if this is not a bug.
## Category MoinMoinBugConfirmed - if you can confirm the bug on current code.
## Category MoinMoinBugFixed - after the bug is fixed in current code.
CategoryMoinMoinBugFixed