Last modified: 2011-11-14 16:36:32 UTC
When using variables outputting some special characters like "'" nested like: "[[:{{TALKPAGENAME:{{FULLPAGENAME:Isn't anything}} }}]]" will output a literal "[[:Diskussion:Isn't anything]]" instead of displaying a link. This is because their output is escaped with wfEscapeWikiText(). This also regards {{#ifeq:...}} where comparing variables output with text no longer works as one would expect. Is it really necessary to run the whole wfEscapeWikiText() over variables output? For example escaping the ' ' after 'ISBN ' to ' ' looks like a bad hack and kind of unnecessary to me. Even post-processing everything 'ISBN\s\d+' would seem a better solution to me. "{{TALKPAGENAME:{{FULLPAGENAMEE:Isn't anything}} }}" (don't miss the extra "E") won't work as well since 'TALKPAGENAME' will consider the 'FULLPAGENAMEE' invalid since it contains '&' as "'" becomes "'".
This is marked 1.17 -- have you tested on 1.18?
Alright, the link thing works in 1.18! Just {{#ifeq: {{FULLPAGENAME:Isn't anything}} | Isn't anything | true }} still won't work but I think this is described in other bugs already.
"[[:{{TALKPAGENAME:{{FULLPAGENAME:Isn't anything}} }}]]" works for me on trunk. {{FULLPAGENAMEE:Isn't anything}} }} is giving Isn%27t_anything, but that is rejected by {{TALKPAGENAME:Isn%27t_anything}} and {{TALKPAGENAMEE:Isn%27t_anything}} because "URL percent encoding sequences interfere with the ability to round-trip titles -- you can't link to them consistently." (Title::getTitleInvalidRegex)