remove tc7_subr_* and tc7_lsubr_*
authorAndy Wingo <wingo@pobox.com>
Thu, 3 Sep 2009 09:57:29 +0000 (11:57 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 3 Dec 2009 14:22:07 +0000 (15:22 +0100)
commitdf338a22646fa6a783d72d67f3e6c4d4aee65c72
treedf8dc86dade6e55d70d33fb8fdd624d4c5006d47
parentdf9ca8d8b2f48e7042298a9a788b749b46fc5efc
remove tc7_subr_* and tc7_lsubr_*

* libguile/tags.h: Remove tc7 #defines for subrs, replacing them with
  placeholders. These were public, but hopfully unused. I don't see how
  to usefully deprecate them.

* libguile/array-map.c (scm_array_map_x): Remove special cases for
  certain subr types. This might make things slower for the moment,
  otoh, native compilation should moot that question.

* libguile/eval.i.c:
* libguile/eval.c: Remove subr-handling cases. To regain this speed and
  more won't have to wait for native compilation, though -- this change
  smooths the way for subr dispatch in the VM.

* libguile/gsubr.c (scm_i_gsubr_apply): Fix a bug in which we didn't
  detect too-many-arguments. This would only show up when using ceval,
  as only ceval called this function.

* test-suite/tests/ramap.test ("array-map!"): Change the expected
  exception if passed a procedure of the wrong arity. It now gives
  wrong-num-args.
  more won't have to wait for native compilation, though -- this change
  smooths the way for subr dispatch in the VM.

* libguile/goops.c (scm_class_of): Remove subr cases. No speed
  implication.

* libguile/objects.c (scm_valid_object_procedure_p): Remove this public
  but undocumented, and useless, function. I do not think this will
  affect anyone at all.
  (scm_set_object_procedure_x): Replace a call to
  scm_valid_object_procedure_p with scm_procedure_p, and actually wrap
  with a scm_is_true.

* module/oop/goops.scm (initialize-object-procedure): Don't call
  valid-object-procedure?.
libguile/array-map.c
libguile/goops.c
libguile/gsubr.c
libguile/memoize.c
libguile/procprop.c
libguile/procs.c
libguile/procs.h
libguile/tags.h
libguile/vm.c
module/oop/goops.scm
test-suite/tests/ramap.test