1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

all subrs are gsubrs

* libguile/gsubr.c (create_gsubr, create_gsubr_with_generic): Always
  create gsubrs -- never the specialized tc7 types. Allow gsubrs to have
  generics, there doesn't seem to be any reason not to.

* libguile/macros.c (scm_make_synt):
* libguile/values.c (scm_init_values):
* libguile/eval.c (scm_init_eval):
* libguile/gc.c (scm_init_gc): Use scm_c_define_gsubr instead of
  scm_c_define_subr.

* libguile/goops.c (scm_class_of): Allow gsubrs to be primitive
  generics.
This commit is contained in:
Andy Wingo 2009-09-03 11:14:24 +02:00
parent aa3f69519f
commit df9ca8d8b2
6 changed files with 27 additions and 82 deletions

View file

@ -77,8 +77,7 @@ SCM_DEFINE (scm_values, "values", 0, 0, 1,
void
scm_init_values (void)
{
SCM print = scm_c_define_subr ("%print-values", scm_tc7_subr_2,
print_values);
SCM print = scm_c_define_gsubr ("%print-values", 2, 0, 0, print_values);
scm_values_vtable = scm_make_vtable (scm_from_locale_string ("pr"), print);