[z-machine] Different 1.1 proposal: put_prop and get_prop

Cedric Knight cknight@gn.apc.org
Mon, 4 Aug 2003 10:37:08 +0100


I'm raising this after a thread on raif.

The 1.0 standard says of @get_prop (& @put_prop), 'It is illegal for
the opcode to be used if the property has length greater than 2, and
the result is unspecified.'  However, Inform will compile (obj.prop)
to one of these operands, and it looks like some fairly major
modifications and overhead for it to do otherwise.  Nitfol gets and
puts the first word of property data, while Zip and Frotz point to one
less than this address (so they read and write the extended length
byte possibly resulting in corruption).  Zoom seems to be the only
terp which produces an error.

My proposal is that these operations are clarified by making them
legal, and defining the Nitfol behaviour as the standard.  If this
isn't felt appropriate, maybe it should be made clearer in the DM4
that obj.prop cannot be used with additive properties.

Comments, anyone?

So has anyone heard anything from Kevin Bracey during 2003?  Last
year, he was a 'librarian' for inform-fiction.org.

CK