1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-01 06:24:58 +03:00

Fix for inblorb hang when releasing with solution

This commit is contained in:
Graham Nelson 2022-07-02 10:30:57 +01:00
parent 51e6ad8b97
commit 507a15e43d
5 changed files with 19 additions and 16 deletions

View file

@ -1,6 +1,6 @@
# Inform 7 # Inform 7
v10.1.0-beta+6V32 'Krypton' (30 June 2022) v10.1.0-beta+6V33 'Krypton' (2 July 2022)
## About Inform 7 ## About Inform 7

View file

@ -1,3 +1,3 @@
Prerelease: beta Prerelease: beta
Build Date: 30 June 2022 Build Date: 2 July 2022
Build Number: 6V32 Build Number: 6V33

View file

@ -210,6 +210,7 @@ We shall therefore make few assumptions about it.
<pre class="displayed-code all-displayed-code code-font"> <pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">new_child</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent</span><span class="plain-syntax"> = </span><span class="identifier-syntax">current_skein_node</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">new_child</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent</span><span class="plain-syntax"> = </span><span class="identifier-syntax">current_skein_node</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">new_child</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">sibling</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">current_skein_node</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">child</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span> <span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">current_skein_node</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">child</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">current_skein_node</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">child</span><span class="plain-syntax"> = </span><span class="identifier-syntax">new_child</span><span class="plain-syntax">;</span> <span class="plain-syntax"> </span><span class="identifier-syntax">current_skein_node</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">child</span><span class="plain-syntax"> = </span><span class="identifier-syntax">new_child</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span> <span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>

View file

@ -136,6 +136,7 @@ void Solution::read_skein_line(text_stream *line, int pass) {
@<Make the parent-child relationship@> = @<Make the parent-child relationship@> =
new_child->parent = current_skein_node; new_child->parent = current_skein_node;
new_child->sibling = NULL;
if (current_skein_node->child == NULL) { if (current_skein_node->child == NULL) {
current_skein_node->child = new_child; current_skein_node->child = new_child;
} else { } else {
@ -300,6 +301,7 @@ void Solution::prune_irrelevant_lines(void) {
skn->parent = NULL; skn->parent = NULL;
skn->sibling = NULL; skn->sibling = NULL;
@h Step 4: writing the solution file. @h Step 4: writing the solution file.
= =

View file

@ -1,9 +1,9 @@
100.0% in inform7 run 100.0% in inform7 run
71.4% in compilation to Inter 70.4% in compilation to Inter
50.5% in //Sequence::undertake_queued_tasks// 50.5% in //Sequence::undertake_queued_tasks//
4.8% in //MajorNodes::pre_pass// 4.4% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1// 3.4% in //MajorNodes::pass_1//
1.9% in //ImperativeDefinitions::assess_all// 1.8% in //ImperativeDefinitions::assess_all//
1.4% in //RTKindConstructors::compile// 1.4% in //RTKindConstructors::compile//
1.4% in //RTPhrasebook::compile_entries// 1.4% in //RTPhrasebook::compile_entries//
1.0% in //Sequence::lint_inter// 1.0% in //Sequence::lint_inter//
@ -17,17 +17,17 @@
0.2% in //RTKindConstructors::compile_permissions// 0.2% in //RTKindConstructors::compile_permissions//
0.2% in //Task::make_built_in_kind_constructors// 0.2% in //Task::make_built_in_kind_constructors//
0.2% in //World::stages_II_and_III// 0.2% in //World::stages_II_and_III//
2.7% not specifically accounted for 2.6% not specifically accounted for
25.5% in running Inter pipeline 26.6% in running Inter pipeline
10.1% in step 14/15: generate inform6 -> auto.inf 10.3% in step 14/15: generate inform6 -> auto.inf
5.4% in step 5/15: load-binary-kits 5.9% in step 5/15: load-binary-kits
5.2% in step 6/15: make-synoptic-module 5.4% in step 6/15: make-synoptic-module
1.4% in step 9/15: make-identifiers-unique 1.4% in step 9/15: make-identifiers-unique
0.4% in step 12/15: eliminate-redundant-operations 0.4% in step 12/15: eliminate-redundant-operations
0.4% in step 4/15: compile-splats 0.4% in step 4/15: compile-splats
0.4% in step 7/15: shorten-wiring 0.4% in step 7/15: shorten-wiring
0.4% in step 8/15: detect-indirect-calls
0.2% in step 11/15: eliminate-redundant-labels 0.2% in step 11/15: eliminate-redundant-labels
0.2% in step 8/15: detect-indirect-calls 1.6% not specifically accounted for
1.4% not specifically accounted for 2.6% in supervisor
2.5% in supervisor 0.3% not specifically accounted for
0.5% not specifically accounted for