From 29785f65f11afea63d4f5ca5a505e62fecdd5299 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Mon, 30 May 2016 23:18:01 +1200 Subject: [PATCH] Fixed library loading bug. --- src/forth.jl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/forth.jl b/src/forth.jl index 9439dea..1a65ff6 100644 --- a/src/forth.jl +++ b/src/forth.jl @@ -994,7 +994,14 @@ INCLUDE_CFA = defPrimWord("INCLUDE", () -> begin wordLen = mem[wordAddr-1] word = getString(wordAddr, wordLen) - push!(sources, open(word, "r")) + fname = word + if !isfile(fname) + fname = Pkg.dir("forth","src",word) + if !isfile(fname) + error("No file named $word found in current directory or package source directory.") + end + end + push!(sources, open(fname, "r")) # Clear input buffer mem[NUMTIB] = 0 @@ -1009,8 +1016,8 @@ initialized = false initFileName = nothing if isfile("lib.4th") initFileName = "lib.4th" -elseif isfile(Pkg.dir("forth/src/lib.4th")) - initFileName = Pkg.dir("forth/src/lib.4th") +elseif isfile(Pkg.dir("forth","src", "lib.4th")) + initFileName = Pkg.dir("forth","src","lib.4th") end function run(;initialize=true) -- 2.20.1