Your example may have worked if you had used $(currentTiddler)$. The $(variable)$ syntax is used when you have an external variable that you want to insert in a string. The $argument$ syntax is used when you are passing an argument to a macro.
If all you want to do is create a unique tiddler path for each macro instance, you might consider using the qualify macro (https://tiddlywiki.com/#qualify%20Macro ) Good luck! On Saturday, October 5, 2019 at 6:10:37 AM UTC-7, Rick Yagodich wrote: > > I am attempting to create a macro that, in part, sets a system tiddler > state based on behaviour. > > While the basics are achievable, I need to create a different system > tiddler in each instance where the macro is used. This will depend on two > elements: > > - The tiddler that the macro is used in, and > - The tiddler that the macro transcludes > > Now, within the macro, I can use the following line: > > <$text text=<<currentTiddler>>/> > > This will output the name of the tiddler the macro is used within. > > However, I need to use currentTiddler in the name of the system tiddler > path. In effect, where *t* is the name of the transcluded tiddler, I want > to set: > > <$set name="controller" value="$:/state/$currentTiddler$/section/$t$"> > > But, in this case, *$currentTiddler$* isn't resolved. It doesn't matter > if I write it as *<<currentTiddler>>* instead. > > How am I supposed to get the name of currentTiddler to resolve into my > controller path? > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/486c0e4a-356e-4234-97d0-a42bfde4026c%40googlegroups.com.