summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog124
1 files changed, 124 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 31d95383..43ebd457 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2022-07-07 Arnold D. Robbins <arnold@skeeve.com>
+
+ * mbsupport.h: Removed.
+
+2022-07-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README: Updated. Remove mention of DJGPP.
+ * awk.h, custom.h, eval.c, gawkmisc.c, io.c, main.c, nonposix.h,
+ re.c, replace.c: Remove all code for __DJGPP__.
+
+2022-07-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awk.h (TOP_SCALAR): Put converted value back on the stack
+ for any subsequent use.
+
+2022-06-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awk.h (POP_SCALAR): Convert Node_elem_new into a scalar.
+ (TOP_SCALAR): Ditto.
+
+ Unrelated:
+ * README: Updated. Remove mention of OS/2.
+ * awk.h, awgram.y. gawkmisc.c, io.c, main.c, nonposix.h:
+ Remove all code for __EMX__.
+
2022-06-20 Arnold D. Robbins <arnold@skeeve.com>
* NEWS: MPFR is now "on parole" instead of deprecated.
@@ -64,17 +89,46 @@
an array.
(api_impl): Add hook for api_destroy_array.
+2022-06-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awk.h (elem_new_to_scalar): Add declaration.
+ * eval.c (elem_new_to_scalar): No longer static. Make it handle
+ things when valref is > 1. Returns a NODE * instead of being void.
+ (cmp_scalars): Change usage of elem_new_to_scalar().
+ * interpret.h (r_interpret): Op_push*: Make Node_elem_new into
+ a separate case, using elem_new_to_scalar().
+ * array.c (force_array): For Node_elem_new, clear symbol->stptr.
+ * eval.r (r_get_lhs): Use efree() intstead of free() in Node_elem_new
+ case.
+
2022-06-02 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (do_sub): Fix memory corruption when substituting
into a value that is a typed regex. Thanks to valgrind.
+2022-06-02 Arnold D. Robbins <arnold@skeeve.com>
+
+ Fix a nasty memory corruption problem. Thanks to
+ Andrew Schorr for the report.
+
+ * eval.c (r_get_lhs): Handle Node_elem_new separately
+ to free the string value. This was not the problem.
+ * interpret.h (r_interpret): For Op_assign, when turning
+ Node_elem_new into the null string, DEREF the old value
+ and dupnode the new one. THIS was the problem.
+
2022-05-24 Adam Van Scyoc <avanscy@g.clemson.edu>
* awkgram.y (make_assignable): Handle Op_field_assign.
Avoids a core dump upon a certain kind of syntax error;
see test/getlnfa.awk.
+2022-05-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ * array.c (force_array): When converting Node_elem_new to an array,
+ release the string storage. Thanks to valgrind, by way of Andrew
+ Schorr, for the report.
+
2022-05-11 Arnold D. Robbins <arnold@skeeve.com>
* profile.c (pp_list): Typo fix in a comment.
@@ -111,16 +165,86 @@
merged.
* profile.c (pprint): Improve code for Op_K_switch, Op_K_case.
+2022-04-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * mpfr.c (mpg_force_number): Small whitespace fix.
+ * node.c (r_force_number): Ditto.
+
2022-04-18 Arnold D. Robbins <arnold@skeeve.com>
* gawkbug.in: Small changes.
+2022-04-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ Further cleanups.
+
+ * array.c (new_array_element): Set s->stfmt to STFMT_UNUSED.
+ * awk.h (force_string_fmt): No need to set s->stfmt anymore.
+ * builtin.c (do_typeof): Collapse Node_var_new and Node_elem_new
+ cases.
+ * symbol.c (print_vars): Node_elem_new can't be in a top level
+ variable. Remove check and add a call to cant_happen if some
+ other node type is received.
+ * NEWS: Updated.
+
2022-04-01 Arnold D. Robbins <arnold@skeeve.com>
Small fix from the persistent-gawk guys.
* profile.c (pprint): Use estrdup instead of strdup.
+2022-03-31 Arnold D. Robbins <arnold@skeeve.com>
+
+ * array.c (new_array_element): Make a full null string instead of
+ an empty node; it can be more easily converted to scalar that way.
+ * awk.h (force_string_fmt): Change the node type, remove NUMBER flag,
+ set STFMT_UNUSED.
+ * cint_array.c (lear_clear): Remove check for not equal Node_elem_new.
+ * int_array.c (int_clear): Ditto.
+ * str_array.c (str_clear): Ditto.
+ * eval.c (elem_new_to_scalar): Now only needs to change the node type.
+ * interpret.h (r_interpret): Treat Node_elem_new like Node_val, and
+ UPREF it when pushed. Remove test before DEREFing when popping.
+ * mpfr.c (mpg_force_number): Simplify converting Node_elem_new to
+ Node_val. Fix the string value.
+ * node.c (r_force_number): Ditto.
+
+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