*FREE.TRU file

OS: Windows 7 Pro x64
TrueBasic Gold v6.006

1. The first time I exercised TB after the install I was served with an error message: Cannot find *FREE

2. On another execution I was served with: Trouble reading from *FREE.TRU

It hasn't shown up since....But what is *FREE?


*FREE filename.


The name *FREE is actually an element within an internal array used by the editor to keep track of all the current opened files. This array contains the filename, the current line and cursor position and the last known contents of the file. In this way the editor can "hotstart" and load up all your most recently used files at the same point when you last shut down.

If you close a file, the element in the internal array is declared *FREE so that it can be re-used when you open more files. I have not been able to reproduce the conditions that cause the editor to think that *FREE is a filename. However, in version 6.007 I have included some extra code to try to trap this error.



Big John can, and probably will, explain here what the *FREE file actually is, but in the context you've seen it, IT IS a bug, and through 6.006 it has not been eliminated (although it is now fairly rare--but I had it again last week). What seems to happen is that when doing a lot of editting and running the program between edits, every so often your program will be renamed *FREE.tru. If you don't notice this right away and go back to editting, you will end up losing those edits since you can't save *.FREE and the only way to get rid of it is to kill the current session and restart TrueBasic. At this time the best advice is to SAVE often. I personally do a lot of program building by structuring programs that I can write sequentially, running each segment as I write it. This method does increase the chances of *FREE popping up since I will do dozens of runs during an editting session. I DO save the program before each run!