Inform Library 6/12 and Inform 6.33.1 for Unix go beta

Isn’t keep_silent meant to silence a single action?

I don’t think so? In DM4:

The examples in the DM4 suggest that not.

Sorry, you have to remove them! I can use instead LanguageIsVerb(). It seems made ​​for that, but before i can use and test it, see the next message…

Try this:

Include "parser.h"; Include "verblib.h";

Object room "Room" with description "Room test" has light;
Object -> apple  "apple"  with name 'apple'  has edible;
Object -> apple1 "apple1" with name 'apple1' has edible;
Object -> george "George" with name 'george' has animate male proper;

[ Initialise; location = room;];
Include "grammar.h";
Release 1 / Serial number 140823 / Inform v6.33 Library 6/12-beta1 S

Room
Room test

You can see an apple, an apple1 and George here.

>george,

>george,xyz

>george,eat xyz

>george, eat
What do you want to eat?

>xyz

>

All is Wrong.

This is because there is no george.orders property. If you declared George like this:

Object -> george "George" 
        with name 'george', 
        orders [;
                "Hello!";
        ],
        has animate male proper;

George would then reply to anything you tell him with “Hello!”.

I think you’re reading it wrong. The Library clears keep_silent when the silenced action has finished.

Even so, shouldn’t the game say “There is no reply.”?

You’re right. I’ll take care of that.

It looks like there was a longstanding problem with order of operations in OpenSub() and with WriteListFrom() not checking things properly.

Okay, I think that’s it for the latest batch of bugs, Auraes. What’s next?

I think not, in library 6/11:

Release 1 / Serial number 140824 / Inform v6.33 Library 6/11 S

room
Room

You can see a box (which is closed) and a box1 (which is closed) here.

>open box

>open box1

>close box

>close box1

> 

Otherwise, what is the interest of keep_silent? Look at the examples in the dm4. Before , they always save the value of keep_silent.ks = keep_silent; keep_silent = true; <Close self>; keep_silent = ks;

LanguageLM: Examine: 1 “Darkness, noun. An absence of light to see by.”; => two spaces between noun & An?
LanguageLM: Enter: 2 " can " => Tense(" can ", " could “)?
LanguageLM: Go: 6 “nowhere.” => " nowhere.”?
LanguageLM: Insert: 10 SupportObj(x2,“on”,“in”), (the) x2, “.”; => SupportObj(x2,"on ",“in “)
LanguageLM: Lock: 1 (theActor) actor, " can lock.”; => Tense(” can ", " could ")?

Sorry, but the Object box is open but not empty. Object box isn’t equal to Object box2. There’s an Object ‘concealed’ and un Object ‘scenery’ in it:

OK… keep_silent = true: i’ll shut up.

Okay. Bug filed.

I was always taught when typing to put two spaces after a period, question mark, or exclaimation mark. Whether one does so or not these days is subject to much debate. There’s a compile-time option to contract these to one space after periods only or all three of these marks. I can safely leave these as-is.

Tense() call added.

Leading space added.

Trailing space added. It appears that the Library does not actually call L__M(##Insert, 10). That one is clearly intended for complaining that the bowling ball is too large to put into the pill bottle (for instance). Can you think of a way to cleanly and generally implement this or are we better off removing that response?

I thought that if a container contains a concealed or scenery object, that container should be reported as “empty” because such objects do not appear in room descriptions. If you have a box that’s just reported as open and another reported as empty, the player is given a clue that probably should not be given. Or am I misunderstanding this?

LanguageLM: Enter: 2 " can " => Tense(" can “, " could “)? You correct but you forgot space after can & could.
LanguageLM: Lock: 1 (theActor) actor, " can lock.”; => Tense(” can ", " could ")?

I don’t know. It’s not in library 6/11. My English is too bad to argue about this kind of question.

Just a quick message to tell you to keep up the good work, guys! Thanks for this deep testing and for the quick bugfixes, can’t wait to use the new version! :slight_smile:

Fixed these two and removed LanguageLM: Insert: 10.

I traced the keep_silent business to github.com/DavidGriffith/inform … 7cb7db9049 (the old CVS repo). Look for this line in parserm.h:

keep_silent = 0;    ! should be zero anyway, but just in case...

That was made by Roger Firth on September 4, 2004. I don’t know what was going through Roger’s head when he did that. Would someone please enlighten me as to what was going on there? What was he attempting to head off as alluded to by that “just in case” comment?

Auraes, please comment out that line from the latest version and tell me what you think?