From 6047ee0476dcc0de0b6212c9a44642e3b713d48f Mon Sep 17 00:00:00 2001 From: Hironori Kitagawa Date: Wed, 14 Jan 2015 15:45:57 +0900 Subject: [PATCH 1/1] ltj-jfmglue.lua etc.: fix a bug introduced by recent commits. --- src/ltj-direction.lua | 7 +++++++ src/ltj-jfmglue.lua | 13 +++++++++---- src/ltj-pretreat.lua | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/ltj-direction.lua b/src/ltj-direction.lua index 2f6674a..e6f8ab2 100644 --- a/src/ltj-direction.lua +++ b/src/ltj-direction.lua @@ -241,6 +241,11 @@ local function create_dir_whatsit(hd, gc, new_dir) getsubtype(hd)==sid_user and getfield(hd, 'user_id')==DIR then set_attr(hd, attr_icflag, get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG) + local n = node_next(hd) + if n then + set_attr(n, attr_icflag, + get_attr_icflag(n) + PROCESSED_BEGIN_FLAG) + end ensure_tex_attr(attr_icflag, 0) return hd else @@ -253,6 +258,8 @@ local function create_dir_whatsit(hd, gc, new_dir) set_attr(hd, attr_icflag, (has_attr(hd, attr_icflag) or 0)%PROCESSED_BEGIN_FLAG + PROCESSED_BEGIN_FLAG) + set_attr(hd, attr_icflag, + get_attr_icflag(hd) + PROCESSED_BEGIN_FLAG) ensure_tex_attr(attr_icflag, 0) ensure_tex_attr(attr_dir, 0) return w diff --git a/src/ltj-jfmglue.lua b/src/ltj-jfmglue.lua index 4224996..0ef4093 100644 --- a/src/ltj-jfmglue.lua +++ b/src/ltj-jfmglue.lua @@ -82,10 +82,15 @@ local IC_PROCESSED = luatexja.icflag_table.IC_PROCESSED local BOXBDD = luatexja.icflag_table.BOXBDD local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG +local attr_icflag = luatexbase.attributes['ltj@icflag'] local kanji_skip = node_new(id_glue) local xkanji_skip = node_new(id_glue) -set_attr(kanji_skip, attr_icflag, KANJI_SKIP) -set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP) +do + local KANJI_SKIP = luatexja.icflag_table.KANJI_SKIP + local XKANJI_SKIP = luatexja.icflag_table.XKANJI_SKIP + set_attr(kanji_skip, attr_icflag, KANJI_SKIP) + set_attr(xkanji_skip, attr_icflag, XKANJI_SKIP) +end local table_current_stack local list_dir @@ -95,7 +100,6 @@ local attr_ablshift local set_np_xspc_jachar local set_np_xspc_jachar_hbox -local attr_icflag = luatexbase.attributes['ltj@icflag'] local ltjs_orig_char_table = ltjs.orig_char_table local function get_attr_icflag(p) @@ -494,6 +498,7 @@ local calc_np_auxtable = { end, [id_kern] = function(lp) if getsubtype(lp)==2 then + Np.first = Np.first or lp set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp) set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp) set_attr(lp, attr_icflag, PROCESSED); lp = node_next(lp) @@ -1104,7 +1109,7 @@ function main(ahead, mode, dir) head = ahead; local lp, last, par_indented = init_var(mode,dir) lp = calc_np(last, lp) - if lp then + if Np then handle_list_head(par_indented) lp = calc_np(last,lp); while Np do adjust_nq(); diff --git a/src/ltj-pretreat.lua b/src/ltj-pretreat.lua index 469970e..e2d294a 100644 --- a/src/ltj-pretreat.lua +++ b/src/ltj-pretreat.lua @@ -71,7 +71,7 @@ do elseif uid==DIR then if has_attr(p, attr_icflag)