TempleOS has a string indirection feature implemented with the same hash symbol table entry as #define macros, HTT_DEFINE_STR. Support for string lists is also provided, but it's not very efficient, though, you can make a hash table with a list using HashDefineLstAdd(). See ::/Adam/DolDoc/DocInit.HC. If you have an @ as the first char of a define list entry, it is an alias for the prev entry num. Each task can load its own Define strings. Remember, when a Hash table is searched for a string, if it is not found, the parent task's table is searched. The DolDoc framework supports text that changes based on entries in the task's symbol table. Set a text entry with a D= arg, as in $TX,"",D="DD_MYSTRING"$. See ::/Demo/DolDoc/DefineStr.HC, ::/Adam/ADefine.HC and ::/Doc/MemOverview.DD. See ::/Demo/Define.HC.