I7: Non Transparent Container

Beginner stuff, but I didn’t find anything neither here nor in the docs, probably due to incompetent searching:

How do I prevent a container from showing its contents again? I’m dealing with the contents in the description, so I want to avoid “In the container is an item.”.

After printing the name of a container: omit contents in listing.

It’s actually documented in Writing with Inform, but I must have read it through three times without seeing it.

Thanks for that (notes taken), but I made a mistake when describing my problem: I want the contents to be hidden when examining an object, not when listing it. Like,

examine object
The object looks objective.
Inside the object is a content. <<< Go away stupid sentence!

Sorry for the misunderstanding.

Using the RULES testing command, you can often see which default rules are resulting in the printing of certain text:

[code]>rules
Rules tracing now switched on. Type “rules off” to switch it off again, or “rules all” to include even rules which do not apply.

x object
[examining the object]
[Rule “standard examining rule” applies.]
The object looks objtastic.

[Rule “examine directions rule” applies.]
[Rule “examine containers rule” applies.]
In the object is a content.
[/code]

Then, you can try just delisting that rule to see if that gets the effect you want (which in this case it does):

The examine containers rule is not listed in any rulebook.

Well, aaronius already answered this, but if you want to keep the rule intact (for use in certain cases, perhaps) I’d say the simplest thing to do is to override the examine containers rule.

Carry out examining when the noun is a container: abide by the standard examining rule for the noun; rule succeeds.

Rule succeeds ends the sequence after we’ve used the standard examining for the container in question. This may be too all-inclusive; it’s possible the rule should only be counted successful if the item was in fact successfully examined. If so,

Carry out examining when the noun is a container: abide by the standard examining rule for the noun; if examine text printed is true, rule succeeds.
should do it.

Addendum: this looks really stupid, so I’ll explain. The rule I wrote is completely redundant by itself, and you’d be better off disabling the examining containers rule as Aaron showed. However, if you want to keep the examining containers rule for certain containers, you could create a rule similar to the one I showed for the given objects.

Carry out examining when the noun is a large container: abide by the standard examining rule for the noun; if examine text printed is true, rule succeeds.

Thanks, you two! I “personalized” it, and it works. Will have to look up the mechanics behind it, though.

Carry out examining the fixture: abide by the standard examining rule for the noun; rule succeeds.

Just for my own edification: Can you do this by interrupting the Carry out examining rulebook?

[code]Carry out examining (this is the don’t print the contents of the fixture rule):
if the noun is the fixture, rule succeeds.

The don’t print the contents of the fixture is listed before the examine containers rule in the carry out examining rulebook.[/code]

I’d probably use an Instead rule instead:

Instead of examining the fixture: follow the standard examining rule for the fixture.

You know you can also suppress contents listing by making the container closed, right? You can even make it not openable if you want.