diff --git a/libguile/Makefile.am b/libguile/Makefile.am index 888146ead..69d43f9a1 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -459,8 +459,8 @@ vm-operations.h: vm-engine.c | sed -e 's,VM_DEFINE_OP (\(.*\)).*, M (\1) \\,' >> $@ @echo '' >> $@ -BUILT_INCLUDES = vm-operations.h scmconfig.h -BUILT_SOURCES = cpp-E.c cpp-SIG.c libpath.h $(BUILT_INCLUDES) \ +BUILT_INCLUDES = vm-operations.h scmconfig.h libpath.h +BUILT_SOURCES = cpp-E.c cpp-SIG.c $(BUILT_INCLUDES) \ $(DOT_X_FILES) $(EXTRA_DOT_X_FILES) # Force the generation of `guile-procedures.texi' because the top-level @@ -793,8 +793,6 @@ $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES): $(BUILT_INCLUDES) snarf.h guile-snarf-d error.x: cpp-E.c posix.x: cpp-SIG.c -load.x: libpath.h -dynl.x: libpath.h alldotdocfiles = $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) snarf2checkedtexi = GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/build-env guild snarf-check-and-output-texi diff --git a/libguile/values.c b/libguile/values.c index 4fd9b5451..8603aa3f1 100644 --- a/libguile/values.c +++ b/libguile/values.c @@ -59,10 +59,16 @@ scm_c_nvalues (SCM obj) SCM scm_c_value_ref (SCM obj, size_t idx) { - if (SCM_LIKELY (scm_is_values (obj) && idx < scm_i_nvalues (obj))) - return scm_i_value_ref (obj, idx); - else if (idx == 0) - return obj; + if (scm_is_values (obj)) + { + if (idx < scm_i_nvalues (obj)) + return scm_i_value_ref (obj, idx); + } + else + { + if (idx == 0) + return obj; + } scm_error (scm_out_of_range_key, "scm_c_value_ref", diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 01c5747c7..e9e1b477e 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -335,7 +335,7 @@ VM_NAME (scm_thread *thread) VM_ASSERT (nvals <= (UINTPTR_MAX >> 8), abort ()); ret = scm_words ((nvals << 8) | scm_tc7_values, nvals + 1); for (n = 0; n < nvals; n++) - SCM_SET_CELL_OBJECT (ret, n+1, FP_REF (4 + n - 1)); + SCM_SET_CELL_OBJECT (ret, n+1, FP_REF (4 + n)); } VP->ip = SCM_FRAME_RETURN_ADDRESS (VP->fp);