Ok Tim, panic over, I found the problem.
I made some changes to
ssb272_ssb,
ssblang_ssb and
ssbpass2 to :
* Introduce a new environment variable,
SSBIGNORE_BLANKS, to allow blank lines to be ignored (the default) or converted to ":" lines.
* Allow blank lines, depending on the
SSBIGNORE_BLANKS environment variable, if Y or y then blanks are ignored, else converted to a line number with a colon. (sorry!)
* Fix the indentation on REMark lines.
* Remove the additional spaces on REMark lines. There was one before and one after the REMark that don't appear to be needed.
* Allow "**" anywhere in a line, to be converted to REMarks. (This is where the problem was introduced!)
* Changed the version number to 2.7.2b, in the sources and in the language file.
So, I ran the current
ssb272_exe against the new source files. That created a new
ssb272b_exe file. So far so good.
I then ran
ssb272b_exe against the new source files again, so it compiled itself, and here, the output was broken. It turned out that in
ssbpass2_ssb, there was test explicitly for "**" to convert to REMarks. However, when
ssb272_exe was run, it wasn't looking for "**" anywhere other than at the start of a line, but
ssb272b_exe was looking all through the line. So the generated basic file was testing for "REMark" and not for "**". Oops!
I changed the
ssbpass2_ssb file to search for CHR$(42) & CHR$(42) as was being done elsewhere in the same file.
I have managed to compile a new version of
ssb272b_exe which was compiled first by
ssb272_exe then by the generated
ssb272b_exe, so that, once more, it has successfully compiled itself. And so far, it seems to work!
I shall, of course, upload the sources when I get a chance. MrsD is home with the dog and apparently, I have to "get a life" and leave my laptop alone! I have no idea what a "life" is!
Cheers,
Norm.