Is it a bug?

Hello all. I’m a long-time lurker.

I was struggling a bit with a piece of code involving nested conditions this morning and could not get my test project to compile, as every time the compiler didn’t find something wrong…it simply crashed instead. So I began simplifying both the conditions and the output just to see if i could get ANY kind of “if” statement to compile. I couldn’t. Case in point, the following:

"bugtest" by Silas Black

testlab is a room.

every turn:
	 if the player is in a dark room;
say "It's dark in here."

Throws the code 10 error. As I still consider myself newish to inform, I’m willing to believe there’s a problem with my syntax(though i don’t think there is.), but as the error message i get is only too happy to point out, the compiler shouldn’t crash even if the source is complete gibberish.

my version is: Inform 7 build 6M62 (I6/v6.33 lib 6/12N) SD, on windows 7.
can anyone else reproduce this? Or know the cause?

Have you tried switching over to the tab method of IF statements? Where you end the if Statement with a colon and tab the following line over?

The syntax is wrong (either use a colon or a comma, not a semicolon at the end of the if statement), but it shouldn’t crash the compiler.

Does this compile?

"bugtest" by Silas Black

testlab is a room.

every turn:
	 if the player is in a dark room, say "It's dark in here."

This is a known bug (#1837, also #1863 and others) in version 6M62: ending an if-statement with a semicolon can make the compiler crash. It’s been confirmed and will hopefully be fixed in the next release.

Thanks for all the responses. They were very helpful.