mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 23:50:19 +02:00
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.
This commit is contained in:
parent
31d845b4bc
commit
8a1f4f98e1
11 changed files with 646 additions and 188 deletions
|
@ -942,8 +942,10 @@ SCM_DEFINE (scm_i_array_equal_p, "array-equal?", 0, 2, 1,
|
|||
return SCM_BOOL_T;
|
||||
|
||||
while (!scm_is_null (rest))
|
||||
{ if (scm_is_false (scm_array_equal_p (ra0, scm_car (rest))))
|
||||
{ if (scm_is_false (scm_array_equal_p (ra0, ra1)))
|
||||
return SCM_BOOL_F;
|
||||
ra0 = ra1;
|
||||
ra1 = scm_car (rest);
|
||||
rest = scm_cdr (rest);
|
||||
}
|
||||
return scm_array_equal_p (ra0, ra1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue