new inform 7 version trouble

There is an “update all” button in the Public Library.

oh yes, there really is one! so the button would have been a good idea if it wasn’t there already… :wink:

sorry, i am still at:

Launching: ni “-rules” “/Applications/Inform.app/Contents/Resources/Inform7/Extensions” “-extensions” “/Users/stefanmeister/Library/Inform/Extensions” “-package” “/Users/stefanmeister/Documents/inform/i7advs/dragonkinsinheritance_july.inform” “-extension=ulx” “-rng”
Inform 7 build 6L02 has started.
++ 0% (Reading text)
I’ve now read your source text, which is 60737 words long.
++ 5% (Analysing sentences)
I’ve also read Standard Rules by Graham Nelson, which is 42560 words long.
I’ve also read English Language by Graham Nelson, which is 2130 words long.
I’ve also read Rideable Vehicles by Graham Nelson, which is 1819 words long.
I’ve also read Epistemology by Eric Eve, which is 1491 words long.
I’ve also read Conversation Framework by Eric Eve, which is 5179 words long.
I’ve also read Conversational Defaults by Eric Eve, which is 2247 words long.
++ 15% (Drawing inferences)
++ 20% (Binding rulebooks)
++ 23% (Binding rulebooks)
++ 26% (Binding rulebooks)
++ 29% (Binding rulebooks)
++ 32% (Binding rulebooks)
++ 35% (Binding rulebooks)
++ 38% (Binding rulebooks)
++ 41% (Generating code)
In Chapter 1 - In the Deserted Woods of Borkum:
Inform 7 has finished

You are running into some error in your code. Due to a bug in the I7 compiler, it is unable to display the error message – it just dies silently at this point. Unfortunately this means you have to figure out the problem on your own.

We think the I7 bug is triggered when it’s trying to display an error message that quotes Unicode characters (accented or non-English characters in your text). Maybe that gives you somewhere to start looking.

Could you show the “In the Deserted Woods of Borkum” chapter?

the whole game has only one chapter. i do not remember why i used it. the game was beta ready and running three years ago. i planned to make a prologue and two chapters but gave it up. i just erased the chapter 1 line, now it reads like the following, so my chapter seems to have no relevance:

Launching: ni “-rules” “/Applications/Inform.app/Contents/Resources/Inform7/Extensions” “-extensions” “/Users/stefanmeister/Library/Inform/Extensions” “-package” “/Users/stefanmeister/Documents/inform/i7advs/dragonkinsinheritance_july.inform” “-extension=ulx” “-rng”
Inform 7 build 6L02 has started.
++ 0% (Reading text)
I’ve now read your source text, which is 60728 words long.
++ 5% (Analysing sentences)
I’ve also read Standard Rules by Graham Nelson, which is 42560 words long.
I’ve also read English Language by Graham Nelson, which is 2130 words long.
I’ve also read Rideable Vehicles by Graham Nelson, which is 1819 words long.
I’ve also read Epistemology by Eric Eve, which is 1491 words long.
I’ve also read Conversation Framework by Eric Eve, which is 5179 words long.
I’ve also read Conversational Defaults by Eric Eve, which is 2247 words long.
++ 15% (Drawing inferences)
++ 20% (Binding rulebooks)
++ 23% (Binding rulebooks)
++ 26% (Binding rulebooks)
++ 29% (Binding rulebooks)
++ 32% (Binding rulebooks)
++ 35% (Binding rulebooks)
++ 38% (Binding rulebooks)
++ 41% (Generating code)
Inform 7 has finished.

and i am sure i have no non english sings or letters in the whole text…

Well the good news here is that you can probably narrow down the problem by adding chapter headings to the source code. Just add a couple of chapters somewhat evenly in the source code and compile; when you see which one is referred in the error message, split it up again with more chapters and retry.

The rogue unicode character (if that’s the problem) can also be unintentional like an invisible space or ellipsis.

this seems to be the bad code:

Every turn when the hunter-gatherer is kaputt:
now zeithintercrevice is zeithintercrevice + 1;
if zeithintercrevice is 14 begin;
change the hunter-gatherer to zerstört;
end if;.

The “ö” in “zerstört” is a non-English character.

In this case the error message the compiler tries to print is that it doesn’t understand “change…to” which has been removed. Use “now the hunter-gatherer is zerstört” instead.

very funny: after changing all Die Brücke to die Bruecke:

