Description
Quoting is broken for certain special characters: * + , ' and for '/.'.
As a side effect, if you create a page with a name containing a single quote (such as Ben's Wiki), you will not be able to use the double-click method to edit that page, because the JavaScript statement is broken with raw single quote.
<body ondblclick="location.href='/benwiki/Ben's_Wiki?action=edit'" lang="en" dir="ltr">
Steps to reproduce
Try one of the example links
Example
Test links:
/. - there is no way to create this page, - expand to current path
/.. - there is no way to create this page, - expand to parent
/.Name - should be a link to sub page named '.Name'
Start/.End - should be a link to page named "Start/.End"
../.Name - should be a link to sibling named '.Name'
Single'Quote - should be escaped (to fix the editor problem)
* - should be escaped
+ - should be escaped
, - should be escaped
Main_Page - should be converted to whitespace .. ok
Details
This Wiki
Workaround
Don't use apostrophes in page names?
Discussion
The problem is broken url quoting function. It handle some characters as safe although they hare not considered safe by urllib.quote function, and it handle specially the case of '/.' in a broken way.
Plan
Tested on Python 2.4 and 2.3.4. Needs testing on Python 2.2.x and on Windows.
- Priority:
- Assigned to:
- Status: fixed in patch-716