# Pastebin jkbfVcTg o_new = LispAllocObject(kSymbol, (LispIndex)strlen(o->symbol.name)); o_new->symbol.stype = o->symbol.stype; strcpy(o_new->symbol.name, o->symbol.name); o_new->symbol.height = o->symbol.height; /* dfs */ LispObject left = (LispObject)o->symbol.left, right = (LispObject)o->symbol.right, value = o->symbol.value; LISP_SET_FORWARDED(o, o_new); o_new->symbol.value = LispGcRelocate(value); o_new->symbol.left = (struct LispSymbol *)LispGcRelocate(left); o_new->symbol.right = (struct LispSymbol *)LispGcRelocate(right);