An earlier commit removed the requirement that a source file ends in \n,
but the lexer still made that assumption. This is intended to fix the
problem. (Probably, some new tests should be added.)
Thanks to John Darrington for reporting the problem.
Fixes: e0f9210e814d ("lexer: Add support for embedded \0 bytes and missing trailing new-line.")