1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 22:10:21 +02:00

Give reified value objects a proper data type

* libguile/values.h (struct scm_values): New build-time definition.
(scm_to_values):
(scm_from_values):
(scm_values_count):
(scm_values_ref): New helpers.
* libguile/vm.c:
* libguile/values.c:
* libguile/print.c:
* libguile/numbers.c:
* libguile/eval.c: Adapt all callers.
This commit is contained in:
Andy Wingo 2025-05-30 09:57:08 +02:00
parent aa73d31ded
commit 224fb82a39
6 changed files with 83 additions and 55 deletions

View file

@ -707,8 +707,8 @@ iprin1 (SCM exp, SCM port, scm_print_state *pstate)
break;
case scm_tc7_values:
scm_puts ("#<values (", port);
print_vector (exp, scm_i_nvalues (exp), scm_c_value_ref, port,
pstate);
print_vector (exp, scm_values_count (scm_to_values (exp)),
scm_c_value_ref, port, pstate);
scm_puts (">", port);
break;
case scm_tc7_program: