From 76d878f4bf53b3f9ff8cda8df44549906b396564 Mon Sep 17 00:00:00 2001 From: jjgarcia Date: Mon, 3 Nov 2003 09:41:01 +0000 Subject: [PATCH] When a package is created in a file loaded by a binary file, it must be removed from the list of packages to be created. --- src/c/read.d | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/c/read.d b/src/c/read.d index 2640b4c49..b076ab1de 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -1872,14 +1872,16 @@ read_VV(cl_object block, void *entry) NO_DATA: /* Execute top-level code */ (*entry_point)(MAKE_FIXNUM(0)); - if (ecl_packages_to_be_created != Cnil) { - CEerror("The following packages were referenced in a~" - "compiled file, but they have not been created: ~A", - 1, ecl_packages_to_be_created); - } + x = ecl_packages_to_be_created; + loop_for_on(x) { + if (!member(x, old_eptbc)) { + CEerror("The following package was referenced in a~" + "compiled file, but has not been created: ~A", + 2, block->cblock.name, CAR(x)); + } + } end_loop_for_on; bds_unwind1; } CL_UNWIND_PROTECT_EXIT { - ecl_packages_to_be_created = old_eptbc; if (in != OBJNULL) close_stream(in, 0); } CL_UNWIND_PROTECT_END;