<whitequark[cis]>
ah yeah, I can schedule it for 0.5
<whitequark[cis]>
I do have every toolchain installed
<anuejn>
thats nice :)
<whitequark[cis]>
but I want you to rebase it first
<anuejn>
547?
<anuejn>
I can do that :)
<anuejn>
done :)
<whitequark[cis]>
thanks
<whitequark[cis]>
so my main objection to this PR is still that you have "sdc_quote" in build.plat that has a generic name but refers to lattice diamond
<anuejn>
ah I see
<whitequark[cis]>
can you find and collate the quoting rules for Synplify and Tcl in general, and include them in the PR?
<whitequark[cis]>
then, since every platform that has SDC files will follow Synplify rules, you can safely replace tcl_quote with sdc_quote there
<whitequark[cis]>
it's the same codebase reading it after all
<whitequark[cis]>
then I'll be able to test it and approve if it all works
<whitequark[cis]>
tbf, we should probably have LatticePlatform and SiliconBluePlatform, aliased to the MachXO*/ECP5 and iCE40 families respectievly
<whitequark[cis]>
actually
<whitequark[cis]>
anuejn: can't we entirely replace tcl_quote with sdc_quote?
<whitequark[cis]>
because, I think, the curly braces thing creates valid tcl strings
<anuejn>
I actually have no idea about tcl at all
<whitequark[cis]>
lemme look at the rules for tcl quoting
<anuejn>
and just figured this out by twiddling the knobs until it works
<whitequark[cis]>
ok, well, that's not the type of PR i generally accept
<anuejn>
so I feel a bit overwhelmed 🙈
<whitequark[cis]>
because it usually just shifts fragility from one place to another
<anuejn>
okay I can understand that. Still it feels nice to have the bug fixed (or at least documented)
<whitequark[cis]>
I don't tend to document bugs either; if you understand enough to document it you understand enough to fix it
<whitequark[cis]>
this is different from many popular projects but I want a higher bar in the software I maintain
<whitequark[cis]>
it's actually oddly difficult to find the docs for string quoting
<anuejn>
yes :D
* anuejn
is currently doing the same
<whitequark[cis]>
it looks like inside {}, you shouldn't be escaping anything but }
<whitequark[cis]>
oh, actually, { too
<whitequark[cis]>
```
<whitequark[cis]>
% puts {{\n\r\""}}
<whitequark[cis]>
{\n\r\""}
<whitequark[cis]>
and escaping the backslash, except one that's right before a { or }, is actually wrong
<whitequark[cis]>
interestingly, if you put a backslash before {, you get a \{ combo within the resulting string