Joseph Wright skrev: > On Feb 6, 1:29 am, Philipp Stephani <[log in to unmask]> wrote: >> - l3io is too low-level. \io_new should only check whether the control >> sequence already exists, and the allocation should be done by >> \io_open. As long as we have only 16 streams, the allocation should >> not use the plain TeX allocator, but a "heap allocator" with a list of >> free streams instead. Closing a stream should deallocate the stream >> handle. This is the normal behavior in all programming languages. On >> the contrary, the current implementation forces everybody to >> preallocate stream handles. > > I wrote l3io as we had nothing at all and I needed some functions > available: it's therefore not had too much reviewing just yet. I'm > very much learning these things (I have no formal programming > background) so I make mistakes, I'm afraid, and just went with > essentially a re-code of the latex.ltx material in this area. Your > suggestion is pretty sensible, and as long as the rest of the team > look happy with this I'd hope a re-write can be arranged. Feel free to > contribute more ideas [or even code :-)]. FWIW, fontinst maintains a pool of output streams and allocates streams from this pool. See fibasics.dtx. Lars Hellström