1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-04-29 15:49:36 +03:00
inform7/notes/release/10-1-0.md
2022-08-20 11:36:48 +01:00

47 KiB

Release notes for Inform v10.1.0

This release was made in August 2022. Bug reports were at this time tracked at Jira, with issue numbers written I7-NNNN, but Mantis issue numbers continued to be used for bugs fixed before the move to Jira, so that this log contains some of each.

Overview

This first release built on the entirely rewritten Inform code-base contains relatively little change in the language specification, but the move to an Inter-based architecture, together with full support for command-line tools, results in many new lower-level features.

Because of the scale of internal disruption since version 9.3, an exhaustive list of small changes is difficult to compile. Past release notes have served as interim documentation on new facilities, but this repository now provides all of that more easily. In particular:

  • The entire source base has been published as a literate program here.
  • The compiler is now available as three command-line tools:
  • Internally, two major new concepts have arrived:
    • Inter, a new intermediate representation used inside the compiler;
    • kits, which evolved from the old concept of "template files" and "template code".
  • The old Standard Rules extension has been divided in two: one half called Basic Inform, which sets up the language itself, and another containing the world model and its actions, still called the Standard Rules. Basic projects can be compiled which do not use the Standard Rules at all, and have no command loop.
  • The new Inter architecture allows for multiple possible compilation targets, and in particular Inform source text can now be compiled to C instead of I6 code, though only at the command line (the apps do not use C). See the documentation on calling Inform from C.

Inform release notes have historically also included brief release notes on new features and bug fixes in the apps for Windows, MacOS and Linux. But those have their own repositories, and their own release notes, so from now on these core Inform release notes will only mention major app changes.

Inweb version

Inform's one build dependency is the Inweb literate programming system. At the time of this release, the current Inweb version was 7.2.0.

Language changes

