summaryrefslogtreecommitdiff
path: root/libguile/values.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2012-07-06 16:52:54 +0200
committerAndy Wingo <wingo@pobox.com>2012-07-06 16:52:54 +0200
commit2aed2667fce5ccb115667a36ffd368c4c3b6e9f4 (patch)
tree21c31f62bca976076b851d01104327152035e8d4 /libguile/values.c
parentb8bc86bce147cf280ca2a60d36c8b6493cbf11e8 (diff)
parent24dd9f6fe1449fa4de81d95ca659283c15e16931 (diff)
downloadguile-2aed2667fce5ccb115667a36ffd368c4c3b6e9f4.tar.gz
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts: libguile/expand.c libguile/hashtab.c libguile/ports.c libguile/vectors.c libguile/weaks.c module/language/ecmascript/compile-tree-il.scm module/language/tree-il/effects.scm module/language/tree-il/fix-letrec.scm module/language/tree-il/peval.scm test-suite/tests/peval.test
Diffstat (limited to 'libguile/values.c')
-rw-r--r--libguile/values.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libguile/values.c b/libguile/values.c
index 55577f291..d135da01f 100644
--- a/libguile/values.c
+++ b/libguile/values.c
@@ -67,6 +67,15 @@ print_values (SCM obj, SCM pwps)
return SCM_UNSPECIFIED;
}
+size_t
+scm_c_nvalues (SCM obj)
+{
+ if (SCM_LIKELY (SCM_VALUESP (obj)))
+ return scm_ilength (scm_struct_ref (obj, SCM_INUM0));
+ else
+ return 1;
+}
+
SCM
scm_c_value_ref (SCM obj, size_t idx)
{