- Added basic exception handling to cmdset. It now captures and logs exceptions thrown by invoked commands.
- Added a 'Unknown command' fallthrough for the console cmdset.
- Fixed up the Cursor code.
It used to do a s/ /_/ (since spaces aren't registered by a MeasureString, which the cursor uses to know where to go; thus the cursor did not recognize spaces at the end of the string). In variable width fonts, that misplaced the cursor. The code was changed to do (semantically) s/ +$/_+$/; unfortunately, I'm not exceptional with regexes, so that turned into a m/( +)$/; string=string.Replace(" +$","") string.PadRight(str.Length+$1.Length,'_'); I might try to go back to a method I've used before (append '.' measure rect, subtract estimated width of '.'), but meh.
- Added 'script' to the console cmdset. Takes a filename as a parameter, and will open that file and run through it line by line as though each line were a command line entry.
- Added a pair of breakout/fallthrough pairs to consider '#' and '//' as console line comment commands.