gawk-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]