1.4.5 may be sooner than expected

Just a quick update here, as I’m surfacing for a while from the code:

First, yes, there is a bug in .JOIN/.ATTACH (and a typo in the manual). I just fixed that, but clearly it’s worth a maintenance release, at least.

Second, a new command. Of course there’s a new command, right? This one is actually a significant one: .CAPTURE.

In brief, it functions sort of like an internal .PRINT, but not quite. The syntax is like this:

.CAPTURE Subtable AS {Variable}

It rolls once on the specified Subtable (which of course can roll as many times as it wants on other ones) and any text that would be printed is, instead, put in {Variable}, which of course must be a text variable. The “AS” is optional, by the way.

.CAPTURE Human_Name AS {NewName}

Like so many features of TBL, I added .CAPTURE because I needed it; I was building a table and, in fact, rolling up names. Names with a letter frequency system, to be exact — remarkably like what NameGen, TableMaster’s earliest ancestor, did. Since I had to re-use a particular name several times, I was doing it the hard way, adding each letter in turn to a variable for the name. It was driving me mad. I’d been thinking about something like .CAPTURE for a long time, and that was the last straw. I dove into the code and out came .CAPTURE.

The combination of these two things — a major bug fix and a significant new TBL command — means that I’m going to get 1.4.5 out as soon as it’s tested to some reasonable level of assurance. I suppose I should go back to putting test builds on the beta page for the Kickstarter crew to play with and/or break.

I should also get TableMaster to check the current version on request, like EditPlus does, for the benefit of people who don’t want to have to read this blog and/or check the /product page all the time to see if there’s a new build out. My head is still stuck back in the 90s, when software was distributed on floppies and updates came out only rarely if at all; this whole thing about less rigorous QA and frequent patching instead is sort of jarring. (not to mention certain games that launched half-finished, naming no names here)  I will, however, add some sort of “check update status” thing ASAP; probably just checking a Web page for right now.

By the way, since I mentioned it: If you find yourself in need of a really, really good text editor, get EditPlus. It can do … well, pretty much everything you think you might want to do with text/HTML/code and then some, including such a good FTP system that it’s almost all I use.  It’s what I build websites in, and write Perl, and when I did some major changes to the the way opcodes (what TBL commands translate into) were named in the TableMaster source, I pulled chunks of it into EditPlus to do some quick and easy changes, because it’s better than the Delphi IDE for some things. I’ve been using it for over 10 years now. The friend who told me about it, when I asked him why he hadn’t told me earlier, said “I didn’t tell you about breathing, either.” Yeah, once you’ve used it, it becomes so much a part of you, or at least your toolbox, that you never even think about it. Of course everyone uses EditPlus … except the people who don’t know about it. (no, I don’t get anything for plugging it — I just like the program)