1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00

Merge 'master' into 'lightning'

This commit is contained in:
Andy Wingo 2018-07-20 11:41:54 +02:00
commit 9fc5282ca5
3 changed files with 13 additions and 9 deletions

View file

@ -459,8 +459,8 @@ vm-operations.h: vm-engine.c
| sed -e 's,VM_DEFINE_OP (\(.*\)).*, M (\1) \\,' >> $@ | sed -e 's,VM_DEFINE_OP (\(.*\)).*, M (\1) \\,' >> $@
@echo '' >> $@ @echo '' >> $@
BUILT_INCLUDES = vm-operations.h scmconfig.h BUILT_INCLUDES = vm-operations.h scmconfig.h libpath.h
BUILT_SOURCES = cpp-E.c cpp-SIG.c libpath.h $(BUILT_INCLUDES) \ BUILT_SOURCES = cpp-E.c cpp-SIG.c $(BUILT_INCLUDES) \
$(DOT_X_FILES) $(EXTRA_DOT_X_FILES) $(DOT_X_FILES) $(EXTRA_DOT_X_FILES)
# Force the generation of `guile-procedures.texi' because the top-level # 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 error.x: cpp-E.c
posix.x: cpp-SIG.c posix.x: cpp-SIG.c
load.x: libpath.h
dynl.x: libpath.h
alldotdocfiles = $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) alldotdocfiles = $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES)
snarf2checkedtexi = GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/build-env guild snarf-check-and-output-texi snarf2checkedtexi = GUILE_AUTO_COMPILE=0 $(top_builddir)/meta/build-env guild snarf-check-and-output-texi

View file

@ -59,10 +59,16 @@ scm_c_nvalues (SCM obj)
SCM SCM
scm_c_value_ref (SCM obj, size_t idx) scm_c_value_ref (SCM obj, size_t idx)
{ {
if (SCM_LIKELY (scm_is_values (obj) && idx < scm_i_nvalues (obj))) if (scm_is_values (obj))
{
if (idx < scm_i_nvalues (obj))
return scm_i_value_ref (obj, idx); return scm_i_value_ref (obj, idx);
else if (idx == 0) }
else
{
if (idx == 0)
return obj; return obj;
}
scm_error (scm_out_of_range_key, scm_error (scm_out_of_range_key,
"scm_c_value_ref", "scm_c_value_ref",

View file

@ -335,7 +335,7 @@ VM_NAME (scm_thread *thread)
VM_ASSERT (nvals <= (UINTPTR_MAX >> 8), abort ()); VM_ASSERT (nvals <= (UINTPTR_MAX >> 8), abort ());
ret = scm_words ((nvals << 8) | scm_tc7_values, nvals + 1); ret = scm_words ((nvals << 8) | scm_tc7_values, nvals + 1);
for (n = 0; n < nvals; n++) 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); VP->ip = SCM_FRAME_RETURN_ADDRESS (VP->fp);