summaryrefslogtreecommitdiff
path: root/libguile/procprop.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-03-08 23:04:06 +0100
committerLudovic Courtès <ludo@gnu.org>2009-03-08 23:04:06 +0100
commitf307fbcec2cbaaa95b8c861395133b519c7519cf (patch)
tree8f08599fb60cfdcd98de0f03a465e70e962112bd /libguile/procprop.c
parent1eefa363bd7f0db07a907c773c890b78ff6415a9 (diff)
parent6c59f901499937fe3779ef1f543646754f843679 (diff)
downloadguile-f307fbcec2cbaaa95b8c861395133b519c7519cf.tar.gz
Merge branch 'master' into boehm-demers-weiser-gc
Conflicts: libguile/gc-card.c libguile/gc-mark.c
Diffstat (limited to 'libguile/procprop.c')
-rw-r--r--libguile/procprop.c25
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;