I tested cmd.py on Linux and two things (including the one reported by
OP) looked odd to me.
1) CTRL-D produces a message "*** Unknown syntax: EOF".
2) CTRL-C produces a KeyboardInterrupt exception and the session terminates.
I am attaching a patch that changes the behaviour to a more typical one
(at least, in IMHO). It terminates the session on CTRL-D and it just
ignores CTRL-C. Both of these can be overridden, if required. If the
patch is accepted, a doc change would be required in addition to the
change in doc string. I tested the patch on Linux and Windows.