diff options
author | Andy Wingo <wingo@pobox.com> | 2009-12-04 13:05:00 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-04 13:05:00 +0100 |
commit | 8a1f4f98e121c4ba90eb992203713cf493d45c71 (patch) | |
tree | 16d0f6f376528b6d374a58afebe602087d18ba02 /libguile/vm.c | |
parent | 31d845b4bc4bf50f32492c17dc43c9ccea779acb (diff) | |
download | guile-8a1f4f98e121c4ba90eb992203713cf493d45c71.tar.gz |
remove rpsubrs
* libguile/tags.h: Remove rpsubrs (I chose to interpret the terse name
as "recursive predicate subrs"). Just use gsubrs with rest arguments,
or do a fold yourself.
* libguile/array-map.c (scm_i_array_equal_p): Do the comparison in
order, why not.
* libguile/chars.c:
* libguile/eq.c:
* libguile/numbers.c:
* libguile/strorder.c: Add 0,2,1 gsubr wrappers for rpsubrs like eq?, <,
etc.
* libguile/goops.c (scm_class_of)
* libguile/procprop.c (scm_i_procedure_arity)
* libguile/procs.c (scm_thunk_p)
* libguile/vm.c (apply_foreign): Remove rpsubr cases.
* test-suite/tests/numbers.test ("=", "<"): Turn a couple xfails into
passes.
Diffstat (limited to 'libguile/vm.c')
-rw-r--r-- | libguile/vm.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/libguile/vm.c b/libguile/vm.c index 689359e18..ca6d747a3 100644 --- a/libguile/vm.c +++ b/libguile/vm.c @@ -280,16 +280,6 @@ apply_foreign (SCM proc, SCM *args, int nargs, int headroom) case scm_tc7_cxr: if (nargs != 1) scm_wrong_num_args (proc); return scm_i_chase_pairs (args[0], (scm_t_bits) SCM_SUBRF (proc)); - case scm_tc7_rpsubr: - { - int idx = 0; - while (nargs-- > 1) - { idx++; - if (scm_is_false (SCM_SUBRF (proc) (args[idx-1], args[idx]))) - return SCM_BOOL_F; - } - return SCM_BOOL_T; - } case scm_tc7_smob: if (!SCM_SMOB_APPLICABLE_P (proc)) goto badproc; |