diff options
author | Hans Hagen <pragma@wxs.nl> | 2022-12-01 13:43:10 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2022-12-01 13:43:10 +0100 |
commit | 08fa92c1c94d9faddee48590a1a20506e89c191c (patch) | |
tree | 12bbf6fa56b69c47340d4c15f8f601be2d9487b5 /source/luametatex/source/tex/texnodes.c | |
parent | 2593c827482f6c5a315d504cd5316879d6172656 (diff) | |
download | context-08fa92c1c94d9faddee48590a1a20506e89c191c.tar.gz |
2022-12-01 12:41:00
Diffstat (limited to 'source/luametatex/source/tex/texnodes.c')
-rw-r--r-- | source/luametatex/source/tex/texnodes.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/luametatex/source/tex/texnodes.c b/source/luametatex/source/tex/texnodes.c index 0134eb419..ab2601a43 100644 --- a/source/luametatex/source/tex/texnodes.c +++ b/source/luametatex/source/tex/texnodes.c @@ -1800,6 +1800,24 @@ halfword tex_list_node_mem_usage(void) (actually for each node tyep I guess). */ +extern void tex_change_attribute_register(halfword a, halfword id, halfword value) +{ + if (eq_value(id) != value) { + if (is_global(a)) { + int i; + for (i = (lmt_save_state.save_stack_data.ptr - 1); i >= 0; i--) { + if (save_type(i) == attribute_list_save_type) { + delete_attribute_reference(save_value(i)); + save_value(i) = attribute_cache_disabled; + } + } + } else { + delete_attribute_reference(current_attribute_state); + } + set_current_attribute_state(attribute_cache_disabled); + } +} + inline static halfword tex_aux_new_attribute_list_node(halfword count) { halfword r = tex_get_node(attribute_node_size); |