I7 never issues the not something you need to refer to error

The I7 parser never prints the not something you need to refer to error. But I don’t know if the omission of this parser error is a bug or if it may be intentional and it’s just that the comments in the Parser Template haven’t been updated.

Anyway this is what the Parser Template says about the CantSee routine:

These comments read just the same in the old Inform 6.11 parser. The CantSee routine, however, has changed since then. In particular, it doesn’t invoke SCENERY_PE (which is the I6 name for the not something you need to refer to error) any more.

As far as I can tell there is nothing else in the Template Layer that ever sets the parser error to the not something you need to refer to error either.

But is it the intended behavior or a buggy slip of the keyboard?

It is intended. (At least, it makes sense.)

That error message existed to support an old (Inform 5 and earlier) parser feature: if you added dict words to the room, they would be accepted as if there were an uninteresting object visible in the room. That is to say, it was a cheap equivalent of this:

Object -> room_trash
  with name 'rug' 'wallpaper' 'litter' 'whatever-else'
  before [ 
    default: "That's not something you need to refer to in the course of this game.";
  has scenery;

This was a good tradeoff in v3 games (limited to 256 objects). But in v5+ it was generally better to make the scenery object; it cost little and it let you customize the message. I’ve never used this feature at all.

In I7, actions that refer directly to the room are supported. (Although, as you know, the standard library doesn’t have any.) (Except for debugging commands.) So the old pseudo-scenery feature has been removed. Commands that refer to rooms are parsed the same as commands that refer to any other object.

The modern equivalent of this feature, as in I6, is just to make a scenery object and give it a “instead of doing anything” rule.

If I remember correctly, the standard library does have an action that refers to the room in some circumstances: smelling. However, there is no grammar for it besides the vague command “smell.”

Listening is similar, right? Except that it has separate grammars for “listen” and “listen to…”

Thank you very much, Zarf, for the detailed explanation.

True. (So did I6, but that case didn’t trigger this parser error.) I should have said, no grammar lines that refer to rooms.