1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-05 16:44:21 +03:00
inform7/notes/release/8-2.md
2022-08-08 08:59:55 +01:00

277 lines
10 KiB
Markdown

# Release notes for Inform v8.2 (build 6E72)
This release was made on 1 Jul 2010, before Inform was open-sourced.
At that time bugs were tracked by a Mantis server, with seven-digit issue numbers,
and versions of Inform were identified by build codes in the form NLNN.
Suggestion numbers, also large but not starting with a 0, referred to tickets at
a Uservoice forum then in use.
This is part of the [historical archive of release notes](../version_history.md).
## Overview
This minor release of Inform contains no new features, and simply corrects a
number of bugs reported in build 6E59. We would like to thank Jesse McGrew,
especially, for setting up the Mantis-powered bug tracker on the Inform
website; but also, of course, all of the people who registered to use the
tracker, and who filed reports. The case numbers below, alarmingly in seven
digits, are references to this database at www.inform7.com/bugs.
## Documentation, examples and extensions
### Examples
- "WXPQ": Corrected the commentary portion of the example, which continued to
refer to outdated (as of 6E59) syntax for detecting parser errors.
- "North by Northwest": updated to mention "Use DICT_WORD_SIZE of..." as an
option to raise the nine-letter dictionary limit when compiling to Glulx.
### Extensions
- "Plurality": updated to remove deprecated "using... option" phrases; see
report 0000073.
- "Locksmith": updated to version 10 to remove deprecated "using... option"
phrases.
- "Complex Listing": updated to version 7 to remove deprecated "using... option"
phrases.
## Bug fixes
### Source text and punctuation
Bug fixed (0000045) whereby phrases defined in the form "(list) ... words ...
(list)" couldn't then be used with constant lists.
Bug fixed (0000064) whereby hard line breaks typed in the middle of text
with substitutions would cause problems.
Bug fixed (0000110) whereby Inform would sometimes not allow "otherwise"
clauses in "if" phrases whose condition ended with a digit, and whose first
character of the succeeding phrase began with one.
### Headings
Bug fixed (0000051) whereby heading cues for problem messages weren't very
nicely spaced, vertically.
### Extensions
Bug fixed (0000063) whereby installing an extension whose name contains a
full stop would cause all kinds of unfortunate results, such as Inform refusing
to compile projects altogether. (Full stops aren't allowed in extension names.)
Bug fixed (0000098) whereby the use of sections replacing sections found in
extensions would mask any problem messages about those extensions having the
wrong version.
Bug fixed (0000116) whereby variables in "unindexed" sections of extensions
would nevertheless be included in extension documentation (not technically
speaking the index; still, it must be right to exclude them).
### Assertions and creations
Bug fixed (0000130) whereby confusions of the start location with a direction
were reported with a cryptic problem message.
Bug fixed (0000112) whereby Inform could crash if asked to define objects using
a table, and one of the objects exists already with a different meaning.
Bug fixed (0000046) whereby the compiler might go into an endless loop issuing
problem messages in response to lines such as
```
There are 5 numbers in Home.
```
Problem message reporting such errors improved.
### Model world
Bug fixed (0000038) whereby examining enterable supporters sometimes
produced odd text.
Bug fixed (0000039) whereby a room whose name included the word "scene"
provoked spurious problem messages.
### Properties
Bug fixed (0000035) whereby assertions like "A tennis court has numbers called
length and width." would make one property, called "length and width", not
two, "length" and "width".
Bug fixed (0000037) whereby "X provides the property P" wouldn't always work
if P were a property whose name coincides with that of a kind of value.
Bug fixed (0000082) whereby adjective definitions based on the value of a
property would produce spurious problem messages if that property were
non-arithmetic, e.g., a truth state.
Bug fixed (0000117) whereby rooms not explicitly declared as such could not
be used as values of a property required to hold only rooms.
### Relations
Bug fixed (0000104) whereby one-to-one relations of values couldn't always
be tested directly.
Bug fixed (0000141) whereby conditions implicitly involving searches could
not be used in definitions of relations, and produced a spurious internal
error if they were.
Bug fixed (0000043) whereby Inform was not making sensible assumptions about
the valencies of relations when these weren't explicitly given; e.g. in
```
Pet ownership relates various animals to a person (called the owner).
```
it's clear that this is various-to-one, but Inform was assuming v-to-v.
Bug fixed (0000041) whereby relations defined using a named property, but
for values not able to take properties, resulted in obscure run-time problem
messages rather than a helpful compile-time one.
Bug fixed (0000042) whereby equivalence relations of unbounded kinds, such
as numbers, weren't working properly.
Bug fixed (0000049) whereby constant names of relations couldn't be used as
values of variables or table entries, etc., if those relations were over
unbounded kinds.
Relation memory usage slightly reduced in a few cases (see 0000059).
### Actions
Bug fixed (0000057) whereby requesting an actor to end the story resulted in
an "unable to do that" message.
### Rules and rulebooks
Bug fixed (0000143) whereby Inform could crash on the name of a rule which
contained parentheses.
Bug fixed (0000071) whereby phrases to invoke value-producing rulebooks didn't
work with lists or some other complicated values.
Bug fixed (0000072) whereby phrases which produce values didn't always work if
those values were to be lists or some other complicated values.
Bug fixed (0000070) whereby spurious programming errors about the "MStack"
would appear during start-up in some cases if rulebooks had variables which
contained lists.
### Lists
Bug fixed (0000074) whereby constant lists were constrained to no more than
127 entries. (The most serious bug in 6E59, and the main reason for this early
bug-fixing re-release.)
### Tables
Bug fixed (0000076) whereby self-referential constant lists didn't work in
tables defining a kind of value.
### Scenes
Bug fixed (0000075, 0000077) whereby the scene change machinery rule would
always succeed, rather than end without result, which made it impossible to
have rules working after it in the scene changing rulebook.
### Phrases and functional programming
Bug fixed (0000033) whereby definitions such as
```
To say foo (X - text): ...
```
could not then be used.
Bug fixed (0000079) whereby the text substitution "[a list of ...]" would
sometimes list the wrong things if the description included a negated relative
clause, e.g., "a list of things in the cupboard which are not dishes".
Bug fixed (0000102) whereby "Definition:"s of adjectives given in the longer,
phrasal form would always be compiled as if they applied to objects, whatever
the specified domain of the adjective, with usually unfortunate results.
Bug fixed (0000050) whereby descriptions used as phrase tokens would sometimes
be disallowed on grounds of their specificity, but wrongly - e.g., "all open
doors" wouldn't be allowed as a description of things, when in fact it's fine
as such because doors are things.
Bug fixed (0000105) whereby phrase tokens which had to match specific list
values, and possibly other complicated values, didn't work.
Bug fixed (0000111) whereby phrase tokens involving relative clauses, such
as "(X - a number that is four)", would fail.
Bug fixed (0000107) whereby "if" phrases using cases would sometimes reject
constant names of other phrases on spurious type-checking grounds, if a
specific kind of phrase was required.
Bug fixed (0000087) whereby the problem message would be rather unhelpful
if a phrase were used to decide a value of a kind whose domain of values
was in fact empty.
Bug fixed (0000085) whereby invoking a phrase that cannot be applied
unambiguously produced unhelpful problem messages in some cases.
Bug fixed (0000099) whereby "now" could not be used to move backdrops.
Bug fixed (0000083) whereby using "decide on nothing" outside of a phrase -
clearly a mistake - produced an internal error instead of a helpful problem
message.
Bug fixed (0000032) whereby testing "if the player was on the holder of the
player" always came true during the first turn.
Bug fixed (0000033) whereby "say" phrases whose tokens included text could
not always be used. (An unusual thing to want to do, but legal.)
### Equations, units and arithmetic
Bug fixed (0000044) whereby Inform could sometimes crash while trying to
produce problem messages in reply to things like
```
showme the square root of "hello"
```
### Indexing
Bug fixed (0000054) whereby the Scenes index had various arguable deficiencies,
and could have been laid out better; this was really a suggestion, but was
acted on anyway.
Bug fixed (0000061) whereby the Kinds index incorrectly listed which properties
a kind typically held; and generally improved the coverage of properties on
the Kinds index page.
Bug fixed (0000068) whereby phrases with kinds including arrows would have
boldface misused.
Bug fixed (0000142) whereby the Phrasebook index subheadings would be wrong
if indexing phrases defined in an extension, under headings in that extension
which contained two hyphens.
### Releasing, bibliographic data, and cBlorb
Bug fixed (0000040) whereby play-in-browser pages using Parchment would
sometimes hang in Google's "Chrome" browser.
Bug fixed (0000058) whereby apostrophes couldn't be used edges of words in
the story title.
Bug fixed (0000146) whereby one-page source web pages would be "page 1 of 0"
rather than "page 1 of 1".
## Mac OS X app
The issue in which the Index became inaccessible after a run producing
Problem messages has been fixed.
## Linux app
Bug fixed (0000127) whereby the documentation for installed extensions
didn't work.
Bug fixed (0000144) whereby the main window couldn't be resized
smaller than a certain size.
Bug fixed (0000145) whereby installing the program for the first time
on a fresh Ubuntu system caused all sorts of problems.