That worked for that situation, but now isn't working for another.  When I
pass a text reference, say {{!!faction}}, it links to a tiddler called
{{!!faction}}, instead of a tiddler whose title matches the faction field.
<https://www.avast.com/sig-email> This email has been sent from a
virus-free computer protected by Avast.
www.avast.com <https://www.avast.com/sig-email>
<#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Thu, Feb 4, 2016 at 7:34 PM, Eric Shulman <elsdes...@gmail.com> wrote:

> On Thursday, February 4, 2016 at 2:58:35 PM UTC-8, David Allen wrote:
>>
>> Actually, let me correct that.  What I showed is actually working fine.
>> What's not working is when I try to pass a variable created by a list
>> widget into a macro when the tiddler stored in currentTiddler contains
>> spaces in its title.  I'm doing the following:
>>
>> <$macrocall $name="ezlink" input=<<currentTiddler>>/>
>>
>> \define ezlink(input)
>>> <$link to=$input$>$input$</$link>
>>> \end
>>>
>>
> summary:
>    you need to add quotes around $input$ when used as a parameter in a
> widget...
> details:
>
> In the $macrocall, you correctly set input=<<currentTiddler>> ... where
> the <<...>> syntax retrieves the value from the variable.  However, when
> the macro is invoked, any embedded variables (e.g., $input$) are replaced
> by the corresponding value passed to the macro.  Thus, in your macro, if
> value of the input param is FOO, then the macro output is
> <$link to=FOO>FOO</$link>
>
> In contrast, if the input value is FOO BAR, then the macro output is
> <$link to=FOO BAR>FOO BAR</$link>
>
> Notice that, although the *text* of the link is FOO BAR, the parameter in
> the $link widget only recognizes the value FOO (i.e., up to the first
> space).  The remainder of the value is simply treated as another widget
> param -- one that is badly formed, as it doesn't follow the name="value"
> (or name=<<variable>>... or name={{reference}}) syntax.
>
> As noted above, the fix is to add quotes when assembling the $link widget
> params, like this:
> <$link to="""$input$""">$input$</$link>
>
> This ensures that the resulting output encloses the parameter so it is
> treated as a single value that contains quotes, rather than two separate
> params; i.e.,
> <$link to="""FOO BAR""">FOO BAR</$link>
>
> Note that I've used the *tripled* quotes syntax around the param value (a
> TW5 extension to the HTML syntax).  This ensures that if the param value
> contains a regular quote ("), it won't be treated as the ending delimiter
> for the value.  i.e., the following syntax:
> <$link to="$input$">$input$</$link>
>
> would result in an invalid result when passed FOO"BAR:
> <$link to="FOO"BAR">FOO"BAR</$link>
>
> Notice how the embedded quote following FOO *ends* the parameter value,
> leaving BAR" as invalid junk, but when triple-quoting, the result would be
> <$link to="""FOO"BAR""">FOO"BAR</$link>
>
> which allows the TW5 core to treat the embedded quote as just a regular
> character.  QED.
>
> enjoy,
> -e
> Eric Shulman
> TiddlyTools  / ELS Design Studios
> InsideTiddlyWiki: The Missing Manuals
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywiki/5xeFXiAMVZE/unsubscribe.
> To unsubscribe from this group and all its topics, 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/7120e4ff-2be2-42c0-b04c-a0a8b78d8783%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywiki/7120e4ff-2be2-42c0-b04c-a0a8b78d8783%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
David Allen

-- 
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/CALaYjLhMeBAvUQec0sCfXxJoPgbX0EQ9z_1HDazBO9jyWyfBCg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to