OSDN Git Service

stopped to use module(), which is removed in Lua 5.2.
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 18 Feb 2018 01:04:51 +0000 (10:04 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 18 Feb 2018 01:04:51 +0000 (10:04 +0900)
src/ltj-stack.lua
src/ltj-tangle.lua [deleted file]
src/luatexja.lua

index c9f80c4..121804d 100644 (file)
@@ -3,12 +3,11 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.stack',
-  date = '2017/05/05',
+  date = '2018/02/18',
   description = 'LuaTeX-ja stack system',
 })
-module('luatexja.stack', package.seeall)
-local err, warn, info, log = luatexbase.errwarinf(_NAME)
-
+luatexja.stack = {}
+local ltjs=luatexja.stack
 luatexja.load_module('base');      local ltjb = luatexja.base
 
 --------------------------------------------------------------------------------
@@ -21,14 +20,14 @@ local STCK = luatexja.userid_table.STCK
 local fastcopy = table.fastcopy
 local setcount = tex.setcount
 local scan_int, scan_keyword = token.scan_int, token.scan_keyword
-hmode = 0 -- dummy
+ltjs.hmode = 0 -- dummy
 
-charprop_stack_table={};
-local charprop_stack_table = charprop_stack_table
+local charprop_stack_table={};
+ltjs.charprop_stack_table = charprop_stack_table
 charprop_stack_table[0]={}
 
 
-function get_stack_level()
+local function get_stack_level()
    local i = tex.getcount('ltj@@stack')
    local j = tex.currentgrouplevel
    if j > tex.getcount('ltj@@group@level') then
@@ -43,15 +42,16 @@ function get_stack_level()
       charprop_stack_table[i] = fastcopy(charprop_stack_table[i-1])
       setcount('ltj@@stack', i)
       if gd~=0 then tex.globaldefs = gd end
-      if  tex.nest[tex.nest.ptr].mode == -hmode then -- rest. hmode のみ
+      if  tex.nest[tex.nest.ptr].mode == -ltjs.hmode then -- rest. hmode のみ
         local g = node_new(id_whatsit, sid_user)
         g.user_id=STCK; g.type=100; g.value=j; node.write(g)
       end
    end
    return i
 end
+ltjs.get_stack_level = get_stack_level
 
-function set_stack_table(m, p)
+local function set_stack_table(m, p)
    local i = get_stack_level()
    charprop_stack_table[i][m] = p
    if luatexja.isglobal=='global' then
@@ -60,10 +60,10 @@ function set_stack_table(m, p)
       end
    end
 end
-local set_stack_table = set_stack_table
+ltjs.set_stack_table = set_stack_table
 
 -- EXT
-function set_stack_perchar(m,lb,ub, getter)
+function ltjs.set_stack_perchar(m,lb,ub, getter)
    local c = scan_int()
    scan_keyword(',')
    local p = tonumber((getter or scan_int)())
@@ -79,7 +79,7 @@ function set_stack_perchar(m,lb,ub, getter)
 end
 
 -- EXT
