Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Inform library 6/10 now out

2 views
Skip to first unread message

Graham Nelson

unread,
Nov 6, 1999, 3:00:00 AM11/6/99
to
New release: Inform library 6/10
================================

This is a "maintenance release" of the Inform library, fixing
a number of known and fairly minor (if annoying) problems with
library 6/9. I was greatly helped in all this by Adam Cadre's
"Inform Library Patch Page", at

http://www.adamcadre.ac/inform.html

where bugs are both reported and solved. If Adam can spare the
time to keep this page going, and if people are willing to
report library mistakes to it, this excellent arrangement should
mean that designers won't have to wait for the next maintenance
release (often months away) for small problems to be worked out.
It also saves me from duplicating the work of a lot of people
who know Inform's insides rather better than I do.

In particular all bugs currently reported on that page are
fixed, or should be, in library 6/10 (with the exception that
I reluctantly disagreed with Gunther Schmidl about the ideal
behaviour of "it").

286. The largest modification is that a new parser disambiguation
algorithm replaces the old one, which many people disliked and
which made some rum choices sometimes. (This new algorithm is
the same one which was available as a test release in September.)
Basically, "all" works better (particularly "take all"), the
assumptions made in choosing a noun for a verb like "sit" are
more realistic, and ChooseObjects is returned "to its former
utility and glory" (Neil Cerutti) by re-acquiring power to
override almost everything else in disambiguation. This is
helpful if, like Ethan Dicks, you have an object representing
the eastern wall which isn't the same as the compass object
responding to the same name.

Some miscellaneous smaller modifications, and their requesters:

