-* The remaining shared globals: K, WD1, WD1X, WD2, WD2X. These are used
- rather promiscuously to pass around information that ought to be function
- arguments in a modern language. K is a particular offender.
-
-* Remaining unstructured gotos in playermove() and do_command(). The goto L12
- in playermove() is particularly horrible, jumping backwards into the
- middle of a loop.
-
-* In playermove(), why doesn't replacing the global motion number K
- with a passed-in argument work? There's some unobvious information
- leak here.
-
-* The way return values from handlers such as 2012 trigger side effects
- based on global state is nasty.