Page MenuHomePhabricator

RemoveTemplateParameter will incorrectly remove some parameters not listed
Closed, ResolvedPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • In a module call Tools.RemoveTemplateParameter(s)
  • Run on an article that includes Infobox officeholder with the "jr/sr" parameter specified

What happens?:
The jr/sr parameter is removed along with the specified parameter(s)

What should have happened instead?:
Only the specified parameter(s) removed

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):
AWB up to 6.5.0.0

Other information (browser name/version, screenshots, etc.):
The regex "param" used in GetTemplateParameterValues() is too restrictive when matching parameter names. It only recognizes the \w class, space, and hyphen. Experiment suggests that parameter names can contain any Unicode characters other than |, =, and { (and possibly }, not sure). We could just add / to the permitted characters, or provide a negated list of these three or four characters.

Event Timeline

Rjwilmsi claimed this task.
Rjwilmsi subscribed.

rev 13029 allow forward slash as valid in template parameter names

I think it's preferable to just add /, rather than introduce risk of unexpected problems by using an exception list.