As noted, there are surprisingly few changes to the outward-facing language since version 9.3.

  • The semantic versioning standard, see semver.org, has been adopted throughout the Inform tools, and in particular is what inbuild uses internally. As part of that, extensions can now give any valid Inform semver as their version numbers. See this implementation for exactly what the rules are, but there won't be anything surprising. Past extension version numbers in the form 9 or 9/861022 are automatically converted to 9.0.0 or 9.0.861022 as a semver, but are still legal. So for example this:

    Version 3.1.4 of Sliced Pie by Marvin Dougal begins here.
    

    is now legal in the opening declaration of an extension, and

    Include version 3.1 of Sliced Pie by Marvin Dougal.
    

    is legal as a way to include that extension. The Inform build manager inbuild allows v3.1.4 to be used to meet a request for v3.1 because semver rules say that it ought to be compatible. See the inbuild manual for how to store multiple versions of the same extension side-by-side.

  • When I6-syntax material is spliced into Inform source text with the Include (- ... -) construction, that material now has to comply with the same rules applying to the source code for kits, also written in an I6 syntax. In both cases, the material in question is no longer being compiled to Z-code or Glulx virtual machine assembly language by inform6; it is now being compiled to Inter intermediate code by a completely different mechanism in inter. Most of the time users will never notice the difference, and in any case Include (- ... -) is an expert-level feature really only intended for complex extensions. However, there are a handful of differences because inter does not quite read the entire range of syntax which inform6 does. Of these, the most significant are:

    • Only new-style for loops with colons in the header, for (i=0: i<10: i++), are allowed: not the old style with semicolons, for (i=0; i<10; i++). Changing the semicolons to colons fixes any problems.
    • To inform6, local variable names are allowed to coincide with statement names: thus you can have a local called style even though this is also a statement keyword. inter does not allow this and all such words are reserved. The workaround is simply to rename the local in question.
    • The indirect(...) function, never really documented but used in a number of old template files, cannot be used with inter. But since indirect(A) is equivalent to A(), which does work, this is easy to avoid.
  • The Include (- ... -) construction previously provided a way to specify where an inclusion should occur - before or after certain headings or template files. Those syntaxes have all been removed, since they now have no meaning. (They assumed the code would always be literally spliced together into an Inform 6 output file: this is now far from true.) So, for example,

    Include (- ... -) before "Parser.i6t".
    

    now has no meaning; Parser.i6t no longer even exists, and there's no sense of ordering in any case. In practice the code-generator is now much better at avoiding code-ordering issues, and this removes any need for inclusions to be before or after anything, so just deleting those words will usually make everything okay:

    Include (- ... -) before "Parser.i6t".
    

    However, instead of is more problematic. This was typically used by extensions to replace a function inside one of the old template files with a new implementation. That remains possible, but must be written differently:

    Include (-
    	[ BadOldFunction;
    		print "This is my deluxe new version!^";
    	];
    -) replacing "BadOldFunction".
    

    In fact this also works for variable and constant names, among other forms of declaration. In each case, though, the idea is to supply a different declaration for the same Inter symbol, which has to be a symbol defined in one of the kits.

  • Suppose that the main source text creates a command verb PURLOIN: this clashes with the definition of PURLOIN made by CommandParserKit, a testing command intended not to play any part in actual play. In previous versions of Inform, such clashes were annoying enough that authors generally had to avoid those command verbs entirely. But Inform now automatically detects clashes of this sort, and silently changes the debugging command by putting an exclamation mark ! in front. In this example PURLOIN would have the meaning in the source text, and !PURLOIN the meaning in the kit. Note that preference is given to non-meta commands (i.e., those affecting the world model) over testing commands.

  • In text substitutions, a local variable name is preferred over an adaptive verb; e.g. if index is both the name of a local variable and also the infinite of a verb to index, so that text such as "Consider [index]." is ambiguous - print the value of the variable, or print an inflected form of the verb? - Inform will now give the local variable name priority, on the general grounds that local definitions should override global ones.

  • Adjective inflection in English has been improved: thus

    • big to the comparative bigger and superlative biggest
    • long to the quantity length
  • A new "can't insert what's already inserted rule" has been added to the Standard Rules; which does what it says on the tin.

  • For phrases which refer to things "in" a list, the preposition "from" can now be used instead. Thus remove X in L and remove X from L are equivalent, as are number of entries in L and number of entries from L, and so on.

  • Numerous maxima have been removed (for example, the limit on object name length has gone), or raised (for example, the limit on quoted text length was raised to 8K).

  • The Options.txt file, if used, is now expected to be encoded as UTF-8, not ISO Latin-1. In practice it almost always contains ASCII characters anyway.

  • When compiling via I6, the STRIP_UNREACHABLE_LABELS and OMIT_UNUSED_ROUTINES features (fairly newly available in the inform6 compiler) are now enabled, and eliminate a great deal of unnecessary code. This can reduce the size of resulting Z-machine story files, where economy matters, by 10-20% (though the saving is all from the code area, not addressable data, which tends to be the more serious constraint).

  • The extension Glulx Entry Points by Emily Short has been removed from the core distribution because it is unlikely to be helpful for modern Glk users: we hope to provide better facilities in a future release of Inform. In the mean time, the final state of GEP, 10/150101, has been added to the v10 version of the Public Library for people who still need it for older projects.

Bug fixes

