Module talk:Unsubst
Appearance
Edit request on 25 November 2013
![]() | This edit request has been answered. Set the |answered= parameter to no to reactivate your request. |
I get this error:
Lua error in Module:Unsubst at line 18: attempt to call field 'isSubsting' (a nil value).
Shouldn't that be isSubstring? ☠MarkAHershberger☢(talk)☣ 16:27, 25 November 2013 (UTC)
Note: changed request from {{edit template-protected}} to {{edit protected}} because it is cascade protected. Technical 13 (talk) 16:41, 25 November 2013 (UTC)
Note: The module name is "Unsubst", implying a reversal of "subst"; "subst" is a verb, being Wiki shorthand for substitute; so the present participle would be "substing", and may be used in a phrase like "it is substing", hence I think that "isSubsting" is a reasonable name for an identifier, such as a function returning a Boolean result. --Redrose64 (talk) 17:22, 25 November 2013 (UTC)
Not done: As Redrose64 explained, isSubsting is the correct spelling. Where are you getting this error? Given that we haven't been inundated by people complaining that every maintenance tag (e.g. [citation needed]) is giving script errors, I am skeptical that you're seeing this here on enwiki. On non-WMF wikis, do note that you will need an extremely recent version of Scribunto (or you will have to cherry-pick gerrit:93019). Anomie⚔ 18:09, 25 November 2013 (UTC)
You can avoid using |$N=
You can get the template name from mw.getCurrentFrame():getTitle()
— Keφr 08:59, 27 March 2014 (UTC)
- I retract that. It does not seem to work. Shame, really. — Keφr 09:28, 27 March 2014 (UTC)
- Oh wait, the proper code is
mw.getCurrentFrame():getParent():getTitle()
, and it does work. (And above, I actually meantmw.getCurrentFrame().parent:getTitle()
, which does not.) — Keφr 09:50, 27 March 2014 (UTC)- Sandbox version, needs review and deploy. @Mr. Stradivarius and Jackmcbarn: any final comments? Or should we do this thing? My only comment is that I was worried about the expensive mw.title.new until I realized that only gets called on subst so it'd only be a problem if someone adds ~500 substed maintenance tags in one edit (if even that). Anomie⚔ 10:38, 27 March 2014 (UTC)
- This is ready to go now, as far as I can see. However, I did tweak the error messages, as they were showing the #invoke call as
{{#invoke:Unsubst|unsubst}}
, when actually it's just{{#invoke:Unsubst|}}
. As for the expensive mw.title.new, I agree that if it only gets called on subst then it shouldn't be a problem. — Mr. Stradivarius ♪ talk ♪ 12:20, 27 March 2014 (UTC)- @Anomie: Is $N still deliberately in specialParams? (Do we need specialParams at all anymore?) Jackmcbarn (talk) 22:21, 27 March 2014 (UTC)
- Mr. Stradivarius restored it in [1], and I agree with his reasoning. Anomie⚔ 20:23, 29 March 2014 (UTC)
- Ah, I was under the impression that that was done now. Anyway, looks good then. Jackmcbarn (talk) 01:35, 30 March 2014 (UTC)
- I've updated the module. — Mr. Stradivarius ♪ talk ♪ 01:54, 30 March 2014 (UTC)
- Ah, I was under the impression that that was done now. Anyway, looks good then. Jackmcbarn (talk) 01:35, 30 March 2014 (UTC)
- Mr. Stradivarius restored it in [1], and I agree with his reasoning. Anomie⚔ 20:23, 29 March 2014 (UTC)
- @Anomie: Is $N still deliberately in specialParams? (Do we need specialParams at all anymore?) Jackmcbarn (talk) 22:21, 27 March 2014 (UTC)
- This is ready to go now, as far as I can see. However, I did tweak the error messages, as they were showing the #invoke call as
- Sandbox version, needs review and deploy. @Mr. Stradivarius and Jackmcbarn: any final comments? Or should we do this thing? My only comment is that I was worried about the expensive mw.title.new until I realized that only gets called on subst so it'd only be a problem if someone adds ~500 substed maintenance tags in one edit (if even that). Anomie⚔ 10:38, 27 March 2014 (UTC)
- Oh wait, the proper code is
mw.isSubsting not working
I have a local wikipedia copy and get the 'Lua error in Module:Unsubst atline 18: attempt to call field 'isSubsting' (a nill value)' error and I have changed the Unsubst module to the new one but still get the error, is there anything else I need to do?
- Yes, you need to upgrade Scribunto to the latest version. Wikipedia uses the cutting-edge version of Scribunto, so you will need to go to the download page and select "master (latest development version)" from the drop-down menu. Earlier versions of Scribunto don't have the mw.isSubsting function. Although it is called the "latest development version", it should be stable enough to use in production. (If it's good enough for Wikipedia, it's probably good enough for you.) Hope this helps. — Mr. Stradivarius ♪ talk ♪ 12:19, 22 April 2014 (UTC)
- Also, if you don't want to upgrade, then you can use the old version of the module. That will work just fine, but you will need to specify the
$N
(template name) parameter in the #invoke text, whereas in the latest version this is not necessary. — Mr. Stradivarius ♪ talk ♪ 12:25, 22 April 2014 (UTC)
- Also, if you don't want to upgrade, then you can use the old version of the module. That will work just fine, but you will need to specify the