= 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