287. ParseToken() no longer returning bogus values which led
indirectly to vile zero errors. (Neil Cerutti)
288. The YesOrNo() routine no longer crashes if called from early on
in a game's Initialise() routine. (Peter Killworth)
289. Digits are now allowed as well as wordy numbers when typing
something like "take three coins", i.e., "take 3 coins"
is now allowed. (Irene Callaci)
290. The "successful save" message is no longer printed in response
to a successful restore: instead a quite different message,
which just so happens to have identical wording, is printed.
(Trust me -- this matters to Torbjorn Andersson.)
291. The response to an impossible "enter" (That's not something you
can enter.) is adjusted to better match what was typed, so
that it can become "That's not something you can stand on."
and so forth. (Andy Fischer)
292. If both are given, the after rule for Remove takes precedence
over the after rule for Take on a successful Remove action.
(Previously the precedence was the other way round, and this
change is arcane but sensible. Adam Cadre's doing)
293. "action_to_be" not set to ##Go on an implicit request to go
somewhere, that is, on typing "north" rather than "go north".
(Adam Cadre)
294. An empty text now fails parsing against "topic". (Me)
295. The variable "real_location" now always, in all cases and at all
times, holds the location of the player. That is, it is equal
to "location" unless the player is in darkness, in which case
"location" is equal to "thedark" and "real_location" holds
what "location" would be, if there were light to see by. (Me.
Previously its contents were undefined in the light, which was
unhelpful, because it meant that tests like

if (real_location == Hall_of_Mists) ...

didn't work. Now they do work, i.e., this test is passed
exactly when the player is in the Hall of Mists, whether there
is light or not.)
296. Full stop and comma not parsing properly in Infix mode. (Everyone
reported this one.)
297. An "each_turn" rule can now be killed by setting it to 0 or NULL;
either will do. (Me; for consistency with other such rules.)

I'm not sure whether to be pleased or not that we haven't reached
the 300th library bug-fix. Over a period of six years, this suggests
that I commit on average one bug per week... Library 6/10 is at:

ftp://ftp.gmd.de/incoming/if-archive/lib610.zip

On some machines, these files will also need ".h" attached.
(Volker and David normally expand this archive for the benefit
of those uncomfortable with zips when it is put into its
permanent position.)

Graham Nelson
6 November 1999

--
Graham Nelson | gra...@gnelson.demon.co.uk | Oxford, United Kingdom


meni...@pixi.com

unread,
Nov 6, 1999, 3:00:00 AM11/6/99
to
I found a minor bug when I used Library 6/10 to compile a game.
The error is in the 'verblibm' file, line 761:

Current line:

[ SaveSub flag

Should be:

[ SaveSub flag ;

Hope this helps.

Sent via Deja.com http://www.deja.com/
Before you buy.

Evin Robertson

unread,
Nov 7, 1999, 3:00:00 AM11/7/99
to
In article <ant0618300b0M+4%@gnelson.demon.co.uk>,

Graham Nelson <gra...@gnelson.demon.co.uk> wrote:
> This is a "maintenance release" of the Inform library, fixing
> a number of known and fairly minor (if annoying) problems with
> library 6/9. I was greatly helped in all this by Adam Cadre's
> "Inform Library Patch Page", at
>
> http://www.adamcadre.ac/inform.html
>
> where bugs are both reported and solved. If Adam can spare the
> time to keep this page going, and if people are willing to
> report library mistakes to it, this excellent arrangement should
> mean that designers won't have to wait for the next maintenance
> release (often months away) for small problems to be worked out.
> It also saves me from duplicating the work of a lot of people
> who know Inform's insides rather better than I do.

Would you consider changing Inform's license to allow distribution of
modified versions so people can distribute 'fixed' versions for people
who don't have patience to apply each bugfix? Also to allow people
who have made changes to the library to distribute source for their
games.

> In particular all bugs currently reported on that page are
> fixed, or should be, in library 6/10 (with the exception that
> I reluctantly disagreed with Gunther Schmidl about the ideal
> behaviour of "it").

The off-by-one input buffer overflow bug still remains. The
definition of the @read opcode clearly states that the first byte of
the buffer should be set to "the maximum number of letters which can
be typed," and the second to the number of characters actually typed.

Thus buffer needs to be at least buffer->0 + 2, and the Z-Machine
Standards Document recommends it be even one larger than this to cope
with buggy interpreters who add an extra 0.

The current code was obviously written with .z3 games in mind, but
newer Inform libraries can't compile to z3 games anymore.

Yet parserm.h still reads:

Array buffer -> 121; ! Buffer for parsing main line of input

...

buffer->0 = 120;


Yes very small and usually harmless, but it should be fixed, as three
bytes are less expensive than a single headache.


Thank you for your continuing work on Inform.

Graham Nelson

unread,
Nov 7, 1999, 3:00:00 AM11/7/99
to
In article <8023mr$v7e$1...@nnrp1.deja.com>, <URL:mailto:meni...@pixi.com>
wrote:

> I found a minor bug when I used Library 6/10 to compile a game.
> The error is in the 'verblibm' file, line 761:
>
> Current line:
>
> [ SaveSub flag
>
> Should be:
>
> [ SaveSub flag ;
>
> Hope this helps.

Thanks, yes. My apologies for this blunder: I've uploaded a
corrected version (different only in this semicolon) to...

ftp://ftp.gmd.de/incoming/if-archive/l610_2.zip

who...@missingpiece.com

unread,
Nov 7, 1999, 3:00:00 AM11/7/99
to
In article <ant0709410b0M+4%@gnelson.demon.co.uk>, Graham Nelson
<gra...@gnelson.demon.co.uk> wrote: <SNIPPED ERROR> > Thanks, yes. My

apologies for this blunder: I've uploaded a > corrected version (different
only in this semicolon) to... > >
ftp://ftp.gmd.de/incoming/if-archive/l610_2.zip I've just uploaded an LhA
archived copy of the Inform Library 6/10 to...
ftp://ftp.gmd.de/incoming/if-archive/inform_library610.lha It is of the
corrected version. -- Richard H. Poser II (The Next Generation) -- The
Whomiga Times: http://www.missingpiece.com/whomiga Amiga Inform Page:
http://www.missingpiece.com/inform/amiga.html

Sean T Barrett

unread,
Nov 7, 1999, 3:00:00 AM11/7/99
to
Evin Robertson <nit...@my-deja.com> wrote:
>Would you consider changing Inform's license to allow distribution of
>modified versions so people can distribute 'fixed' versions for people
>who don't have patience to apply each bugfix?

It's not clear to me that minor modifications couldn't be argued to be
"not substantially different" (the wording of the "license")--although
perhaps the intent behind those words has been indicated to mean otherwise
in the past?

If so, the license should probably be altered to be more clear.
While we're on the subject, it would IMHO be a good idea to put the
license in its own file and include it with the library releases; it
took me a long time to find it since the Designer's Manual Table of
Contents doesn't mention its existence, and it's buried in the *middle*
of the introduction.

Also, as it stands, there doesn't appear to be any official license
for the compiler source code, which is a bit unnerving for me since
I'm making modifications to it (and I have yet to get a reply from
Graham to my email on the subject).

Sean Barrett

Joe Mason

unread,
Nov 8, 1999, 3:00:00 AM11/8/99
to
Sean T Barrett <buz...@world.std.com> wrote:
>Evin Robertson <nit...@my-deja.com> wrote:
>>Would you consider changing Inform's license to allow distribution of
>>modified versions so people can distribute 'fixed' versions for people
>>who don't have patience to apply each bugfix?
>
>It's not clear to me that minor modifications couldn't be argued to be
>"not substantially different" (the wording of the "license")--although
>perhaps the intent behind those words has been indicated to mean otherwise
>in the past?

I have a modified library (the realtime hack of 6/8) on GMD, and nobody's
complained. I never even considered any licensing issues at the time.

Joe

Skip the Penguin

unread,
Nov 11, 1999, 3:00:00 AM11/11/99
to
Why not use the GPL?
http://www.gnu.org/copyleft/gpl.html
http://www.gnu.org/copyleft/lesser.html

Sean T Barrett wrote:
>
> Evin Robertson <nit...@my-deja.com> wrote:
> >Would you consider changing Inform's license to allow distribution of
> >modified versions so people can distribute 'fixed' versions for people
> >who don't have patience to apply each bugfix?
>
> It's not clear to me that minor modifications couldn't be argued to be
> "not substantially different" (the wording of the "license")--although
> perhaps the intent behind those words has been indicated to mean otherwise
> in the past?
>

> If so, the license should probably be altered to be more clear.
> While we're on the subject, it would IMHO be a good idea to put the
> license in its own file and include it with the library releases; it
> took me a long time to find it since the Designer's Manual Table of
> Contents doesn't mention its existence, and it's buried in the *middle*
> of the introduction.
>
> Also, as it stands, there doesn't appear to be any official license
> for the compiler source code, which is a bit unnerving for me since
> I'm making modifications to it (and I have yet to get a reply from
> Graham to my email on the subject).
>
> Sean Barrett

--
Every constellation is but a gathering of distant suns. It is mere
perspective that makes Betelgeuse a star. Seen close enough she is
a raging fire. A sphere of flaming hydrogen, if it be nearer, will
dominate the sky and blot out all the lesser lights. And such a fire
will say again, "Earthmaker has a living Son."
-Calvin Miller, "The Singer"

0 new messages