Skip to content

Commit f1a3470

Browse files
committed
CLJCLR-179: Fix spec.alpha library loading to avoid double loading and inclusion of constants from those files in other compiled files.
1 parent 0e891b3 commit f1a3470

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

Clojure/Clojure/CljCompiler/Compiler.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,9 @@ public static Var EnsureMacroCheck()
12891289
{
12901290
lock (MacroCheckLock)
12911291
{
1292+
// See if it is already loaded. (most likely true)
1293+
MacroCheckVar = Var.find(Symbol.intern("clojure.spec.alpha", "macroexpand-check"));
1294+
12921295
if (MacroCheckVar == null)
12931296
{
12941297
MacroCheckLoading = true;

Clojure/Clojure/Lib/RT.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -479,12 +479,12 @@ public static void LoadSpecCode()
479479
try
480480
{
481481
Var.pushThreadBindings(RT.map(Compiler.CompileFilesVar, false));
482-
// We need to prevent loading more than once.
483-
IFn require = clojure.clr.api.Clojure.var("clojure.core", "require");
484-
require.invoke(clojure.clr.api.Clojure.read("clojure.spec.alpha"));
485-
require.invoke(clojure.clr.api.Clojure.read("clojure.core.specs.alpha"));
486-
//load("clojure/spec/alpha");
487-
//load("clojure/core/specs/alpha");
482+
//// We need to prevent loading more than once.
483+
//IFn require = clojure.clr.api.Clojure.var("clojure.core", "require");
484+
//require.invoke(clojure.clr.api.Clojure.read("clojure.spec.alpha"));
485+
//require.invoke(clojure.clr.api.Clojure.read("clojure.core.specs.alpha"));
486+
load("clojure/spec/alpha");
487+
load("clojure/core/specs/alpha");
488488
}
489489
finally
490490
{

0 commit comments

Comments
 (0)