- if lp.user_id==30111 then
- local lq = node_next(lp)
- head = node_remove(head, lp); node_free(lp); lp = lq; ihb_flag = true
- else
- set_attr_icflag_processed(lp)
- luatexbase.call_callback("luatexja.jfmglue.whatsit_getinfo"
- , Np, lp, Nq, box_stack_level)
- lp = node_next(lp)
- if Np.nuc then
- Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc; return true
- end
+ if lp.user_id==30111 then
+ local lq = node_next(lp)
+ head = node_remove(head, lp); node_free(lp); lp = lq; ihb_flag = true
+ else
+ set_attr_icflag_processed(lp)
+ luatexbase.call_callback("luatexja.jfmglue.whatsit_getinfo"
+ , Np, lp, Nq, box_stack_level)
+ lp = node_next(lp)
+ if Np.nuc then
+ Np.id = id_pbox_w; Np.first = Np.nuc; Np.last = Np.nuc; return true
+ end
+ end
+ else
+ -- we do special treatment for these whatsit nodes.
+ if lp.subtype == sid_start_link or lp.subtype == sid_start_thread then
+ Np.first = lp
+ elseif lp.subtype == sid_end_link or lp.subtype == sid_end_thread then
+ Nq.last = lp; Np.first = nil