UNGETBYTE pushes the ASCII character corresponding to its input onto the input stream so that the next character input primitive will pick up the character.
Only one character can be pushed back at a time, so the character must be removed from the input stream before UNGETBYTE can be used again.
The following procedure performs the same function as the SKIP.EMPTY.LINES example in the PEEKBYTE entry. The procedure removes empty lines from the input stream and sends all other information to the output stream.
MAKE "FIRST.CHAR.ON.LINE GETBYTE
TEST :FIRST.CHAR.ON.LINE = 13
IFF [UNGETBYTE :FIRST.CHAR.ON.LINE PR READLINE] SKIP.EMPTY.LINES