Thanks, Zed, for these very helpful investigations. Of course the apparently I6 inclusions are now being read through an entirely different Inform 6 compiler - the one inside inter/building, not the one in inform6. There are just a handful of I6 syntaxes which that doesn’t (yet, at least) support.
I did fix the bug about the (-3) in an assembly-language line, since that was easy enough and had no implications for anything else.
The issue about recognising extensions in case-sensitive file systems looks like the most serious thing here. Of course, I develop on a case-insensitive system… I suppose I could format an external drive case-sensitively to experiment. (MacOS allows this, while also telling you not to try it.)
Dan asked: “Also, none of these bugs are visible when logged out, so there’s no way to Google search for Inform bugs. That seems bad to me. (Though I guess it may be your preference…?)”
It is not my preference, but it appears that Jira does not allow a bug tracker to be visible to non-logged-in people unless you can pay serious money for an enterprise account ($20 per “agent” per month, and at least half a dozen of us would need to be “agents”). Atlassian do a pretty good job of hiding this in an absolute maze of configuration stuff and incomprehensible documentation, though.
Zed: I’ve pushed a tweak to the supervisor module which might help with mixed-case extension titles and authors - does this sort out the problem on case-sensitive file systems?
Now it works for AW Freyr, but still not for Jesse McGrew or the Friends of I7, and why it works for Freyr and not McGrew isn’t making a lot of sense to me.
I apologize if this is incredibly naive – I’ve only barely skimmed the supervisor docs – but couldn’t it normalize to all-lower case?
Oops, it doesn’t really work for AW Freyr. I had contaminated my Extensions directory with an ‘Aw Freyr’ directory when I was first futzing with this.
Having tried a bunch of things now, I haven’t found anything that works that doesn’t strictly comply to: first letter of each word is a capital and capitals only occur at the first letters of words.
My most recent testing has been against 16ed0ae717e093b016d2acec3e74167f26fd4fa0.
I was so distracted by the name issue, I never got around to describing that Hybrid Choices by AW Freyr is also the first significant case I’ve found of an extension failing to compile for a reason not having to do with I6 inclusions. It includes (abbreviated and paraphrased):
A page is a kind of object.
Page-turning relates various pages to various pages.
The verb to turn to (he turns to, they turn to, he turned to, it is turned to, it is turning to) implies the page-turning relation.
[... then, within a phrase... ]
repeat with p running through pages turned to by page1:
This worked in 6M62, but I don’t see that the docs indicate that it should have worked. The docs say
As all the assertion verbs do, “to wear” and “to carry” have participles which Inform knows about. So we could equally well write:
The scarlet coat is worn by Mr Wickham. The duelling pistol is carried by Mr Wickham.
But I don’t see that they ever suggest that new verbs get a past participle that can be used with “by” to form a description of objects. And now, it seems, they don’t.
Zed: I formatted a memory stick with a case-sensitive file system and was able to reproduce the bug about not finding awkwardly cased extensions - I believe I’ve fixed this with a push just made.
In 6ff3fd8db9f22f211572ecb9f3357fbdb5166324, inform7 could find extensions under all of AW Freyr, Jesse McGrew, and Friends of I7 on my Linux box. Thanks, Graham!
Zounds! I am awed by this pronouncement! I picked a really good year to start following and working in IF again! Humbling and encouragement both, from the fountainhead.
Have you seen my previous answer about compiling on Windows?
Yes, but i don’t like cygwin. I’ve had nothing but problems from it in the past and don’t want to go back there again.
But after that you can use PowerShell if you copy the cygwin1.dll file from your Cygwin installation
Ah! The start of the cygwin DLL poisoning.
Cygwin is the only solution I found.
Except that I’ve now managed to build it without Cygwin. And, i think, you might have the answer there for the test scripts. I need to run it in the shell window.
So that nearly worked. I got a better error message. Here are my suggested hacks;
inweb\Materials\platforms\windows.mkscript add
SHELL = bash
inweb\Chapter 6\Makefiles.w
No backslashes in Makefile paths.
oid Makefiles::pathname_slashed(OUTPUT_STREAM, pathname *P) {
TEMPORARY_TEXT(PT)
WRITE_TO(PT, "%p", P);
LOOP_THROUGH_TEXT(pos, PT) {
wchar_t c = Str::get(pos);
if (c == '\\') c = '/'; // JKJ <- add this
if (c == ' ') WRITE("\\ ");
else PUT(c);
}
DISCARD_TEXT(PT)
}
So then i get the latest everything, rebuild and it works.
# ../intest/Tangled/intest inform7 -show Acidity
Inform 7 v10.1.0 has started.
I've now read your source text, which is 70 words long.
I've also read Basic Inform by Graham Nelson, which is 7691 words long.
I've also read English Language by Graham Nelson, which is 2328 words long.
I've also read Standard Rules by Graham Nelson, which is 32168 words long.
The 70-word source text has successfully been translated. There were 1 room
and 1 thing.
Inform 7 has finished.
[1] Acidity passed
So, is it possible to inter into “C” and build a game? Any instructions on this or shall i delve into the docs. thanks.