Unlocking an existing command

Hello all,

Some of you may have seen my previous post, but I’m working on a project and keep hitting some odd errors that documentation doesn’t always clear up, so I’m hoping you can help.

Currently, I’m trying redefine “buy [object]” from the default index for my own uses, but the compiler keeps spitting out an error. Here’s what I have for code:

Understand the command "buy" as something new. Understand "buy [object]" as buying. Buying is an action applying to one thing.

And this is what inform replies with:

Problem. You wrote ‘Buying is an action applying to one thing’ : but that seems to be an action already existing, so it cannot be redefined now. If you would like to reconfigure an action in the standard set - for instance if you prefer ‘unlocking’ to apply to only one thing, not two - create a new action for what you need (‘keyless unlocking’, perhaps) and then change the grammar to use the new action rather than the old (‘Understand “unlock [something]” as keyless unlocking.’).

I’ve followed the instructions and examples in section 17.3 (ex 292), but I still seem to be missing something.

Help?

As the error says, buying is an existing action (linked to “buy [something]”, “purchase [something]”, etc). Why not just add your rules to that?

Your code

: Understand the command "buy" as something new.
is merely unlinking the command-verb “buy” from the buying action. It is not eliminating or otherwise changing the buying action itself.

The difference between this and Example 292 is that there is no built-in reading action; by default “read” is a command-verb linked to the examining action.

Buying is a pre-existing action.As Draconis says, you can use the existing buying action, but if you really want a new one:

Understand the command "buy" as something new. Understand "buy [something]" as NewBuying. NewBuying is an action applying to one thing.