diff options
Diffstat (limited to 'libguile/procprop.c')
-rw-r--r-- | libguile/procprop.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/libguile/procprop.c b/libguile/procprop.c index 88f2c2218..db16834c5 100644 --- a/libguile/procprop.c +++ b/libguile/procprop.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996,1998,2000,2001,2003,2004, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1998,2000,2001,2003,2004, 2006, 2008, 2009 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -88,21 +88,14 @@ scm_i_procedure_arity (SCM proc) { return SCM_BOOL_F; } - case scm_tc7_cclo: - if (scm_is_eq (SCM_CCLO_SUBR (proc), scm_f_gsubr_apply)) - { - int type = scm_to_int (SCM_GSUBR_TYPE (proc)); - a += SCM_GSUBR_REQ (type); - o = SCM_GSUBR_OPT (type); - r = SCM_GSUBR_REST (type); - break; - } - else - { - proc = SCM_CCLO_SUBR (proc); - a -= 1; - goto loop; - } + case scm_tc7_gsubr: + { + unsigned int type = SCM_GSUBR_TYPE (proc); + a = SCM_GSUBR_REQ (type); + o = SCM_GSUBR_OPT (type); + r = SCM_GSUBR_REST (type); + break; + } case scm_tc7_pws: proc = SCM_PROCEDURE (proc); goto loop; |