diff --git a/src/c/cinit.d b/src/c/cinit.d index 23c41a7b4..6b95fc3f6 100644 --- a/src/c/cinit.d +++ b/src/c/cinit.d @@ -28,6 +28,12 @@ cl_vector_push(cl_object elt, cl_object vector) return funcall(2, @'VECTOR-PUSH', vector, elt); } +extern cl_object +cl_vector_push_extend(cl_narg narg, cl_object elt, cl_object vector, ...) +{ + return funcall(2, @'VECTOR-PUSH-EXTEND', vector, elt); +} + static cl_object si_simple_toplevel () { cl_object sentence; diff --git a/src/c/load.d b/src/c/load.d index ca9f77a57..51722aad0 100644 --- a/src/c/load.d +++ b/src/c/load.d @@ -73,7 +73,7 @@ ecl_library_open(cl_object filename) { /* INV: We can modify "libraries" in a multithread environment because we have already taken the +load-compile-lock+ */ - cl_vector_push(block, libraries); + cl_vector_push_extend(2, block, libraries); return block; } diff --git a/src/c/main.d b/src/c/main.d index de6dce76e..3d88d8c6c 100644 --- a/src/c/main.d +++ b/src/c/main.d @@ -291,7 +291,7 @@ cl_boot(int argc, char **argv) cl_core.gentemp_counter = MAKE_FIXNUM(0); cl_core.libraries = si_make_vector(@'t', MAKE_FIXNUM(0), - @'nil', MAKE_FIXNUM(0), + @'t', MAKE_FIXNUM(0), @'nil', @'nil'); ECL_SET(@'si::c-int-max', make_integer(INT_MAX));