# HG changeset patch # User Michael Pavone # Date 1426360240 25200 # Node ID d4df33596e7dcaf47c781191278c150cef0da04e # Parent f2aff12d8e87d19fc2d3a2b2062a4fe51da9ebb2 Make modules in earlier module directories take precedence over ones in later directories diff -r f2aff12d8e87 -r d4df33596e7d compiler.js --- a/compiler.js Sat Mar 14 12:09:43 2015 -0700 +++ b/compiler.js Sat Mar 14 12:10:40 2015 -0700 @@ -78,7 +78,10 @@ for (var i in results) { var tpidx = results[i].indexOf('.tp') if (tpidx > 0 && tpidx == results[i].length - 3) { - this.names[results[i].substr(0, tpidx)] = new modulefile(moduledirs[dirnum], results[i]); + var moduleName = results[i].substr(0, tpidx); + if (!(moduleName in this.names)) { + this.names[moduleName] = new modulefile(moduledirs[dirnum], results[i]); + } } } } @@ -402,7 +405,7 @@ if (this.args[0] instanceof symbol || this.args[0] instanceof strlit) { if (this.args[1] instanceof lambda) { if (this.args[2] instanceof lambda) { - + symbols.defineMsg(this.args[0].name, this.args[2]); isll = true; } else { diff -r f2aff12d8e87 -r d4df33596e7d interp.js --- a/interp.js Sat Mar 14 12:09:43 2015 -0700 +++ b/interp.js Sat Mar 14 12:10:40 2015 -0700 @@ -88,7 +88,10 @@ for (var i in results) { var tpidx = results[i].indexOf('.tp') if (tpidx > 0 && tpidx == results[i].length - 3) { - this.names[results[i].substr(0, tpidx)] = moduledirs[dirnum] + "/" + results[i]; + var moduleName = results[i].substr(0, tpidx); + if (!(moduleName in this.names)) { + this.names[moduleName] = moduledirs[dirnum] + "/" + results[i]; + } } } }