why does the VMS port need its own versions of the curses functions in
cbreak.c and getch.c?

files.c needs two restore_screen() calls to work properly?

clear_screen() in shell_out() after return from spawned process does
not clear screen properly?

if <errno.h> is only included in files.c, and errno is defined in externs.h,
then there is a 'psect' problem with errno?

ESCAPE is defined as Control-Z for compatibility with the VMS Moria versions,
but this is not documented anywhere, note the define for ESCAPE in constant.h

! and $ commands are aliases, but this is not documented

curses puts vtxxx keypad into application mode, inkey() has some code
to convert keypad escape sequences back into numbers, this code may
cause strange behaviour if someone types a real ESCAPE character,
why does curses put the keypad in application mode in the first place?

refresh() and clear() do not seem to work right, note the contorted code
in inkey() and clear_screen() to make these work right
