-\ifltj@token@avail@scan %%%%%%%%%%%%%%%%%%%%%%%% new tokenlib
- \define@key[ltj]{japaram}{kanjiskip}{\message{<#1>}\ltjsetkanjiskip #1}
- \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip #1}
- \protected\def\ltjsetkanjiskip{% % SKIP
- \directlua{%
- local d = luatexja.token.scan_glue()
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.KSK, d); node.free(d)
- }}
- \protected\def\ltjsetxkanjiskip{% % SKIP
- \directlua{%
- local d = luatexja.token.scan_glue()
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
- }}
-\else %%%%%%%%%%%%%%%%%%%%%%%% old tokenlib
- \define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip{#1}}
- \define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip{#1}}
- \protected\def\ltjsetkanjiskip#1{% % SKIP
- \directlua{%
- local d = \ltj@safe@glue{#1}
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.KSK, d); node.free(d)
- }\ignorespaces}
- \protected\def\ltjsetxkanjiskip#1{% % SKIP
- \directlua{%
- local d = \ltj@safe@glue{#1}
- luatexja.stack.set_stack_skip(luatexja.stack_table_index.XSK, d); node.free(d)
- }\ignorespaces}
-\else
-\fi %%%%%%%%%%%%%%%%%%%%%%%%
-
+\define@key[ltj]{japaram}{kanjiskip}{\ltjsetkanjiskip#1}
+\define@key[ltj]{japaram}{xkanjiskip}{\ltjsetxkanjiskip#1}
+\newluafunction\ltjsetkanjiskip@inner
+\newluafunction\ltjsetxkanjiskip@inner
+\directlua{
+ local t, scan_glue = lua.get_functions_table(), token.scan_glue
+ local sss, sti = luatexja.stack.set_stack_skip, luatexja.stack_table_index
+ t[\the\ltjsetkanjiskip@inner] = function()
+ local d = scan_glue(); sss(sti.KSK, d); node.free(d)
+ end
+ t[\the\ltjsetxkanjiskip@inner] = function()
+ local d = scan_glue(); sss(sti.XSK, d); node.free(d)
+ end
+}
+\protected\def\ltjsetkanjiskip{\luafunction\ltjsetkanjiskip@inner}
+\protected\def\ltjsetxkanjiskip{\luafunction\ltjsetxkanjiskip@inner}