[I6] Spurious compiler warnings for properties that begin with "name"?

This behavior is observed at least as far as Inform 6.33, but I’m not sure about the current version. Compiling a program that includes an object with a property that begins with “name” yields warnings such as:

line 9557: Warning:  'name' property should only contain dictionary words
>   name_parse_scores 1 1

The idea motivating the warning seems good, but it’s not applicable in this case. Does the 6.34 compiler check that there are no characters after “name” in the name of the property?

I don’t see this warning with any version of the compiler.

Object foo
  with name_parse_scores 1 1;
[ Main;	];
1 Like

@zarf, wow – I was really wrong about the cause! It turned out to be just some missed commas at the end of the preceding name property in two objects.

I was just trying to dust off an old project last compiled under 6.21. Since I couldn’t find the error message in DM4, I had to guess as to the cause, and the large number of messages (one per offending value) made me think that it was coming from more than just two places!

Thank you for pointing out a good test case to demonstrate my error.

FYI to any future readers coming across this thread, the DM4 p. 301 makes reference to a similar error message under a different wording:

Missing ’,’? Property data seems to contain the property name <name>

with the note

The following, part of an object declaration, is legal but unlikely:

    with    found_in MarbleHall
            short_name "conch shell", name "conch" "shell",

As written, the found_in property has a list of three values: MarbleHall, short_name and
"conch shell". short_name throws up the warning because Inform suspects that a comma was
missed out and the programmer intended

    with    found_in MarbleHall,
            short_name "conch shell", name "conch" "shell",

but the particular error message was introduced in 6.30, according to the release notes at https://www.ifarchive.org/if-archive/infocom/compilers/inform6/ReleaseNotes.html :

Another new warning appears if you include something other than a dictionary word in an 
object's name property. This is most commonly triggered if you try to add a single-letter word by 
typing name 'g' 'string' when you intended name 'g//' 'string'.
1 Like