[I7 extension] Enterable Underside (first version)

The difficulty seems to be in the handling of named responses which are defined inside loops.

In my copy of the Standard Rules, the rule in question is a Check an actor entering rule on line 2519, and response (A) uses a variable current home which is set with each in the first line inside a while loop. Now consider the following simple story:

"testing" by Eric Conrad

Fooing is an action applying to one thing.  Understand "foo [container]" as fooing.

Check fooing:
	if the noun is not a container, say "Oops!".

Report fooing a container (this is the report fooing rule):
	let baz be "foo";
	repeat with x running through the list of things in the noun:
		say "[baz] [x]." (A).

Barring is an action applying to one thing.  Understand "bar [supporter]" as barring.

Check barring:
	if the noun is not a supporter, say "Eek!".

Report barring a supporter (this is the report barring rule):
	let baz be "bar";
	repeat with x running through the list of things on the noun:
		say text of the report fooing rule response (A).

Start is a room.

The jar is a container.  It is in Start.  The pickle is in the jar.  The vinegar is in the jar.

The shelf is a supporter.  It is in Start.  The kitten is on the shelf.  The baby is on the shelf.

Test me with "foo jar / bar shelf"

The response to the command foo jar is, as expected:

foo pickle.
foo vinegar.

By analogy, the expected response to bar shelf would seem to be:

bar kitten.
bar baby.

But analogy fails and the actual response in Inform 7 v6M62 is:

bar.vinegar.bar.vinegar

(Yes, just one line!) Curiously, if the response is not inside a repeat loop, the actual behaviour and the expected behaviour are in agreement.