/* creates a new string and anchors it in scanner's table so that it will not be collected until the end of the compilation (by that time it should be anchored somewhere)  */
TString* luaX_newstring(LexState *ls, const char *str, size_t l)
/* creates a new string and anchors it in scanner's table so that it will not be collected until the end of the compilation (by that time it should be anchored somewhere)  */
TString* luaX_newstring(LexState *ls, const char *str, size_t l)
{
    setbvalue(o, 1);
    luaC_checkGC(L);
  }
  else {
    ts = tsvalue(keyfromval(o));
  }
  L->top--;
  return ts;
}