X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?a=blobdiff_plain;f=src%2Fforth.jl;h=a7425ae45f8e409be217a8aefc39091826fd368b;hb=HEAD;hp=97e9c4b938eddc121b1060f0a269c511b242a1a5;hpb=3fc4b0ecf89a6325cb0492135f2a83cc02e447c5;p=forth.jl.git diff --git a/src/forth.jl b/src/forth.jl index 97e9c4b..a7425ae 100644 --- a/src/forth.jl +++ b/src/forth.jl @@ -750,9 +750,9 @@ function getLineFromSTDIN() function getFrag(s) chars = collect(s) - slashIdx = findlast(chars, '\\') + slashIdx = findlast(isequal('\\'), chars) - if slashIdx > 0 + if slashIdx != nothing return join(chars[slashIdx:length(chars)]) else return nothing @@ -1164,7 +1164,7 @@ CREATE_PRIM_CFA = defPrimWord("CREATE-PRIM", () -> begin getString(addr, len), "\n", "return NEXT\n", "end") - func = eval(parse(exprString)) + func = eval(Meta.parse(exprString)) pushPS(defPrim(func)) return NEXT @@ -1270,7 +1270,7 @@ oldCWD = "" SETLIBCWD_CFA = defPrimWord("SETLIBCWD", () -> begin global oldCWD = pwd() if !isfile("lib.4th") # Exception for debugging. - cd(Pkg.dir("forth","src")) + cd(@__DIR__) # Macro expands to CWD at compile time end return NEXT end) @@ -1434,4 +1434,9 @@ DUMP = defPrimWord("DUMP", () -> begin return NEXT end) +TIME = defPrimWord("TIME", () -> begin + pushPS(Int64(time_ns())) + return NEXT +end) + end