--
luatexbase.provides_module({
name = 'luatexja.stack',
- date = '2014/05/08',
+ date = '2017/05/05',
description = 'LuaTeX-ja stack system',
})
module('luatexja.stack', package.seeall)
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
charprop_stack_table={};
local set_stack_table = set_stack_table
-- EXT
-function set_stack_perchar(m,c,p,lb,ub)
- if type(p)~='number' or p<lb or p>ub then
+function set_stack_perchar(m,lb,ub, getter)
+ local c = scan_int()
+ scan_keyword(',')
+ local p = tonumber((getter or scan_int)())
+ if p<lb or p>ub then
ltjb.package_error('luatexja',
"invalid code (".. tostring(p) .. ")",
"The code should in the range "..tostring(lb) .. '..' ..
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]
return bsl
return i or d
end
---------------------------------------------------------------------------------
--- nest table (obeys TeX's semantic nest)
---------------------------------------------------------------------------------
-nest_table = {}
-local nest_table = nest_table
-
-- EOF