I have this problem accentuated by my exploitation to the hilt of the adaptive prose, and my diagnosis is that is an issue in the TADS3 itself, as described here, in a sparse order, if I’m right:
http://tads.org/t3doc/doc/sysman/strlit.htm
the handling of NL and spaces inside strings forces me to sacrifice readability for correct spacing, a sacrifice whose has already lead to a very serious bug, as dsherwood already know.
in a nut, I can’t write (edited example for spoilerish reasons; the actual text is much longer…) in a proper readable manner:
(the example is not one of the most advanced exploiting of T3’s adprose)
"<<if pc.var < 1>>
blah, blah...
<<else>>
<<first time>>
first time blabla...
<<only>>\n
<b>important passage !</b>\n
<<first time>>another passage
<<only>>
concluding blabla"
instead of the plainly unreadable and hence, bug-prone:
"<<if pc.var < 1>>blah, blah...<<else>> <<first time>>first time blabla <<only>>\n important passage !\n<<first time>>another passage <<only>>concluding blabla"
because the former ends with a rather ugly spacing, in most, if not all, cases resulting from the NL’s needed in a rationally organised adprose coding.
so, i concur and second with dsherwood’s question, a solution whose don’t involve forking TADS3’s codebase will be rather welcome for me.
Best regards from Italy,
dott. Piergiorgio.