Changing the description of a kind

Fair enough.

While testing this I came upon this odd apparent bug, which I can’t work out even after looking through the I6 code, which looks fine to me.

The following:

The Control Room is a room.	
A button is a kind of device with printed name "button" and description "A green button."
The large button, the small button and the medium button are buttons in the Lab. The printed name of the large button is "large button".The printed name of the medium button is "medium button".The printed name of the small button is "small button".
When play begins:
	say "Start state: Large: [description of the large button]; Medium: [description of the medium button]; Small: [description of the small button].";
	repeat with item running through buttons:
		say "Starting iteration through [item]: Large: [description of the large button]; Medium: [description of the medium button]; Small: [description of the small button].";
		now the description of the item is "A red button";
		say "After [item] update: Large: [description of the large button]; Medium: [description of the medium button]; Small: [description of the small button].";
		now every button is-described-as "A yellow button";
		say "After every item update: Large: [description of the large button]; Medium: [description of the medium button]; Small: [description of the small button].";
	say "End state: Large: [description of the large button]; Medium: [description of the medium button]; Small: [description of the small button].";

The verb to is-described-as means the description property.

leads to the following odd output:

Start state: Large: A green button.; Medium: A green button.; Small: A green button..
Iteration through large button: Large: A green button.; Medium: A green button.; Small: A green button..
After large button update: Large: A red button; Medium: A green button.; Small: A green button..
After every item update: Large: A yellow button; Medium: A yellow button; Small: A yellow button.
Iteration through small button: Large: A yellow button; Medium: A yellow button; Small: A yellow button.
After small button update: Large: A red button; Medium: A red button; Small: A red button.
After every item update: Large: A red button; Medium: A red button; Small: A red button.
Iteration through medium button: Large: A red button; Medium: A red button; Small: A red button.
After medium button update: Large: A red button; Medium: A red button; Small: A red button.
After every item update: Large: A red button; Medium: A red button; Small: A red button.
Large: A red button; Medium: A red button; Small: A red button.

any ideas?

1 Like