HCoop
/
bpt
/
guile.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git]
/
libguile
/
procprop.c
diff --git
a/libguile/procprop.c
b/libguile/procprop.c
index
56bd389
..
ff4648d
100644
(file)
--- a/
libguile/procprop.c
+++ b/
libguile/procprop.c
@@
-1,4
+1,4
@@
-/* Copyright (C) 1995,1996,1998,2000,2001,2003,2004, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000,2001,2003,2004, 2006, 2008, 2009, 2010, 2011
, 2012
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 License
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@
-72,7
+72,15
@@
scm_i_procedure_arity (SCM proc, int *req, int *opt, int *rest)
{
if (!SCM_SMOB_APPLICABLE_P (proc))
return 0;
{
if (!SCM_SMOB_APPLICABLE_P (proc))
return 0;
- proc = scm_i_smob_apply_trampoline (proc);
+ if (!scm_i_program_arity (SCM_SMOB_DESCRIPTOR (proc).apply_trampoline,
+ req, opt, rest))
+ return 0;
+
+ /* The trampoline gets the smob too, which users don't
+ see. */
+ *req -= 1;
+
+ return 1;
}
else
return 0;
}
else
return 0;