-function set_stack_font(m,c,p)
+function ltjs.set_stack_font(m,c,p)
    if type(c)~='number' or c<0 or c>255 then
       ltjb.package_error('luatexja',
                         "invalid family number (".. tostring(c) .. ")",
@@ -91,7 +91,7 @@ function set_stack_font(m,c,p)
 end
 
 -- EXT: sp: glue_spec
-function set_stack_skip(m,sp)
+function ltjs.set_stack_skip(m,sp)
   local i = get_stack_level()
   if not sp then return end
   if not charprop_stack_table[i][m] then
@@ -116,24 +116,25 @@ end
 
 -- These three functions are used in ltj-jfmglue.lua.
 -- list_dir and orig_char_table are used in other lua files.
-orig_char_table = {}
-list_dir = nil -- dummy
-table_current_stack = nil -- dummy
-function report_stack_level(bsl)
-   table_current_stack = charprop_stack_table[bsl]
+local orig_char_table = {}
+ltjs.orig_char_table = orig_char_table
+ltjs.list_dir = nil -- dummy
+ltjs.table_current_stack = nil -- dummy
+function ltjs.report_stack_level(bsl)
+   ltjs.table_current_stack = charprop_stack_table[bsl]
    return bsl
 end
-function fast_get_stack_skip(m)
-   return table_current_stack[m]
+function ltjs.fast_get_stack_skip(m)
+   return ltjs.table_current_stack[m]
       or { width = 0, stretch = 0, shrink = 0, stretch_order = 0, shrink_order = 0 }
 end
 
 -- For other situations, use the following instead:
-function get_stack_skip(m, idx)
+function ltjs.get_stack_skip(m, idx)
    return charprop_stack_table[idx][m]
       or { width = 0, stretch = 0, shrink = 0, stretch_order = 0, shrink_order = 0 }
 end
-function get_stack_table(mc, d, idx)
+function ltjs.get_stack_table(mc, d, idx)
    local i = charprop_stack_table[idx][mc]
    return i or d
 end
diff --git a/src/ltj-tangle.lua b/src/ltj-tangle.lua
deleted file mode 100644 (file)
index 752d7ae..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
---
--- luatexja/tangle.lua
---
-luatexbase.provides_module({
-  name = 'luatexja.tangle',
-  date = '2011/05/14',
-  description = '',
-})
-module('luatexja.tangle', package.seeall)
-local err, warn, info, log = luatexbase.errwarinf(_NAME)
-
---! ixbase0 からの移植
-
-local _DONE, _TEX, _STOP = 0, 1, 2
-local _current_co, _interrupted
-local _resume, _check
-
-local resume_code =
-  "\\directlua{".._NAME..".resume()}\\relax"
-
-function execute(func, ...)
-  if _current_co then
-    err("tangle is going now")
-  end
-  local args = { ... }
-  local co = coroutine.create(function()
-    return _DONE, { func(unpack(args)) }
-  end)
-  _current_co = co
-  _interrupted = false
-  return _check(coroutine.resume(co, ...))
-end
-
-function resume()
-  return _resume(false)
-end
-
-function interrupt()
-  return _resume(true)
-end
-
-function run_tex()
-  coroutine.yield(_TEX, {})
-end
-
-function suspend(...)
-  local intr = coroutine.yield(_STOP, { ... })
-  if intr then
-    _interrupted = true
-    error("*INTR*") -- this error is caught later
-  end
-end
-
-function _resume(intr)
-  if not _current_co then
-    err("tangle is not going")
-  end
-  local co = _current_co
-  return _check(coroutine.resume(co, intr))
-end
-
-function _check(costat, tstat, extra)
-  if not costat then  -- error in coroutine
-    _current_co = nil
-    if _interrupted then return end
-    err(tstat)
-  elseif tstat == _DONE then
-    _current_co = nil
-  elseif tstat == _TEX then
-    tex.print(resume_code)
-  end
-  return unpack(extra)
-end
-
--- EOF
-
index 422035e..2fc1160 100644 (file)
@@ -3,14 +3,7 @@ require('lualibs')
 tableunpack = table.unpack
 
 ------------------------------------------------------------------------
--- naming:
---    ext_... : called from \directlua{}
---    int_... : called from other Lua codes, but not from \directlua{}
---    (other)     : only called from this file
-function luatexja.load_module(name)
-   require('ltj-' .. name.. '.lua')
-end
-function luatexja.load_lua(fn)
+local function load_lua(fn)
    local found = kpse.find_file(fn, 'tex')
    if not found then
       tex.error("LuaTeX-ja error: File `" .. fn .. "' not found")
@@ -19,6 +12,10 @@ function luatexja.load_lua(fn)
       dofile(found)
    end
 end
+luatexja.load_lua = load_lua
+function luatexja.load_module(name)
+   require('ltj-' .. name.. '.lua')
+end
 
 do
     local setfield = node.direct.setfield
@@ -111,7 +108,7 @@ load_module('pretreat');  local ltjp = luatexja.pretreat
 load_module('setwidth');  local ltjw = luatexja.setwidth
 load_module('jfmglue');   local ltjj = luatexja.jfmglue -- +1 glue +1 gs +1 attr_list
 load_module('math');      local ltjm = luatexja.math
-load_module('tangle');    local ltjb = luatexja.base
+load_module('base');    local ltjb = luatexja.base
 
 
 local attr_jchar_class = luatexbase.attributes['ltj@charclass']