Yes, sorry, poor choice of words on my part. I meant a TString that isn't followed by the actual string content (I hope that's still how TStrings are implemented), but rather by a pointer to the actual string content. This pointer could point to either flash or RAM, but it only saves RAM if it points to flash (or if you implement some sort of string interning mechanism in C). And of course that requires some changes in the garbage collector too (the TString is freed, but without the actual string content). I could point you to the relevant changes in the eLua source code, but that's 5.1 and I'm sure that it'd only slow you down :)
Of course an immediate extension of this would be a TString that is fully saved in flash (together with the string content) and used directly from there (and thus is never freed itself), but I think that has too many implications in terms of portability and I don't see it being implemented in mainline Lua (I'd be glad to be proven wrong though!).
Thanks,
Bogdan