From 1df4c29d73073788ba3859668112e8bb46171a6c Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 1 Oct 2022 09:47:26 +0100 Subject: [PATCH] Relax the restriction on the let widget being unable to create variables starting with a dollar --- core/modules/widgets/let.js | 8 +++----- editions/tw5.com/tiddlers/widgets/LetWidget.tid | 5 ++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/core/modules/widgets/let.js b/core/modules/widgets/let.js index 5c4b3aa90..afd3a2f20 100644 --- a/core/modules/widgets/let.js +++ b/core/modules/widgets/let.js @@ -51,11 +51,9 @@ LetWidget.prototype.computeAttributes = function() { $tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) { var value = self.computeAttribute(attribute), name = attribute.name; - if(name.charAt(0) !== "$") { - // Now that it's prepped, we're allowed to look this variable up - // when defining later variables - self.currentValueFor[name] = value; - } + // Now that it's prepped, we're allowed to look this variable up + // when defining later variables + self.currentValueFor[name] = value; }); // Run through again, setting variables and looking for differences $tw.utils.each(this.currentValueFor,function(value,name) { diff --git a/editions/tw5.com/tiddlers/widgets/LetWidget.tid b/editions/tw5.com/tiddlers/widgets/LetWidget.tid index 2d2b73338..b27306cfb 100644 --- a/editions/tw5.com/tiddlers/widgets/LetWidget.tid +++ b/editions/tw5.com/tiddlers/widgets/LetWidget.tid @@ -1,5 +1,6 @@ title: LetWidget created: 20211028115900000 +modified: 20221001094658854 tags: Widgets caption: let @@ -12,10 +13,12 @@ caption: let The content of the <<.wid let>> widget is the scope for the value assigned to the variable. |!Attribute |!Description | -|//{attributes not starting with $}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable | +|//{attributes}// |Each attribute name specifies a variable name. The attribute value is assigned to the variable | Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate. +<<.note """<<.from-version "5.2.4">> There is no longer any restriction on using variable names that start with the $ character.""">> + ! Examples Consider a case where you need to set multiple variables, where some depend on the evaluation of others.