I notice that the `run_put_next` function inserts the token list using begin_token_list(h,0);
however, this has the problem that in `end_token_list`, the token list is not freed when the type is `0` (i.e. `parameter`). I think the `0` should be changed to e.g. `inserted` (4), so that it is correctly freed. For a test case, consider the following program. ``` lualatex '\directlua{i=1; t=token.get_next()}~\def~#1A{\directlua{i=i+1;if i&1023==0 then print(i) end;for i=1,1000 do token.put_next(t); end}A}~A' </dev/null ``` Before the change, the memory usage grows steadily. After the change, the memory usage remains constant. Please take a look. Thank you.