[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, feature/mdim-restart, updated. gawk-4.1.0-4691-g89a85
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, feature/mdim-restart, updated. gawk-4.1.0-4691-g89a85232 |
Date: |
Mon, 28 Mar 2022 12:38:03 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".
The branch, feature/mdim-restart has been updated
via 89a85232c6d8203f33052cf305e79cb5b2ab952a (commit)
from 278b252a84ff2af01cb9d572c4b9c1e5b01c2b59 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=89a85232c6d8203f33052cf305e79cb5b2ab952a
commit 89a85232c6d8203f33052cf305e79cb5b2ab952a
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Mon Mar 28 19:37:29 2022 +0300
Final fixes and update ChangeLog.
diff --git a/ChangeLog b/ChangeLog
index 92095c38..71134b54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,39 @@
+2022-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ Allow unreferenced array elements to turn into subarrays.
+
+ * awk.h (Node_elem_new): New node type.
+ (new_array_element): Add declaration.
+ (POP_ARRAY): Handle Node_elem_new.
+ (force_string_fmt): Ditto. Make sure valref has the right value.
+ * array.c (force_array): Handle Node_elem_new.
+ (do_sort_up_value_type): Ditto.
+ (new_array_element): New function, creates Node_elem_new node.
+ * builtin.c (do_length): Handle Node_elem_new.
+ (do_typeof): Ditto.
+ * cint_array.c (leaf_lookup): Use new_array_element() when creating
+ a new element.
+ (left_clear): Don't unref Node_elem_new.
+ * debug.c (print_symbol, do_set_var,watchpont_triggered,
+ initialize_watch_item, print_memory, do_print_f): Handle Node_elem_new.
+ * eval.c (nodetypes): Add Node_elem_new.
+ (r_get_lhs, setup_frame): Handle Node_elem_new.
+ (elem_new_to_scalar): New function.
+ (cmp_scalars): Use elem_new_to_scalar.
+ * ext.c (get_actual_argument): Handle Node_elem_new.
+ * gawkapi.c (api_get_argument, api_set_argument, node_to_awk_value,
+ api_sym_update): Handle Node_elem_new.
+ * int_array.c (int_clear): Don't unref Node_elem_new.
+ (int_insert): Use new_array_element() when creating a new element.
+ * interpret.h (r_interpret): Handle Node_elem_new as appropriate.
+ * mpfr.c (mpg_force_number): Handle Node_elem_new.Make sure valref has
+ the right value.
+ * node.c (r_force_number): Ditto.
+ * str_array.c (str_lookup): Use new_array_element() when creating a
+ new element.
+ (str_clear): Don't unref Node_elem_new.
+ * symbol.c (print_vars): Handle Node_elem_new.
+
2022-03-27 Arnold D. Robbins <arnold@skeeve.com>
Allow nested indirect function calls. Thanks to
diff --git a/cint_array.c b/cint_array.c
index 3e0393c9..5088adde 100644
--- a/cint_array.c
+++ b/cint_array.c
@@ -1101,7 +1101,7 @@ leaf_clear(NODE *array)
assoc_clear(r); /* recursively clear all
sub-arrays */
efree(r->vname);
freenode(r);
- } else
+ } else if (r->type != Node_elem_new)
unref(r);
}
efree(array->nodes);
diff --git a/int_array.c b/int_array.c
index 8752413e..957f5ff7 100644
--- a/int_array.c
+++ b/int_array.c
@@ -332,7 +332,7 @@ int_clear(NODE *symbol, NODE *subs ATTRIBUTE_UNUSED)
assoc_clear(r); /* recursively clear
all sub-arrays */
efree(r->vname);
freenode(r);
- } else
+ } else if (r->type != Node_elem_new)
unref(r);
}
freebucket(b);
diff --git a/pc/ChangeLog b/pc/ChangeLog
index ab61b56c..37cfc770 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,7 @@
+2022-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst: Regenerated.
+
2022-03-27 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.tst: Regenerated.
diff --git a/str_array.c b/str_array.c
index 101ad0b9..ad960043 100644
--- a/str_array.c
+++ b/str_array.c
@@ -257,7 +257,7 @@ str_clear(NODE *symbol, NODE *subs ATTRIBUTE_UNUSED)
assoc_clear(r); /* recursively clear all
sub-arrays */
efree(r->vname);
freenode(r);
- } else
+ } else if (r->type != Node_elem_new)
unref(r);
unref(b->ahname);
freebucket(b);
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 36 ++++++++++++++++++++++++++++++++++++
cint_array.c | 2 +-
int_array.c | 2 +-
pc/ChangeLog | 4 ++++
str_array.c | 2 +-
5 files changed, 43 insertions(+), 3 deletions(-)
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, feature/mdim-restart, updated. gawk-4.1.0-4691-g89a85232,
Arnold Robbins <=