+calc_np_auxtable[id_vlist] = calc_np_auxtable.box_like
+calc_np_auxtable[id_rule] = calc_np_auxtable.box_like
+calc_np_auxtable[13] = calc_np_auxtable.box_like
+calc_np_auxtable[id_ins] = calc_np_auxtable.skip
+calc_np_auxtable[id_mark] = calc_np_auxtable.skip
+calc_np_auxtable[id_adjust] = calc_np_auxtable.skip
+calc_np_auxtable[id_disc] = calc_np_auxtable.discglue
+calc_np_auxtable[id_glue] = calc_np_auxtable.discglue
+
+local pairs = pairs
+function calc_np(lp, last)
+ local k
+ -- We assume lp = node_next(Np.last)
+ Np, Nq, ihb_flag = Nq, Np, false
+ -- We clear `predefined' entries of Np before pairs() loop,
+ -- because using only pairs() loop is slower.
+ Np.post, Np.pre, Np.xspc = nil, nil, nil
+ Np.first, Np.id, Np.last, Np.met = nil, nil, nil
+ Np.auto_kspc, Np.auto_xspc, Np.char, Np.class, Np.nuc = nil, nil, nil, nil, nil
+ for k in pairs(Np) do Np[k] = nil end
+
+ for k = 1,#Bp do Bp[k] = nil end