stardot / MatrixBrandy

Matrix Brandy BASIC VI for Linux, Windows, MacOSX
http://brandy.matrixnetwork.co.uk/
44 stars 8 forks source link

Bugfix to *KEY and some tidying #23

Closed jgharston closed 5 years ago

jgharston commented 5 years ago

Fixed KEY when attempting to redefine the key currently being expanded (left over from Napoleon fork). KEY 1 KEY 1 hello|Mblah should give an error when f1 is pressed as it tries to redefine itself mid-stream. KEY 1 *KEY 1 hello|M should give no error when f1 pressed as the softkey stream has finished. Moved OSVERSION defines to target.h Re-arranged target.h to make for easier human comprehension.

soruk42 commented 5 years ago

This pull is somewhat broken on 32-bit Linux - you've removed the forcing unsigned of the gettimeofday, and negative times are breaking other stuff. Also, Linux requires TARGET_UNIX defined. No great disaster, I've pulled to a branch and am fixing up prior to merging to my mainline.

jgharston commented 5 years ago

Michael McConnell wrote:

This pull is somewhat broken on 32-bit Linux - you've removed the forcing unsigned of the gettimeofday, and negative times are breaking other stuff.

Did I? I never went anywhere near it, honest gov. ;) Just made set_fkey return a status and made *KEY respond to it.

Shows how easy it is for a small change to bite elsewhere. I did a test build here for SDL, MinGW and DJPP, but I don't have a unix build environment available.

It's also why I'm only doing one small thing at a time. 30 years ago I learned how easy it is to kill something quickly by doing too many changes all at once.

-- J.G.Harston - jgh@mdfs.net - mdfs.net/jgh

soruk42 commented 5 years ago

It's possible you pulled from before I fixed that issue, and pulling it from your branch made me hit it again. No biggie, I fixed it before merging to mainline.

And, in fixing (and breaking again) other things, it's a great example the need to commit little and often, so when I step through the commits to see when it broke, it's not a huge diff to check!