I have a head-scratcher.
I have three simple procedures to create links to other tiddlers in my wiki. They work all of the time when used simply in a tiddler. But in two cases, they fail when that tiddler is transcluded in another.
You can see what I’m talking about here in Andover Charter - 2022 Version. Sections 203A
and 304B
(which should open using that link, along with Charter
) properly show links to (not-yet created) tiddlers. These are generated by three procedures in $:/_/atc/procedures/Section
. But when those tiddlers are transcluded in another tiddler (you can see it in Charter
, but also in Section 203
and Section 304
, as well as in Chapter 2
and Chapter 3
/), they get no link, just the plain text of the parameter (“203A” and “304B”).
There are several levels of transclusion going on, but it fails at the first one, which is handled by $:/_/atc/procedures/subsections
, which looks like this:
\procedure subsections(parent)
<$list filter="[tag[Subsection]section<parent>!has[draft.of]]" >
<$let
section={{{ [{!!section}] [{!!subsection}] +[join[]] }}}
currentTiddler={{{ [<section>addprefix[Section]] }}}
>
<div class="subsection">
<div class="ss-name"><$link>{{!!subsection}}. </$link></div>
<div class="ss-body"><$transclude mode="block"/></div>
</div>
</$let>
</$list>
\end
It’s the same procedure which is failing in both cases. I don’t know if that’s coincidence, as it looks just like the other two:
\procedure section(sect) <$link to={{{ [[Section]] [<sect>] +[join[]] }}} >section <<sect>></$link>
This is an annoyance more than a show-stopper. I can just skip the procedure and hard-code the links. But it is annoying, and I’m hoping someone here can see what I’ve been blind too.
So, … any ideas?