One major innovation:

- Q has a keystroke logger.
This can either log all characters you type or
all characters Q sees (i.e. also all characters from macros and U-use files).

Completed *TODO* item "Opcode XMODE ...": see the [*DONE*](https://raw.githubusercontent.com/duncan-roe/q/master/q/DONE) file for a complete list. Perhaps of some note:

- **fm -s** deletes all trailing whitespace (tab, Cr &c.)
- overhauled macro and other debugger templates to be more useful
- macro debugger has minor updates for recent gdb
- opcode **TSTFMOD** was ill-conceived: replace with conditional skips
- miscellaneous bug fixes
- miscellaneous improvements, especially to **FR**eprompt
- improved OpenBSD support (checked against 7.2)

New ALU opcodes since version 56:

- SFMOD     Skip if file modified
- SFNMOD    Skip if file not modified
- XMODE     Mainline  is to set mode from X after next cmd read (for ^N7)

Deleted ALU opcode since version 56:

- TSTFMOD   set X = 1 if file modified, else set X = 0
