When you use the $(variable)$ construction inside a macro, it substitutes 
the text literally, without rendering.

So when the #*#@&* DO things render? And how do you control it? This is the 
kind of thing that can make you bang your head against the wall for hours.

Fortunately, we now have the <$wikify> widget. The <$wikify> widget renders 
the text it is given, allowing a more sane programming flow. So your code 
can now be written:

\define myStateTid() """$:/state/$(currentTiddler)$"""

\define buttontest2()
<$wikify name=hawaii text=<<myStateTid>>>
  <$button set=<<hawaii>> setTo="edit">Press2</$button></$wikify>
\end

<<buttontest2>>

HTH
Mark

On Thursday, August 10, 2017 at 7:15:50 AM UTC-7, myst...@gmail.com wrote:
>
> I thought i had finally wrapped my head around the difference between 
> $var$ and $(var)$, so i went to test it.
> Below is my test, and I am at a complete loss for why buttontest1 renders 
> the markup instead of the button, and why buttontest2, when pressed, 
> creates a tiddler that is the exact markup of <<myStateTid>>.
> While calling <<myStateTid>> by itself renders as expected.
>
> Please, someone explain this to me.. perhaps using small words. :)
>
>
>
> \define myStateTid() """$:/state/$(currentTiddler)$"""
>
> \define buttontest1()
>     <$button set="$(myStateTid)$" setTo="edit">Press1</$button>
> \end
>
> \define buttontest2()
>     <$button set=<<myStateTid>> setTo="edit">Press2</$button>
> \end
>
>
> <<buttontest1>>
> <<buttontest2>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/64bcffe9-584d-4570-b36d-f600ae2ae61a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to