Page MenuHomePhabricator

Escape asterisks (*) in {{PAGENAME}}
Closed, ResolvedPublic

Description

Deleted pages beginning with asterisks (*) don't render properly; * is inappropriately converted to bullets, breaking the links and layout.

Example page:

http://en.wikipedia.org/w/index.php?title=*_Scrapper&redirect=no&rcid=437086872

Possibly related to 12974.


Version: unspecified
Severity: normal

Details

Reference
bz28588

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 11:30 PM
bzimport set Reference to bz28588.
bzimport added a subscriber: Unknown Object (MLST).

Not related to the page being deleted.

It has to do with en.wikipedia's local [[MediaWiki:Newpagetext]] and the like. They contain {{PAGENAME}} (which, when returning *, on a new line) starts a list.

{{PAGENAME}} should either escape * like it escapes ' to '.
Or the parser should tried it with <nowiki> (like some wikis do now by working around with {{#tag:nowiki|{{PAGENAME}}}}

This is a dupe of something else and was fixed a while back (Should be able to see the fix in the 1.18 release).

<rant>
OMG! Instead of finally fixing bug 12974, we’ll keep adding more and more workarounds, breaking more stuff in the process…

So, now that we patched asterisks in {{PAGENAME}}, code like “{{#ifeq:{{PAGENAME}}|*A|We are on *A|We are somewhere else}}” does not work http://jdem.cz/k9yn4. And we still did not fix code like 7{{#if:{{multiply}}|*|+}}3 http://jdem.cz/k9yp8.
</rant>

(In reply to comment #2)
The fix is r80511, this being ±a duplicate of bug 26781.

(In reply to comment #3)

<rant>
OMG! Instead of finally fixing bug 12974, we’ll keep adding more and more
workarounds, breaking more stuff in the process…

So, now that we patched asterisks in {{PAGENAME}}, code like
“{{#ifeq:{{PAGENAME}}|*A|We are on *A|We are somewhere else}}” does not work
http://jdem.cz/k9yn4. And we still did not fix code like
7{{#if:{{multiply}}|*|+}}3 http://jdem.cz/k9yp8.
</rant>

(In reply to comment #2)
The fix is r80511, this being ±a duplicate of bug 26781.

Clearly the solution is to not have programming constructs in wiki-syntax :P. (or just do {{#ifeq:{{PAGENAME}}|&#42;A|yes|no}} )

(from BugTriage of Mon, April 18 2011)

http://bugzilla.wikimedia.org/28588: Escape asterisks (*) in {{PAGENAME}}
Template problem or parser? Parser.
Source is en.wiki's [[MediaWiki:Newarticletext]] which uses {{PAGENAME}} and

puts * into wiki markup (list item)

We should escape this like we do with ' and " (to avoid '''{{PAGENAME}}'''

going crazy if title contains ''') ?

Or, internally "<nowiki>"-fy it. Workaround on some wikis is
{{#tag:nowiki|{{PAGENAME}}}} parser bug has been around forever newparser