I've been using twine since last spring. Since then, it's come a long way, especially with the recent updates to 1.4 and 1.4.1. So I thought I'd point out/suggest something that it seems to me may have been overlooked, development-wise. Then again, there may be a valid reason my suggestion won't be possible. I am but a mere mortal; it will be up to the coding gods to determine its feasibility. And its also possible that I am alone in thinking the following:
It's <<display>>. <<display 'whatever'>> is super useful. You can use it to reuse passages, snippets of passages, complex code, etc. That's all great. But here's my question: how many times have you used it as a crude fix for conflicting macros tags? For example, an <<if>><<endif>> statement nested inside another <<if>><<endif>>. Currently, it's not possible, not without sticking the nested statement in another passage and then using <<display>>. There are loads more examples of other macros that have similar conflicts.
It's not a huge thing. Easy enough to use <<display>> as a workaround. But it is a workaround. And if that's how it has to be, that'd be fine. It's minor.
But imagine a world, where you didn't have to. Where some kind of system was put in place that would let Twine identify which tags went together. Using the previous example, something like:
<<if stuff>> blah blah (<<if other stuff>> blah <<endif>>) blah blah <<endif>>
Wouldn't that be amazing? I may be alone in this, but I think it would.
Again, I don't know how reasonable it would be to do this. I'm guessing there's a good chance it isn't, since it wasn't done that way in the beginning. And again, it's a minor thing. Slapping <<display>>s in is second nature to me now, but I think having something like that would add another level of polish to Twine's syntax.
Edit: Consider this elephant shot and mounted
Comments
When I run this: It prints "blah blah () blah blah". Doesn't that make sense?
When I run this: It prints nothing. Isn't that what you want to happen?
I've never had trouble with nested if conditional branches once I learned how to use them correctly. Every combination of nested if I could think to test worked.
Edit: ninja'ed at midnight by L.
When I run this: It prints nothing. Isn't that what you want to happen?
Yes! Holy crap! I didn't know you could already do this! I didn't know you could put parenthesis around << >>, I just wrote that as an example of something I wished we could do. Don't I feel stupid... :-[