diff options
Diffstat (limited to 'source/luametatex/source/lua/lmtnodelib.c')
-rw-r--r-- | source/luametatex/source/lua/lmtnodelib.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/source/luametatex/source/lua/lmtnodelib.c b/source/luametatex/source/lua/lmtnodelib.c index 5ad42124d..116860f85 100644 --- a/source/luametatex/source/lua/lmtnodelib.c +++ b/source/luametatex/source/lua/lmtnodelib.c @@ -1048,14 +1048,19 @@ static int nodelib_direct_getnucleus(lua_State *L) case accent_noad: case radical_noad: nodelib_push_direct_or_nil(L, noad_nucleus(n)); - break; - default: - lua_pushnil(L); - break; + if (lua_toboolean(L, 2)) { + nodelib_push_direct_or_nil(L, noad_prime(n)); + nodelib_push_direct_or_nil(L, noad_supscr(n)); + nodelib_push_direct_or_nil(L, noad_subscr(n)); + nodelib_push_direct_or_nil(L, noad_supprescr(n)); + nodelib_push_direct_or_nil(L, noad_subprescr(n)); + return 6; + } else { + return 1; + } } - } else { - lua_pushnil(L); - } + } + lua_pushnil(L); return 1; } @@ -8780,7 +8785,7 @@ static int nodelib_direct_effectiveglue(lua_State *L) if (n) { switch (node_type(n)) { case glue_node: - nodelib_direct_effect_done(L, glue_amount(n), glue_stretch(n), glue_shrink(n),glue_stretch_order(n), glue_shrink_order(n)); + nodelib_direct_effect_done(L, glue_amount(n), glue_stretch(n), glue_shrink(n), glue_stretch_order(n), glue_shrink_order(n)); break; case math_node: if (math_surround(n)) { |