Is this a known bug?

I have a vague feeling of deja vu about this, but I have no idea if this bug has been observed by anyone before:

[code]Test is a room.

When play begins:
Remove every wearable thing from play.[/code]

The ‘wearable’ adjective is not necessary to produce the error, but I didn’t feel right about doing something that would remove the player from play.

I’m not sure “remove [something] from play” is supposed to take a set-description, but I thought I’d try it out and this is what I got. ‘Now every wearable thing is off-stage’ works fine, but obviously it would be better to have a Problem message that the former is invalid syntax than to be told that the compiler crashed…

It looks like the same bug as , which has been marked as a duplicate of 404, which is marked as fixed in the next release.

Is this the way to do it?

Repeat with item running through all wearable things: remove item from play.

Also, if I’m not mistaken, the real problem is that you can’t remove more than one thing from play at a time, isn’t it? Graham’s notes on those bugs seemed to suggest that they should be producing compiler errors, but crashed when doing so.

I think you can, you just can’t use the “remove” phrase. “now” works with set-descriptions, so you can also do it this way:

Now every wearable thing is off-stage.

“off-stage” is a little tricky because I never remember whether it’s one word, two words, or hyphenated. What do folks think about asking for synonyms on uservoice?

Yes – the only issue is that it’d probably break some existing code. (I think Tove said something about having a junk room called “offstage,” which only worked because it didn’t have the hyphen.)

Personally I’m against synonyms in the core language/library (as I’ve ranted before) but on the other hand this is exactly what Usevoice is for: you put in a suggestion and people can vote for it if they want to see it happen.

Juhana, I think this is generally a good point:

but in this particular case, I think it’d be good to allow “offstage” as well as “off-stage”; no one should be confused by that. I’m a little more agnostic about “off stage.”

I don’t mind strict syntax if there is a helpful compiler error. Being told that there is no object or property called “offstage”, but there is a construct called “off-stage” meaning “removed from play” would be perfectly sufficient.

Here’s a suggestion: … off-stage-

If I were to submit a suggestion, it would be to remove the “remove … from” phrase from the language. It is perfectly redundant now, isn’t it?