I tried to run an interactive application (like the vi editor) via telnet in character mode (remote echo & suppress-go-ahead). The problem I found is:
The method read() in connection.go will always call fill() to wait for new character input, even if the buffer already holds characters that could be returned immediately.