current-input and input-line-no, were changed to lexical variables. Access to these variables is shared by a number of the input-related functions. This allows concurrent requests to be served safely without resorting to the namespace tricks used by TeX2page as distributed with PLT, and without rearranging the code more drastically.
input-line-no, which is not currently used. The only other mutation involves the use of destructive reverse! for performance, and a once-per-request initialization of the lexical variable current-input.