It helped get rid of those mysterious “code 10” errors while compiling & I feel much less helpless for it, now I replaced inform-632.exe with the new executable. (I haven’t moved up to 6L, yet.)
However, this leaves me with another question.
I had to define
use SYMBOLS_CHUNK_SIZE of 7000
Apparently this is because I have a name that is over 5000 bytes long in a project. How did I manage do this? Is it because I included text of over 5000 bytes in one say statement?
But I don’t think that’s the case as line 155160, which causes the error, points me to
Constant SC_16033 = "--especially since DEACONS doesn't match with the number of vowels";
This is more for my own enlightenment and curiosity, but I’m curious what’s going on–the constant needed jumped from 5000 to over 6400 (I didn’t track the exact value.) It didn’t happen consistently, either–worked on one computer but not another, until it failed to compile on either.
I guess I’m just wondering what the error means and how I tripped it.
The message is rather misleading. What it actually means is that the total number of Inform 6 symbols in the source file is too large for the space set aside for them. The code contains this comment around the logic that checks this condition:
/* If we've passed MAX_SYMBOL_CHUNKS chunks, we print an error
message telling the user to increase SYMBOLS_CHUNK_SIZE.
That is the correct cure, even though the error comes out
worded inaccurately. */
if (no_symbol_name_space_chunks >= MAX_SYMBOL_CHUNKS)
= (char *) symbols_free_space;
if (symbols_free_space+strlen(p)+1 >= symbols_ceiling)
Due to the infrastructure in the Inform 6 code the error message diagnostic isn’t as clear as it could be, but at least it tells you to do the right thing.