remove scm_tc7_gsubr
authorAndy Wingo <wingo@pobox.com>
Wed, 6 Jan 2010 21:16:57 +0000 (22:16 +0100)
committerAndy Wingo <wingo@pobox.com>
Thu, 7 Jan 2010 22:49:39 +0000 (23:49 +0100)
commitcc7005bc371ee104c368dbb894eb4f8b7a86d64a
tree8d4e17497cf6b11b9f22e528efcf9b29b51cba2d
parent6c2961a01142c7ba9fc03a410004dd696e9208cd
remove scm_tc7_gsubr

* libguile/tags.h (scm_tc7_gsubr): Return to the pool of unused tc7s, as
  there are no more gsubrs. Yay :)

* libguile/programs.h (SCM_F_PROGRAM_IS_PRIMITIVE):
  (SCM_PROGRAM_IS_PRIMITIVE): New flag and accessor.

* libguile/gsubr.c (create_gsubr):
* libguile/snarf.h (SCM_STATIC_PROGRAM): Give subrs a PRIMITIVE flag.

* libguile/smob.h:
* libguile/smob.c (scm_i_smob_arity): New internal procedure. Uses the
  old GSUBR type macros, local to the file.

* libguile/procprop.c (scm_i_procedure_arity): Call out to
  scm_i_smob_arity, and remove a gsubr case.

* libguile/gc.c (scm_i_tag_name):
* libguile/evalext.c (scm_self_evaluating_p):
* libguile/goops.c (scm_class_of):
* libguile/vm.c (apply_foreign):
* libguile/hash.c (scm_hasher):
* libguile/debug.c (scm_procedure_name):
* libguile/print.c (iprin1): Remove gsubr cases.

* libguile/gsubr.h (SCM_PRIMITIVE_P): Fix to work with the new VM
  program regimen.
  (SCM_GSUBR_TYPE, SCM_GSUBR_MAKTYPE, SCM_GSUBR_MAX, SCM_GSUBR_REQ)
  (SCM_GSUBR_OPT, SCM_GSUBR_REST): Remove these macros, that are no
  longer useful.
* libguile/gsubr.c (scm_i_gsubr_apply, scm_i_gsubr_apply_list)
  (scm_i_gsubr_apply_array): Remove internal gsubr application
  functions.
16 files changed:
libguile/debug.c
libguile/evalext.c
libguile/gc.c
libguile/goops.c
libguile/gsubr.c
libguile/gsubr.h
libguile/hash.c
libguile/print.c
libguile/procprop.c
libguile/procs.c
libguile/programs.h
libguile/smob.c
libguile/smob.h
libguile/snarf.h
libguile/tags.h
libguile/vm.c