Description
The navigation macro (see HelpOnMacros) fails with a traceback about "multiple repeat" due to the pagename being used as a regex, what fails if the pagename is no valid regex.
Your task is to reproduce the problem with moin 1.6 code (use 1.5 in case it isn't reproducable), fix the problem in 1.6 (hint: re.escape) and provide a diff and close the bug.
You also have to do a full review of the moin source code and search for places where pagenames are wrongly used as a regex (either mark the places you find with a sourcecode comment like # XXX re.escape missing, OR - if easy - fix those places). Provide another diff of this work.
This task needs 12 hours of work and has to be completed in 10 days.
Steps to reproduce
- do this...
Example
Textkörper der den Fehler verursacht hat
[[Navigation(children,1)]] [[TableOfContents]] ---- == Allgemein == '''Wie werten unsere C++ Programme ihre Commandozeilen nach Parametern aus?''' Es gibt in der ToolsLib irgendwo eine Möglichkeit das damit zu tun. Praktisch hat Cornelia es wohl einmal benutzt, ansonsten zeigt ein Blick in die ToolsLib, jeder hat seine eigene Wege um die Parameter zu definieren und auch selbst zu parsen. Zum Teil hahnebüchend, wie dort die Reihenfolge der Parameter wichtig ist, wie die Notation der Parameterübergabe zwischen den verschiedenen Programmen wechselt. TorstenWill und AndreasHüwel etablieren nun diesen Standard: Nimm die BoostLibrary - damit können diese Dinge GNU konform ausgewertet werden und man hat ein ganzes Entwicklerteam das kostenlos regelmäßig Debugging und Erweiterungen macht - das auch noch eine verbreitete Notation imlpementiert. Siehe CodingConventions == Wie geht es == * TorstenWill
Component selection
- Navigation macro
Details
MoinMoin Version |
|
OS and Version |
|
Python Version |
|
Server Setup |
|
Server Details |
|
Language you are using the wiki in (set in the browser/UserPreferences) |
|
Workaround
Renamed the Page title from "HowtoParseCommandLinesInC++" to "HowtoParseCommandLinesInCpp" - now it works!
Whatever that makes different :-/
- It removes the ++ which is not a valid regex. I have to have a deeper look at it, but I think this is a bug (the pagename should be regex-escaped).
Discussion
Bug report misses version details.
Plan
- Priority:
- Assigned to:
- Status:
- fixed in moin/1.6 branch by changeset 2442:50d29cf6d66e
- fixed in moin/1.7 branch by changeset 2962:5175bd01d5d8