summaryrefslogtreecommitdiff
path: root/source/luametatex/source/tex/texnodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/tex/texnodes.h')
-rw-r--r--source/luametatex/source/tex/texnodes.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/source/luametatex/source/tex/texnodes.h b/source/luametatex/source/tex/texnodes.h
index f0d20e1e9..a20117ff8 100644
--- a/source/luametatex/source/tex/texnodes.h
+++ b/source/luametatex/source/tex/texnodes.h
@@ -1588,8 +1588,11 @@ typedef enum simple_choice_subtypes {
\LL
\stoptabulate
- We can use smaller variables for style and class and then have one field available for
- other usage so no need to grow.
+ We can use smaller variables for style and class and then have one field available for other
+ usage so no need to grow.
+
+ As with other nodes, not all fields are used and|/|or can be set at the tex end but they are
+ available for usage at the \LUA\ end. Some have been used for experiments and stay around.
*/
@@ -1680,6 +1683,7 @@ typedef struct noad_classes {
noad_class_main(n) = (singleword) unset_noad_class; \
noad_class_left(n) = (singleword) unset_noad_class; \
noad_class_right(n) = (singleword) unset_noad_class; \
+ noad_analyzed(n) = (singleword) unset_noad_class; \
} while (0);
# define set_noad_classes(n,c) do { \
@@ -1740,8 +1744,7 @@ typedef enum noad_options {
noad_option_auto = 0x10000000,
noad_option_unroll_list = 0x20000000,
noad_option_followed_by_space = 0x40000000,
- /* available: */
- noad_option_reserved = 0x80000000,
+ noad_option_proportional = 0x80000000,
} noad_options;
# define has_option(a,b) (((a) & (b)) == (b))
@@ -1796,6 +1799,7 @@ inline int has_noad_no_script_option(halfword n, halfword option)
# define has_noad_option_void(a) (has_option(noad_options(a), noad_option_void))
# define has_noad_option_unrolllist(a) (has_option(noad_options(a), noad_option_unroll_list))
# define has_noad_option_followedbyspace(a) (has_option(noad_options(a), noad_option_followed_by_space))
+# define has_noad_option_proportional(a) (has_option(noad_options(a), noad_option_proportional))
/*tex
In the meantime the codes and subtypes are in sync. The variable component does not really
@@ -1995,6 +1999,9 @@ typedef enum math_kernel_options {
math_kernel_no_right_pair_kern = 0x0004,
math_kernel_auto_discretionary = 0x0008,
math_kernel_full_discretionary = 0x0010,
+ math_kernel_ignored_character = 0x0020,
+ math_kernel_is_large_operator = 0x0040,
+ math_kernel_has_italic_shape = 0x0080,
} math_kernel_options;
# define math_kernel_node_size 5
@@ -2494,7 +2501,7 @@ inline static void tex_attach_attribute_list_attribute(halfword target, halfword
if (is_global(a)) { \
int i; \
for (i = (lmt_save_state.save_stack_data.ptr - 1); i >= 0; i--) { \
- if (save_type(i) == saved_attribute_list) { \
+ if (save_type(i) == attribute_list_save_type) { \
delete_attribute_reference(save_value(i)); \
save_value(i) = attribute_cache_disabled; \
} \
@@ -2508,7 +2515,7 @@ inline static void tex_attach_attribute_list_attribute(halfword target, halfword
# define save_attribute_state_before() do { \
halfword c = current_attribute_state; \
- tex_set_saved_record(saved_attribute_item_list, saved_attribute_list, 0, c); \
+ tex_set_saved_record(saved_attribute_item_list, attribute_list_save_type, 0, c); \
lmt_save_state.save_stack_data.ptr += saved_attribute_n_of_items; \
add_attribute_reference(c); \
} while (0)