If the argument is omitted, it defaults to the current input port. If the second argument is omitted, it defaults to the current input port.
Pushes char back on the stream of input characters.
It is not an error for char not to be the last character read from the port. It is undefined whether more than one character can be pushed back without an intermittent read operation, and whether a character can be pushed back before something has been read from the port. The procedure returns char .