Quick State of The Code update

1.4.4 was just about ready … then I found a bug in the release candidate build. You know what they say, there’s always one more bug. This one’s insidious — it lurks somewhere in the output formatting, and inserts a space between “a” and “n” in a\n under conditions I haven’t quite pinned down yet. So there’s a delay while I’m bughunting.

Which, of course, pushes the new Table Pack back some. I’ve got about 20 tables for it finished, and now I’m chasing a bug in TM instead of writing tables. And working on fonts. And a few other things. They’ve just cloned monkeys … I wonder how soon they can clone me?

The current change notes for 1.4.4 and some comments on them are after the break.

Note that these are pretty much my raw change notes — I just cut and pasted out of the changenotes.txt and added a few category headings — so they might be a bit cryptic at times. They’ll have full descriptions at the final release, plus of course they’ll be in the PDF manual.

NEW COMMANDS
added .ALERT
added .BEEP
added .DOWN
added .PRINTCODE
added .SETSEX
added .UP
added .VERSION

None of these are particularly exciting new commands. Most of the things TableMaster needs to do, it’s already doing. .ALERT and .BEEP are handy for debugging tables, .DOWN and .UP are just a convenience to not have to type .SUBTRACT 1 from {Variable} all the time, .SETSEX was already covered, and .VERSION is a new feature that will make sure the version of TableMaster being used is capable of handling the commands in the table. I should have put that one in 1.0!

NEW OUTPUT FORMATTING CODES
added \$ once/twice/thrice/four times/x times
added ! extended formatting code for \@ \# \$ to do dozen, score, etc.

That ! is going to be useful in the future.

FIRST META-COMMAND
added REALLY meta-command

It took longer than I intended to add that — it seemed like there was always something higher priority — but it’s in there now. A table can basically refer all actions to another table. The down side of this is that you have to edit the referring table externally — everything, including editor calls, uses the target table. This will be changed in a future release, but I figured it would be better to get it out there now rather than waiting on that.

GUI AND USER INTERACTION CHANGES
added option for on-click behavior in GUI
changed OnActivate to not go to Output if the current tab is not empty
improved error message text across the board

BUG FIXES
INTERFACE
fixed table buttons sometimes not being enabled on startup
fixed crashing if table file name has been changed
fixed Copy going to the bottom of the page
fixed file left open bug
fixed previous table pack link bug
-TABLE ENGINE
fixed different file left open bug
fixed bad last-table save bug
fixed bug with .ROLLON sometimes using two entries
fixed some incorrect error messages
fixed .EITHER lowercasing results

Finally squashing the file-left-open bug is the biggest thing here, really. There were two different things causing that bug, in two different units of the source. It’s dead now.