Closed tmedwards closed 2 months ago
This is due to recursion.
E.g., minimal working example:
<<widget "callee" container>>
_contents
<</widget>>
<<widget "caller" container>>
<<callee>>_contents<</callee>>
<</widget>>
<<caller>>fnord<</caller>>
What happens is that during the call to <<callee>>
it attempts to render the value of its _contents
variable. The problem is that value is the string '_contents'
that it received from <<caller>>
. Meaning that it renders its _contents
yielding _contents
, which renders its _contents
yielding _contents
, which…. Eventually, something fails.
The fix is that all _contents
variables within a container widget's body should be replaced with the value of its _contents
variable before rendering or something in that general vicinity.
This is being addressed by a documentation update that warns users against this circumstance.
Resolved by PR #263.
Investigate the following widget shenanigans.
Shenanigan 1
From the Twine Games Discord. Just see the source.
Source
https://discord.com/channels/389867840406159362/389868418855075840/1130873190936232007
Example Twee
Shenanigan 2
From the Twine Games Discord. See the source, but reproduced here.
Source
https://discord.com/channels/389867840406159362/389868418855075840/1130877699829805106
Example Twee