diff options
Diffstat (limited to 'tex/context/base/mkiv/libs-imp-mujs.lmt')
-rw-r--r-- | tex/context/base/mkiv/libs-imp-mujs.lmt | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/tex/context/base/mkiv/libs-imp-mujs.lmt b/tex/context/base/mkiv/libs-imp-mujs.lmt deleted file mode 100644 index 264c8e531..000000000 --- a/tex/context/base/mkiv/libs-imp-mujs.lmt +++ /dev/null @@ -1,126 +0,0 @@ -if not modules then modules = { } end modules ['libs-imp-mujs'] = { - version = 1.001, - comment = "companion to luat-imp-mujs.mkxl", - author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", - copyright = "PRAGMA ADE / ConTeXt Development Team", - license = "see context related readme files" -} - --- This is an experiment. When a new user knows \JAVASCRIPT\ it can be a --- stepping stone to using \LUA. - --- local ecmascript = optional.mujs.initialize("libmujs") --- local execute = optional.mujs.execute - -local libname = "mujs" -local libfile = "libmujs" - -if package.loaded[libname] then - return package.loaded[libname] -end - -local mujslib = resolvers.libraries.validoptional(libname) - -if not mujslib then - return -end - -local files = { } -local openfile = io.open -local findfile = resolvers.findfile - -local mujs_execute = mujslib.execute -local mujs_dofile = mujslib.dofile -local mujs_reset = mujslib.reset - -local function okay() - if resolvers.libraries.optionalloaded(libname,libfile) then - mujs_execute( - "var catcodes = { " .. - "'tex': " .. tex.texcatcodes .. "," .. - "'ctx': " .. tex.ctxcatcodes .. "," .. - "'prt': " .. tex.prtcatcodes .. "," .. - "'vrb': " .. tex.vrbcatcodes .. "," .. - "};" - ) - okay = function() return true end - else - okay = function() return false end - end - return okay() -end - -mujslib.setfindfile(findfile) - -mujslib.setopenfile(function(name) - local full = findfile(name) - if full then - local f = openfile(full,"rb") - if f then - for i=1,100 do - if not files[i] then - files[i] = f - return i - end - end - end - end -end) - -mujslib.setclosefile(function(id) - local f = files[id] - if f then - f:close() - files[id] = false - end -end) - -mujslib.setreadfile(function(id,how) - local f = files[id] - if f then - return (f:read(how or "*l")) - end -end) - -mujslib.setseekfile(function(id,whence,offset) - local f = files[id] - if f then - return (f:seek(whence,offset)) - end -end) - -local reporters = { - console = logs.reporter("mujs","console"), - report = logs.reporter("mujs","report"), -} - -mujslib.setconsole(function(category,name) - reporters[category](name) -end) - -local mujs = { - ["execute"] = function(c,s) if okay() then mujs_execute(c,s) end end, - ["dofile"] = function(n) if okay() then mujs_dofile(n) end end, - ["reset"] = function(n) if okay() then mujs_reset(n) end end, -} - -package.loaded[libname] = mujs - -optional.loaded.mujs = mujs - -interfaces.implement { - name = "ecmacode", - actions = mujs.execute, - arguments = "string", - public = true, -} - -interfaces.implement { - name = "ecmafile", - actions = mujs.dofile, - arguments = "string", - public = true, - protected = true, -} - -return mujs |