You wrote ‘Die Bruecke is a region’ , but the Die Bruecke (which I notice in another sentence) seems now to be declared as a new region, which is suspect. Perhaps I have misinterpreted what was meant to be a new name for an old one?

Because of this problem, the source could not be translated into a working game. (Correct the source text to remove the difficulty and click on Go once again.)

now the program does not compile because something is suspect? So i cannot change text anymore because of being suspicious? :slight_smile:

after having to search errors by hand for an hour. i am now at:

Launching: ni “-rules” “/Applications/Inform.app/Contents/Resources/Inform7/Extensions” “-extensions” “/Users/stefanmeister/Library/Inform/Extensions” “-package” “/Users/stefanmeister/Documents/inform/i7advs/dragonkinsinheritance_july.inform” “-extension=ulx” “-rng”
Inform 7 build 6L02 has started.
++ 0% (Reading text)
I’ve now read your source text, which is 60761 words long.
++ 5% (Analysing sentences)
I’ve also read Standard Rules by Graham Nelson, which is 42560 words long.
I’ve also read English Language by Graham Nelson, which is 2130 words long.
I’ve also read Rideable Vehicles by Graham Nelson, which is 1819 words long.
I’ve also read Epistemology by Eric Eve, which is 1491 words long.
I’ve also read Conversation Framework by Eric Eve, which is 5179 words long.
I’ve also read Conversational Defaults by Eric Eve, which is 2247 words long.
++ 15% (Drawing inferences)
In Chapter 1 - In the Deserted Woods of Borkum:
Inform 7 has finished.

could you please reprogram the program from scratch? with all the earlier versions there was never any trouble like this. every error was always easy to find and easy to be understood. i really looked forward to throw my quite long text adventure out to the beta testers, but i think this work is now gone in vain…

You might want to do a global search-and-replace for ö->oe, ä->ae, ü->ue or repeat the chapter header trick.

You can of course suggest this to Graham, but I think he’ll rather fix the problem by spend 30 minutes fixing the Unicode error message bug than several years redoing the entire software.

it’s not because of the unicode bug that i am annoyed, this was solved in ten seconds, and to get that clear: it was not the reason for the program finishing itself. there are a lot of other things to complain, like crashes, freezes, hang ups, not giving a hint where an error is, just telling it; finding an error one time and one time not, the find function only works before compiling; nonsensical error descriptions like the one above (why shouldn’t i be allowed to make a new region with a new word for the new region ??) and so on and so on… . this version just has not the quality i got used to. please tell me how i should finish a long program with a non functional error handling; i can’t read 6000 lines of code every time the program decides to hang (to finish) itself.

Why don’t you just finish the program using the old version of Inform you were using?

it seems i will be forced to, but i would like to remind the professional programmers of inform that the goal of inform should not be being supercool for professional programmers but being usable for nonprofessional programmers.

FOUND THE NEW ONE! i have a backdrop in two regions. it seems I have to define the backdrop after i define the second region! BUT THE COMPILER SHOULD BE ABLE TO TELL ME THIS!

sorry for yelling and lg, stefan

It sounds like you had code like this?

Fooz is a backdrop.
Fooz is in reg.

The reg is a region.

You can file a bug for this error message. However, it’s a tricky case. The compiler can’t just say “You must define your regions first” because it can’t be sure that you intended reg to be a region. Maybe you meant reg to be a room (which is what the compiler would assume from the first two lines alone). Or a container. Maybe you meant to create a room called rog and a region called reg. Or vice versa.

There are several different correct pieces of code that this example is one typo away from. That’s why the error message is unspecific.

i have to admit, i am not sure (i had a three years break form programming). i narrowed down the possible lines with the aforementioned method, then i changed the order of a few of them. and it all worked (i had some errors left, but as long as the compiler shows them, it was just syntax update like with ‘change’ or ‘Instead of doing sg. other than’).

the problem with the compiler was not, that he had to guess what’ wrong, as you suggested, (he does that all time but very enlightening), but that he show s nothing, just crashes.

the other trouble that froze the compiler without letting him show the errors, were two non updated extensions by Mikael Saegercrantz. I dropped one of them and i am now trying to program sg. like ‘trinity inventory’ but myself. at the moment i have to retrain my brain to think a routine that does goes through all items and if one is carried by the player, it has to show sg. like ‘the inventory listing’. Sounds as easy, as all the difficult things.

I updated Trinity Inventory for 6L02; posted it in the other thread.

Thank you! I will download and test it.