--
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) .. '..' ..