summaryrefslogtreecommitdiff
path: root/source/luametatex/source/lua/lmtnodelib.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/lua/lmtnodelib.c')
-rw-r--r--source/luametatex/source/lua/lmtnodelib.c21
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)) {