[Ecls-list] Approaching 10.3.2

Alexander Gavrilov angavrilov at gmail.com
Sat Mar 20 10:42:11 UTC 2010


Hi, one more small patch:

------------------------------- src/c/package.d -------------------------------
index 7b66a11..09ca996 100644
@@ -554,7 +554,7 @@ cl_unexport2(cl_object s, cl_object p)
 				"Ignore lock and proceed", p, 2, s, p);
 	PACKAGE_OP_LOCK();
 	x = find_symbol_inner(name, p, &intern_flag);
-	if (intern_flag == 0) {
+	if (intern_flag == 0 || x != s) {
 		PACKAGE_OP_UNLOCK();
 		FEpackage_error("Cannot unexport ~S because it does not belong to package ~S.",
 				p, 2, s, p);


It is necessary to check that the right symbol is being
processed, because blindly proceeding causes slight
corruption of the package structure and may result in
quite cryptic error messages in loosely connected pieces
of code:

Internal or unrecoverable error in:
can't print symbol
  [2: No such file or directory]


Alexander




More information about the ecl-devel mailing list