TLDR; It’s a performance problem at the moment.
To identify backlinks, the TW core needs to run the [[whole tiddler content]]
through the first parsing step, where some information is created that this syntax links to a tiddler. We call this the “parse tree”.
So to calculate backlinks[]
the TW core has to create a backlink-index by running every tiddler text through this first parsing step, if a special backlink is requested by the rendering mechanism.
If you use eg: <<list-links filter="[tag[something]]">>
this fist parsing step doesn’t crate any information about the resulting list. It only creates info, that a filter [tag[something]]
is used with the list-links
macro. But this info isn’t worth too much, since filters are used all over the places for many different things and user defined macros can have any name. …
So it’s not possible to create a general algorithm that reveals the resulting list, except a full rendering of the HTML output and analysing this output for tiddler links. … So instead of 1 CPU heavy calculation, 4 heavy calculations would have to be done.
It’s needed to apply the first 2 steps from the rendering algorithm. Creating the parse-tree → create the widget-tree → analyse the widget-tree for backlinks or other stuff that may be interesting. … So it’s 3 heavy calculations and not 4 as I wrote above.
So in the end it’s a compromise in favour of performance.
Edit: After some more investigation I did change a paragraph above.