"the player cannot see ..." is broken by scope rule

It seems like the following example leads into an endless loop: The terp hangs immediately after “x anne”, before printing anything.

[code]“Endless Loop Ahead”

Main Road is a room.

Anne is a woman. Understand “woman” as Anne.

The Dummy is a thing.

The crowd is a plural-named person, here.

Understand “Anne” as the crowd when the player cannot see Anne.

After deciding the scope of the player (this is the place dummy in scope rule): place dummy in scope.

[The place dummy in scope rule is not listed in any rulebook.]

test me with “x dummy / x woman / x anne”.[/code]

Without the scope rule, everything’s fine.

Could this be a bug, probably a known one? Or are we messing things up here?

Regards,
Christian

This has come up before: https://intfiction.org/t/new-extension-scope-caching/2798/1

I see I didn’t file a bug, probably because I wasn’t sure why the code was written the way it was. I’ll file one now.

There’s an extension linked in that thread which you can use to work around the problem. You may also be able to simplify your test: if there are no opaque wardrobes in the game, you can just say “…when Anne is not in the location” and thus avoid the “seeing” scope test.

I think this is the same bug that Zarf found in this thread:

https://intfiction.org/t/new-extension-scope-caching/2798/2

You can use my Scope Caching extension to work around it.

eyeballsun.org/i/Scope%20Caching.i7x

I’m thinking it’s time I should submit this to the official site.

Edit: I see Zarf already said most of that…

Filed as inform7.com/mantis/view.php?id=808

Thank you both for your help and for reporting the bug!

– C.