Since this release comes after a long period of reconstruction and code review, there's not really any way to itemise every bug fix: many little bugs were fixed which hadn't been seen in the wild, so far as we know. But the following are the most important 150 or so, which were indeed reported, and for which issue numbers at our tracker and commits can be identified.

  • Fix for Jira bug I7-2182 "Internal error on redefining 'above' or 'below' by table" (commit 606185d)

  • Fix for Jira bug I7-2166 "Projects with no IFID still try to print it in the VERSION command" (commit c1731ec)

  • Fix for Jira bug I7-2171 "File writing fails aren't detected, so should check that the files aren't 0 length" (commit 3dc60f5)

  • Fix for Jira bug I7-2156 "Character escapes in Inform 6 strings, dict words and chars are treated literally" (commit bf7805d)

  • Fix for Jira bug I7-2164 "When you "Use DICT_WORD_SIZE", all input generates runtime errors" (commit d442a01)

  • Fix for Jira bug I7-2157 "Inform 6 char literal ''' produces invalid Inform 6 code" (commit 7857794)

  • Fix for Jira bug I7-2159 ""An internal error has occurred: project graph not ready." when compiling bare project to C" (commit e22e1a0)

  • Fix for Jira bug I7-2137 "Built-in Inform 6 glk function" (commit de4d348)

  • Fix for Jira bug I7-1877 = Mantis 0001913 "Grouping objects together can fail if there are several groups" (commit e0ac92f)

  • Fix for Jira bug I7-2003 = Mantis 0002039 "Parser selecting "not enough of those available" error inappropriately, and producing nonsense" (commit 10ff2a1)

  • Fix for Jira bug I7-1788 = Mantis 0001824 "Too specific error message for rules applying to qualified lists" (commit 5585d75)

  • Fix for Jira bug I7-2136 "Update version number discussion in inform7/Manual/Interacting with the GUI.w" (commit fae7ecc)

  • Fix for Jira bug I7-1856 = Mantis 0001892 ""after reading a command" rule causes subsequent restart to crash built-in interpreter" (commit 0d4829e)

  • Fix for Jira bug I7-1922 = Mantis 0001958 "WWI §6.14 contains an invalid code snippet" (commit ec6deb0)

  • Fix for Jira bug I7-1806 = Mantis 0001842 "Can't define constants that refer to phrases" (commit cded48a)

  • Fix for Jira bug I7-2069 "[GH:inform7-bugs 2] Compiler generates wrong code when defining a "to decide" phrase without making a decision" (commit 25cc80a)

  • Fix for Jira bug I7-2124 "Activities as parameters" (commit a79b56f)

  • Fix for Jira bug I7-2123 "An I6 inclusion that causes an Inter problem node" (commit 4b7ad58)

  • Fix for Jira bug I7-2130 "Maybe interpret old-style Version 1/220522 as semantic version 1.1.220522 ?" (commit 3f3f150)

  • Fix for Jira bug I7-2125 "Inblorb copies Cover.png to Small Cover.png" (commit fa33a41)

  • Fix for Jira bug I7-1846 = Mantis 0001882 ""Instead of asking Bob about it" causes run-time Glulxe error (call to non-function)" (commit a2cc57f)

  • Fix for Jira bug I7-1939 = Mantis 0001975 "Conditions with inner existential quantifier tested incorrectly" (commit ef072e6)

  • Fix for Jira bug I7-2053 = Mantis 0002090 "Listing group size with duplicates" (commit d4065df)

  • Fix for Jira bug I7-2115 "Player command misunderstood in some cases when first noun was ambiguous and second noun was missing" (commit 47978f0)

  • Fix for Jira bug I7-2118 "let x be a [subkind of thing when no objects of that kind exist]: x is assigned yourself" (commit 87b3b71)

  • Fix for Jira bug I7-2117 "showme the meaning of verb"; meaningful adjective for verbs has odd results" (commit 2d30638)

  • Fix for Nathanael Nerode's bug to do with parser error misnumbering (commit 0ff2384)

  • Fix for Jira bug I7-2116 "Setting and using the story creation year crashes inform7" (commit d32f9c7)

  • Fix for Jira bug I7-2070 "[GH:inform7-bugs 3] Rooms is actually a common last name - Object names including the plural form of the name of an instantiated kind (or of any specifically declared plural form) cause inappropriate parser responses" (commit 13bbc6a)

  • Fix for Jira bug I7-2093 "When compiling without no-index, if there's any file under External/Extensions/author name that inform7 can't parse, compilation fails" (commit 51f1742)

  • Fix for unrelated issue raised in reopening of Jira bug I7-2083 "Relations involving various texts" (commit 9bffe2a)

  • Fix for Jira bug I7-2107 "Measured Liquids: wrong kind of value for the possibilities being chosen from: a rule instead of a rule" (commit 4bd2c0a)

  • Fix for Jira bug I7-2105 "Error messages for bad parameters to inform7 could be clearer" (commit d08a965)

  • Fix for Jira bug I7-2097 ""get hold of extensions which people have made public at the Inform website" error message" (commit 91a4a95)

  • Fix for Jira bug I7-2110 "I6 inclusion of "Message fatalerror" not present in auto.inf" (commit 20147da)

  • Fix for Jira bug I7-2083 "Relations involving various texts" (commit 7407443)

  • Fix for Jira bug I7-2109 ""Inform 6 constant in kit too complex"." (commit 557c010)

  • Fix for two unrelated issues in Jira bug report I7-2090 "Segfault on compiling Counterfeit Monkey" (commit 03d5d1e)

  • Fix for Jira bug I7-2091 "inblorb fails when Release.blurb includes a picture with alt text" (commit 4c16506)

  • Fix for Jira bug I7-2106 "Extensions using authorial modesty are still printed by VERSION/"[list of extension credts]"" (commit ed86853)

  • Fix for Jira bug I7-2099 "Internal error when passing an integer variable to a phrase that expects a real number" (commit 15062de)

  • Fix for Jira bug I7-2100 "Compiler error regarding an I6 Inclusion in an extension reports that the error was in a kit." (commit 37bf39d)

  • Fix for Jira bug I7-2103 "auto.inf is generated with variable names exceeding I6's 32-character limit" (commit fe95b12)

  • Fix for Jira bug I7-2094 "Unicode Full Character Names doesn't compile" (commit 62bfb9d)

  • Fix for Jira bug I7-2082 "as mapped above, so mapped below" (commit d9e961e)

  • Fix for Jira bug I7-2085 "Text styling instructions are mistranslated" (commit d8de2ba)

  • Fix for Jira bug I7-2088 "doc bug: phrase option with comma in say statement in code sample causes compilation error" (commit c5e7597)

  • Fix for Jira bug I7-2078 "When -project is passed an illegitimate project directory, error is "There doesn't seem to be any location"" (commit a32d287)

  • Fix for Jira bug I7-1933 = Mantis 0001969 "Taking multiple objects from a held container yields "none at all available" message" (commit 5b8de72)

  • Fix for Jira bug I7-1714 = Mantis 0001750 "Impossible to modify 2 responses in Locksmith" (commit 0f3fb2e)

  • Fix for Jira bug I7-1738 = Mantis 0001774 "Responses for rules with "is" in their names can't be set in initial declarations" (commit dad80cb)

  • Fix for Jira bug I7-1740 = Mantis 0001776 "Cannot use "matched as" in action variables for user-defined rulebooks" (commit b4a03dc)

  • Fix for Jira bug I7-1746 = Mantis 0001782 "Use of "relations" testing command results in "illegal object number" message" (commit 1c71503)

  • Fix for Jira bug I7-1783 = Mantis 0001819 "Internal error on overlong table names" (commit f824a92)

  • Fix for Jira bug I7-1784 = Mantis 0001820 "Internal error on rulebook outcomes with parentheses" (commit b1e7bd0)

  • Fix for Jira bug I7-1785 = Mantis 0001821 "Bad Problem message for "X is a kind of X"" (commit 6075e58)

  • Fix for Jira bug I7-1786 = Mantis 0001822 "Internal error on phrase definition specific to a particular action" (commit bb0508e)

  • Fix for Jira bug I7-1787 = Mantis 0001823 "Internal error on "during" clause with description of scenes" (commit 8e07790)

  • Fix for Jira bug I7-1792 = Mantis 0001828 "Understand lines with [any] tokens break "answering"" (commit ee21339)

  • Bug fix to do with unopposed directions (commit 2e5e6f1)

  • Fix for Jira bug I7-1805 = Mantis 0001841 "Compiler crashes when trying to use "in place of" to remove section of extension." (commit 8776b2d)

  • Fix for Jira bug I7-1808 = Mantis 0001844 "I6 error on incomplete action in table" (commit fcb3dbe)

  • Fix for Jira bug I7-1810 = Mantis 0001846 "Certain unnamed creations interpreted as assertions about kinds" (commit cdb2b8a)

  • Fix for Jira bug I7-1811 = Mantis 0001847 "Certain declarations of actions that vary rejected" (commit bd758b3)

  • Fix for Jira bug I7-1814 = Mantis 0001850 "Hang on convoluted map with conflicting mapping instructions" (commit 64cb491)

  • Fix for Jira bug I7-1815 = Mantis 0001851 "Abject "parse tree broken" error on assembly specifying number and property" (commit d87f28f)

  • Fix for Jira bug I7-1816 = Mantis 0001852 ""Index out of range" error when processing long chunks of text" (commit 79afffa)

  • Fix for Jira bug I7-1825 = Mantis 0001861 "Ex 228 Otranto rope example causes stack overflow if an unconnected rope is taken out of a container." (commit a1163b3)

  • Fix for Jira bug I7-1829 = Mantis 0001865 "Texts are not recognized as equal if both have substitutions" (commit 47d441f)

  • Fix for Jira bug I7-1831 = Mantis 0001867 "Accessibility rulebook is badly documented, and inaccessible" (commit 6fae4ff)

  • Fix for Jira bug I7-1835 = Mantis 0001871 "Compiler crash when a condition is checking "we have..." of a kind of action" (commit 66d2f10)

  • Fix for Jira bug I7-1836 = Mantis 0001872 "Example 293 has run-time error" (commit 7a29e39)

  • Fix for Jira bug I7-1838 = Mantis 0001874 "Rules Backus-Naur example is outdated" (commit 365283e)

  • Fix for Jira bug I7-1840 = Mantis 0001876 "Confusing error message with provision relation" (commit 54a21cb)

  • Fix for Jira bug I7-1844 = Mantis 0001880 ""Script on" does not recover if transcript file cannot be re-opened" (commit bddb6af)

  • Fix for Jira bug I7-1855 = Mantis 0001891 "Internal Rules are not reported by RULES or RULES ALL" (commit cf2eaaf)

  • Fix for Jira bug I7-1861 = Mantis 0001897 "Explicit empty lists don't have the correct type" (commit 4e3d771)

  • Fix for Jira bug I7-1802 = Mantis 0001838 "Checking if a use option is active causes crash if it has more than one definition" (commit 6e04553)

  • Fix for Jira bug I7-1868 = Mantis 0001904 "Duplicate-named (with dash) tables causes crash" (commit ce8014c)

  • Fix for Jira bug I7-1936 = Mantis 0001972 "Printing with an indirect article double-calls text substitution and can yield incorrect indefinite article" (commit 6e394e5)

  • Fix for Jira bug I7-1871 = Mantis 0001907 ""prior named object" is not explained" (commit 6e27e27)

  • Fix for Jira bug I7-1872 = Mantis 0001908 "A fuller example of "filter" in WI §22.5 would be helpful" (commit 60e83d3)

  • Fix for Jira bug I7-1876 = Mantis 0001912 "Error message not clear about "above" and "below"" (commit b110c6d)

  • Fix for Jira bug I7-1878 = Mantis 0001914 "DiagnoseSortList routine for DBLW not working" (commit ae46105)

  • Fix for Jira bug I7-1879 = Mantis 0001915 "Unhelpful error message produced when the player is declared to be carrying scenery" (commit 98b8320)

  • Fix for Jira bug I7-1883 = Mantis 0001919 "Testing commands holding multiple objects won't compile" (commit 1181c19)

  • Fix for Jira bug I7-1888 = Mantis 0001924 "Text substitution with "item described" in indefinite article gets called for a room when looking" (commit e71bd9e)

  • Fix for Jira bug I7-1889 = Mantis 0001925 ""item described" is incompletely documented" (commit 19e635c)

  • Fix for Jira bug I7-1890 = Mantis 0001926 "Section 14.4: Pluralization mistake in example text?" (commit 3b27001)

  • Fix for Jira bug I7-1891 = Mantis 0001927 "Section 14.6: Example with unexpected adapted verb" (commit 87ee13d)

  • Fix for Jira bug I7-1892 = Mantis 0001928 "Missing paragraph break after output of "abstract" I6-level debug command" (commit 3713635)

  • Fix for Jira bug I7-1894 = Mantis 0001930 "Matching topic via table causes a memory access error" (commit d3bf06e)

  • Fix for Jira bug I7-1899 = Mantis 0001935 "Totals of real-numbered specified units are wrong" (commit 3ece0f2)

  • Fix for Jira bug I7-1826 = Mantis 0001862 "Abject "parse tree broken" error matching topic" (commit db121ff)

  • Fix for Jira bug I7-1905 = Mantis 0001941 "Using a kind of value as unnamed property prevents the use of the value in named global variables" (commit 90b586d)

  • Fix for Jira bug I7-1910 = Mantis 0001946 "Inconsistent iterating over entire kinds" (commit d4122ee)

  • Fix for Jira bug I7-1885 = Mantis 0001921 "The compiler somewhat accepts rooms as things when creating relations." (commit ea328f3)

  • Fix for Jira bug I7-1915 = Mantis 0001951 ""Only understood as far as" error can include an extra word" (commit f9f6811)

  • Fix for Jira bug I7-1918 = Mantis 0001954 "Inconcise error message when checking for relations to non-existing nouns" (commit 420542d)

  • Fix for Jira bug I7-1922 = Mantis 0001958 "WWI §6.14 contains an invalid code snippet" (commit 5bd8e03)

  • Fix for Jira bug I7-1927 = Mantis 0001963 "Outdated information in WWI on "printing the name of something" activity" (commit 6d2bca5)

  • Fix for Jira bug I7-1928 = Mantis 0001964 "WWI §19.13. Rulebooks producing values: An action based rulebook creation fails" (commit e106b01)

  • Fix for Jira bug I7-1938 = Mantis 0001974 "Unclear Problem message placing object in variable room" (commit a903453)

  • Fix for Jira bug I7-1941 = Mantis 0001977 "I6 or internal error on proposition referring to many locals" (commit fd2a34f)

  • Fix for Jira bug I7-1942 = Mantis 0001978 "Internal error on proposition with sufficiently nested quantifiers" (commit 06272f0)

  • Fix for Jira bug I7-1943 = Mantis 0001979 "Phrase definition with numbers bracketing colon rejected" (commit 76ae1a9)

  • Fix for Jira bug I7-1946 = Mantis 0001982 "Regional-containment doesn't relate regions correctly" (commit 8af83ac)

  • Fix for Jira bug I7-1947 = Mantis 0001983 "Index does not list "during" clauses for actions" (commit 70ff5f4)

  • Fix for Jira bug I7-1951 = Mantis 0001987 ""Galileo, Galileo" example for Approximate Metric Units extension shows incorrect results" (commit 2a998de)

  • Fix for Jira bug I7-1954 = Mantis 0001990 "Parser's interpretation of ambiguous command varies strangely" (commit 58f64b1)

  • Fix for Jira bug I7-1958 = Mantis 0001994 "Adjacency test for locations behaves unexpectedly for off-stage things" (commit 2a5197c)

  • Fix for Jira bug I7-1960 = Mantis 0001996 "Part of examples reference Table A but later parts reference Table B" (commit a26eb1f)

  • Fix for Jira bug I7-1963 = Mantis 0001999 "Concealment relation encompasses too much" (commit 4a6c65d)

  • Fix for Jira bug I7-1966 = Mantis 0002002 "Numerical use options can't have default value zero" (commit f9e4403)

  • Fix for Jira bug I7-1968 = Mantis 0002004 "Flipped RTPs for ending/abandoning activity not in progress" (commit efe630b)

  • Fix for Jira bug I7-1969 = Mantis 0002005 "Example 300: Looking up a footnote < 1 throws a run-time error" (commit 3172f5a)

  • Fix for Jira bug I7-1970 = Mantis 0002006 "Documentation inside example in extension project causes miscompilation" (commit 5d6c6d0)

  • Fix for Jira bug I7-1803 = Mantis 0001839 (and 0002012 ) "Internal error on empty filename for figure or sound" (commit 5da67dc)

  • Fix for Jira bug I7-1972 = Mantis 0002008 "Improper "doing something other than this or that" description of actions yields a confusing error message" (commit 1a92fbc)

  • Fix for Jira bug I7-1986 = Mantis 0002022 "Compiler error when checking against a kind of action" (commit 06fb9a8)

  • Fix for Jira bug I7-1991 = Mantis 0002027 "Empty understand causes hard hang at runtime." (commit 3441f24)

  • Fix for Jira bug I7-1996 = Mantis 0002032 "Past tense of digging action incorrectly set to "digged"" (commit 0dc42eb)

  • Bug fix for spacing in Alphabetic index of Actions (commit a27ac53)

  • Fix for Jira bug I7-1998 = Mantis 0002034 "Sayable values using temporary value cause failure of text in "end the story saying" phrase?" (commit 231e86c)

  • Fix for Jira bug I7-1999 = Mantis 0002035 "Inform crashes with a stack overflow when appending to indexed text variables." (commit 23670bf)

  • Fixed Glulx-only bug in which a newline could be printed before a window had been opened, crashing very strict Glk implementations (commit e3d88b3)

  • Fix for Jira bug I7-2004 = Mantis 0002040 "Inform chooses incorrect phrase when reporting the error." (commit 2a4e9dd)

  • Fix for Jira bug I7-2009 = Mantis 0002045 "Release with folder doesn't work." (commit 1e23e65)

  • Fix for Jira bug I7-2010 = Mantis 0002046 ""undo" after replay input crashes Glulx interpreter" (commit d96c960)

  • Fix for Jira bug I7-2017 = Mantis 0002054 "Properties of generic objects not assigned correctly" (commit 39a7ca6)

  • Fix for Jira bug I7-2016 = Mantis 0002053 "Misleading comment on specifying a unit taking real number values" (commit 9b87f3e)

  • Fix for Jira bug I7-2018 = Mantis 0002055 "Code in WwI uses obsolete phrase" (commit 21cfe8f)

  • Fix for Jira bug I7-2033 = Mantis 0002070 "Error in source text and indentation for "repeat with" causes compiler error 11" (commit 1987a34)

  • Fix for Jira bug I7-2030 = Mantis 0002067 "Extending 'show' to work for any visible noun creates infinite loop. Probably" (commit 07660ac)

  • Fix for Jira bug I7-2031 = Mantis 0002068 "'instead' rule requires 'something' instead of 'it" (commit e29d0ad)

  • Fix for Jira bug I7-2047 = Mantis 0002084 "Understanding something by a thing-valued property yields a misleading error message" (commit 6a6aa00)

  • Fix for Jira bug I7-2050 = Mantis 0002087 "Objects in tables can't start with a number" (commit 45b53fc)

  • Fix for Jira bug I7-2068 = Mantis 0002105 "Impossible to remove the space after an article" (commit 3cf5334)

  • Fix for Jira bug I7-2038 = Mantis 0002075 "Multiplying a multi-part unit by a real number yields absurd results" (commit 389d13d)

  • Fix for Jira bug I7-2044 = Mantis 0002081 ""Change" construct from manual isn't recognized." (commit ce373c1)

  • Fix for Jira bug I7-2043 = Mantis 0002080 "Too many synonyms for z8 causes compiler failure" (commit c1378e1)

  • Fix for Jira bug I7-2049 = Mantis 0002086 "Default generated plural of "human" is "humen" instead of "humans"" (commit c143db1)

  • Fix for Jira bug I7-2059 = Mantis 0002096 ""Zodiac" example shows library isn't interpreting instead rule correctly" (commit 5a8ad1d)

  • Fix for Jira bug I7-2060 = Mantis 0002097 "Typo in rule name in WWI §18.34" (commit 5baa997)

  • Fix for Jira bug I7-2067 = Mantis 0002104 "WWI §9.2 recommends awarding points in a way that doesn't work" (commit 7b361ce)

  • Fix for Jira bug I7-2061 = Mantis 0002098 "WWI §21.2 suggests changing the value of a variable with "let"" (commit 6d1fe47)

  • Fix for Jira bug I7-2065 = Mantis 0002102 "Internal error when grouping together cards" (commit 1d71b34)

  • Fix for Jira bug I7-2045 = Mantis 0002082 "Trying to print the minimum integer in words instead prints nothing at all" (commit e369779)