[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Sat, 28 Sep 2024 16:15:18 -0400 (EDT) |
branch: master
commit 0b429b33b969e7cf82147fc316c35fa96b39571f
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Jun 1 15:53:25 2024 +0200
* tp/Texinfo/XS/convert/convert_html.c (convert_sp_command)
(convert_tab_command, convert_printindex_command),
tp/Texinfo/XS/main/build_perl_info.c (build_additional_info),
tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal),
tp/Texinfo/XS/main/debug.c (print_associate_info_debug),
tp/Texinfo/XS/main/extra.c (add_extra_misc_args)
(lookup_extra_misc_args), tp/Texinfo/XS/main/manipulate_tree.c
(associate_info_references), tp/Texinfo/XS/main/tree.c
(destroy_associated_info), tp/Texinfo/XS/main/utils.c
(informative_command_value), tp/Texinfo/XS/parsetexi/end_line.c
(parse_line_command_args, end_line_starting_block)
(end_line_misc_line), tp/Texinfo/XS/parsetexi/handle_commands.c
(handle_line_command), tp/Texinfo/XS/parsetexi/indices.c
(enter_index_entry),
tp/Texinfo/XS/structuring_transfo/transformations.c
(lookup_index_entry, relate_index_entries_to_table_items_in):
use an ELEMENT_LIST for extra_misc_args. Add lookup_extra_misc_args.
---
ChangeLog | 20 ++++++++++++++++
tp/Texinfo/XS/convert/convert_html.c | 28 +++++++++++-----------
tp/Texinfo/XS/main/build_perl_info.c | 8 +++----
tp/Texinfo/XS/main/convert_to_text.c | 7 +++---
tp/Texinfo/XS/main/debug.c | 6 ++---
tp/Texinfo/XS/main/extra.c | 21 ++++++++++++++--
tp/Texinfo/XS/main/extra.h | 3 ++-
tp/Texinfo/XS/main/manipulate_tree.c | 25 ++++++++++---------
tp/Texinfo/XS/main/tree.c | 9 ++++++-
tp/Texinfo/XS/main/utils.c | 8 +++----
tp/Texinfo/XS/parsetexi/end_line.c | 23 +++++++++---------
tp/Texinfo/XS/parsetexi/handle_commands.c | 8 +++----
tp/Texinfo/XS/parsetexi/indices.c | 8 +++----
.../XS/structuring_transfo/transformations.c | 16 ++++++-------
14 files changed, 118 insertions(+), 72 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 227e250125..9cd8e87f45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,26 @@
* NEWS, doc/info-stnd.texi (Custom Key Bindings): update.
+2024-05-31 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/XS/convert/convert_html.c (convert_sp_command)
+ (convert_tab_command, convert_printindex_command),
+ tp/Texinfo/XS/main/build_perl_info.c (build_additional_info),
+ tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal),
+ tp/Texinfo/XS/main/debug.c (print_associate_info_debug),
+ tp/Texinfo/XS/main/extra.c (add_extra_misc_args)
+ (lookup_extra_misc_args), tp/Texinfo/XS/main/manipulate_tree.c
+ (associate_info_references), tp/Texinfo/XS/main/tree.c
+ (destroy_associated_info), tp/Texinfo/XS/main/utils.c
+ (informative_command_value), tp/Texinfo/XS/parsetexi/end_line.c
+ (parse_line_command_args, end_line_starting_block)
+ (end_line_misc_line), tp/Texinfo/XS/parsetexi/handle_commands.c
+ (handle_line_command), tp/Texinfo/XS/parsetexi/indices.c
+ (enter_index_entry),
+ tp/Texinfo/XS/structuring_transfo/transformations.c
+ (lookup_index_entry, relate_index_entries_to_table_items_in):
+ use an ELEMENT_LIST for extra_misc_args. Add lookup_extra_misc_args.
+
2024-05-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/parsetexi/indices.c (enter_index_entry),
diff --git a/tp/Texinfo/XS/convert/convert_html.c
b/tp/Texinfo/XS/convert/convert_html.c
index 93b56e27d3..f4c3c3cbed 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -11027,11 +11027,11 @@ convert_sp_command (CONVERTER *self, const enum
command_id cmd,
const HTML_ARGS_FORMATTED *args_formatted,
const char *content, TEXT *result)
{
- const ELEMENT *misc_args = lookup_extra_element (element, "misc_args");
- if (misc_args && misc_args->contents.number > 0)
+ const ELEMENT_LIST *misc_args = lookup_extra_misc_args (element,
"misc_args");
+ if (misc_args && misc_args->number > 0)
{
int i;
- const ELEMENT *element_with_number = misc_args->contents.list[0];
+ const ELEMENT *element_with_number = misc_args->list[0];
unsigned int sp_nr = strtoul (element_with_number->text.text, NULL, 10);
if (html_in_preformatted_context (self) || html_in_string (self))
@@ -12268,12 +12268,12 @@ convert_tab_command (CONVERTER *self, const enum
command_id cmd,
if (columnfractions)
{
- const ELEMENT *cf_misc_args = lookup_extra_element (columnfractions,
- "misc_args");
- if (cf_misc_args->contents.number >= cell_nr)
+ const ELEMENT_LIST *cf_misc_args
+ = lookup_extra_misc_args (columnfractions, "misc_args");
+ if (cf_misc_args->number >= cell_nr)
{
const char *fraction_str
- = cf_misc_args->contents.list[cell_nr -1]->text.text;
+ = cf_misc_args->list[cell_nr -1]->text.text;
double fraction = strtod (fraction_str, NULL);
if (self->conf->_INLINE_STYLE_WIDTH.o.integer > 0)
text_printf (result, " style=\"width: %0.f%%\"", 100 * fraction);
@@ -12860,7 +12860,7 @@ convert_printindex_command (CONVERTER *self, const enum
command_id cmd,
const HTML_ARGS_FORMATTED *args_formatted,
const char *content, TEXT *result)
{
- const ELEMENT *misc_args;
+ const ELEMENT_LIST *misc_args;
const char *index_name;
const INDEX_SORTED_BY_LETTER *idx;
const INDEX_SORTED_BY_LETTER *index_sorted = 0;
@@ -12897,9 +12897,9 @@ convert_printindex_command (CONVERTER *self, const enum
command_id cmd,
if (html_in_string (self))
return;
- misc_args = lookup_extra_element (element, "misc_args");
- if (misc_args && misc_args->contents.number > 0)
- index_name = misc_args->contents.list[0]->text.text;
+ misc_args = lookup_extra_misc_args (element, "misc_args");
+ if (misc_args && misc_args->number > 0)
+ index_name = misc_args->list[0]->text.text;
else
return;
@@ -13050,10 +13050,10 @@ convert_printindex_command (CONVERTER *self, const
enum command_id cmd,
ELEMENT *entry_ref_tree;
INDEX_ENTRY *index_entry_ref = letter_entry->entries[j];
ELEMENT *main_entry_element = index_entry_ref->entry_element;
- ELEMENT *index_entry_info = lookup_extra_element (main_entry_element,
- "index_entry");
+ const ELEMENT_LIST *index_entry_info
+ = lookup_extra_misc_args (main_entry_element, "index_entry");
int entry_number
- = lookup_extra_integer (index_entry_info->contents.list[1],
+ = lookup_extra_integer (index_entry_info->list[1],
"integer", &status);
entry_nr++;
diff --git a/tp/Texinfo/XS/main/build_perl_info.c
b/tp/Texinfo/XS/main/build_perl_info.c
index e2c44af7e8..83aa14a242 100644
--- a/tp/Texinfo/XS/main/build_perl_info.c
+++ b/tp/Texinfo/XS/main/build_perl_info.c
@@ -388,15 +388,15 @@ build_additional_info (HV *extra, const ASSOCIATED_INFO
*a,
case extra_misc_args:
{
size_t j;
- const ELEMENT *f = k->k.element;
+ const ELEMENT_LIST *l = k->k.list;
AV *av = newAV ();
- av_unshift (av, f->contents.number);
+ av_unshift (av, l->number);
STORE(newRV_inc ((SV *)av));
/* An array of strings or integers. */
- for (j = 0; j < f->contents.number; j++)
+ for (j = 0; j < l->number; j++)
{
- const ELEMENT *e = f->contents.list[j];
+ const ELEMENT *e = l->list[j];
if (e->type == ET_other_text)
{
if (e->text.end > 0)
diff --git a/tp/Texinfo/XS/main/convert_to_text.c
b/tp/Texinfo/XS/main/convert_to_text.c
index bbe510f7ab..87837668f7 100644
--- a/tp/Texinfo/XS/main/convert_to_text.c
+++ b/tp/Texinfo/XS/main/convert_to_text.c
@@ -872,11 +872,12 @@ convert_to_text_internal (const ELEMENT *element,
TEXT_OPTIONS *text_options,
}
else if (element->cmd == CM_sp)
{
- const ELEMENT *misc_args = lookup_extra_element (element,
"misc_args");
+ const ELEMENT_LIST *misc_args
+ = lookup_extra_misc_args (element, "misc_args");
/* misc_args can be 0 with invalid args */
- if (misc_args && misc_args->contents.number > 0)
+ if (misc_args && misc_args->number > 0)
{
- char *sp_arg = misc_args->contents.list[0]->text.text;
+ const char *sp_arg = misc_args->list[0]->text.text;
int sp_nr = strtoul (sp_arg, NULL, 10);
int i;
if (sp_nr > 0)
diff --git a/tp/Texinfo/XS/main/debug.c b/tp/Texinfo/XS/main/debug.c
index 61461c29ea..6f51076443 100644
--- a/tp/Texinfo/XS/main/debug.c
+++ b/tp/Texinfo/XS/main/debug.c
@@ -156,11 +156,11 @@ print_associate_info_debug (const ASSOCIATED_INFO *info)
case extra_misc_args:
{
int j;
- const ELEMENT *f = k->k.element;
+ const ELEMENT_LIST *l = k->k.list;
text_append (&text, "array: ");
- for (j = 0; j < f->contents.number; j++)
+ for (j = 0; j < l->number; j++)
{
- const ELEMENT *e = f->contents.list[j];
+ const ELEMENT *e = l->list[j];
if (e->type == ET_other_text)
text_printf (&text, "%s|", e->text.text);
else
diff --git a/tp/Texinfo/XS/main/extra.c b/tp/Texinfo/XS/main/extra.c
index ca62129dd4..01d8f68a58 100644
--- a/tp/Texinfo/XS/main/extra.c
+++ b/tp/Texinfo/XS/main/extra.c
@@ -148,11 +148,11 @@ add_extra_directions (ELEMENT *e, const char *key)
}
void
-add_extra_misc_args (ELEMENT *e, char *key, ELEMENT *value)
+add_extra_misc_args (ELEMENT *e, char *key, ELEMENT_LIST *value)
{
if (!value) return;
KEY_PAIR *k = get_associated_info_key (&e->extra_info, key, extra_misc_args);
- k->k.element = value;
+ k->k.list = value;
}
void
@@ -348,6 +348,23 @@ lookup_extra_directions (const ELEMENT *e, const char *key)
return k->k.list;
}
+const ELEMENT_LIST *
+lookup_extra_misc_args (const ELEMENT *e, const char *key)
+{
+ KEY_PAIR *k = lookup_extra (e, key);
+ if (!k)
+ return 0;
+ else if (k->type != extra_misc_args)
+ {
+ char *msg;
+ xasprintf (&msg, "Bad type for lookup_extra_misc_args: %s: %d",
+ key, k->type);
+ fatal (msg);
+ free (msg);
+ }
+ return k->list;
+}
+
ELEMENT *
lookup_info_element (const ELEMENT *e, const char *key)
{
diff --git a/tp/Texinfo/XS/main/extra.h b/tp/Texinfo/XS/main/extra.h
index 1ec9f61cea..a7a9c74ed1 100644
--- a/tp/Texinfo/XS/main/extra.h
+++ b/tp/Texinfo/XS/main/extra.h
@@ -26,7 +26,7 @@ ELEMENT_LIST *add_extra_contents (ELEMENT *e, const char *key,
void add_extra_container (ELEMENT *e, char *key, ELEMENT *value);
const ELEMENT_LIST *add_extra_directions (ELEMENT *e, const char *key);
void add_extra_text (ELEMENT *e, char *key, ELEMENT *value);
-void add_extra_misc_args (ELEMENT *e, char *key, ELEMENT *value);
+void add_extra_misc_args (ELEMENT *e, char *key, ELEMENT_LIST *value);
void add_extra_string (ELEMENT *e, const char *key, char *value);
void add_extra_string_dup (ELEMENT *e, const char *key, const char *value);
void add_extra_integer (ELEMENT *e, char *key, long value);
@@ -43,6 +43,7 @@ KEY_PAIR *lookup_info (const ELEMENT *e, const char *key);
ELEMENT *lookup_extra_element (const ELEMENT *e, const char *key);
ELEMENT *lookup_info_element (const ELEMENT *e, const char *key);
ELEMENT_LIST *lookup_extra_contents (const ELEMENT *e, const char *key);
+const ELEMENT_LIST *lookup_extra_misc_args (const ELEMENT *e, const char *key);
const ELEMENT_LIST *lookup_extra_directions (const ELEMENT *e, const char
*key);
int lookup_extra_integer (const ELEMENT *e, const char *key, int *ret);
int lookup_info_integer (const ELEMENT *e, const char *key, int *ret);
diff --git a/tp/Texinfo/XS/main/manipulate_tree.c
b/tp/Texinfo/XS/main/manipulate_tree.c
index 0a53759be3..6890f08183 100644
--- a/tp/Texinfo/XS/main/manipulate_tree.c
+++ b/tp/Texinfo/XS/main/manipulate_tree.c
@@ -63,7 +63,6 @@ copy_associated_info (ASSOCIATED_INFO *info, ASSOCIATED_INFO*
new_info)
KEY_PAIR *k_ref = &info->info[i];
const char *key = k_ref->key;
ELEMENT *f = k_ref->k.element;
- ELEMENT *new_extra_element;
ELEMENT_LIST *new_extra_contents;
KEY_PAIR *k_copy = 0;
int j;
@@ -122,7 +121,7 @@ copy_associated_info (ASSOCIATED_INFO *info,
ASSOCIATED_INFO* new_info)
case extra_container:
{
KEY_PAIR *k = get_associated_info_key (new_info, key, k_ref->type);
- new_extra_element = new_element (ET_NONE);
+ ELEMENT *new_extra_element = new_element (ET_NONE);
k->k.element = new_extra_element;
for (j = 0; j < f->contents.number; j++)
{
@@ -227,10 +226,8 @@ associate_info_references (ASSOCIATED_INFO *info,
ASSOCIATED_INFO *new_info)
for (i = 0; i < info->info_number; i++)
{
- KEY_PAIR *k_ref = &info->info[i];
+ const KEY_PAIR *k_ref = &info->info[i];
const char *key = k_ref->key;
- ELEMENT *f = k_ref->k.element;
- ELEMENT *new_extra_element;
int j;
if (k_ref->type == extra_deleted)
@@ -243,14 +240,15 @@ associate_info_references (ASSOCIATED_INFO *info,
ASSOCIATED_INFO *new_info)
if (!strcmp (key, "_copy"))
break;
{
+ ELEMENT *f = k_ref->k.element;
KEY_PAIR *k;
- KEY_PAIR *k_copy;
+ const KEY_PAIR *k_copy;
k = lookup_associated_info (new_info, key);
if (!k)
{
ELEMENT *e = get_copy_ref (f);
k = get_associated_info_key (new_info, key,
- info->info[i].type);
+ k_ref->type);
k->k.element = e;
}
k_copy = lookup_extra_by_index (f, "_copy", -1);
@@ -287,8 +285,9 @@ associate_info_references (ASSOCIATED_INFO *info,
ASSOCIATED_INFO *new_info)
}
case extra_container:
{
+ const ELEMENT *f = k_ref->element;
KEY_PAIR *k = lookup_associated_info (new_info, key);
- new_extra_element = k->k.element;
+ ELEMENT *new_extra_element = k->k.element;
for (j = 0; j < f->contents.number; j++)
{
KEY_PAIR *k_copy;
@@ -324,12 +323,12 @@ associate_info_references (ASSOCIATED_INFO *info,
ASSOCIATED_INFO *new_info)
case extra_misc_args:
{
int j;
- new_extra_element = new_element (ET_NONE);
KEY_PAIR *k = get_associated_info_key (new_info, key, k_ref->type);
- k->k.element = new_extra_element;
- for (j = 0; j < f->contents.number; j++)
+ ELEMENT_LIST *new_extra_misc_args = new_list();
+ k->k.list = new_extra_mk.isc_args;
+ for (j = 0; j < k_ref->list->number; j++)
{
- const ELEMENT *e = f->contents.list[j];
+ const ELEMENT *e = k_ref->k.list->list[j];
ELEMENT *new_e;
if (e->type == ET_other_text)
{
@@ -346,7 +345,7 @@ associate_info_references (ASSOCIATED_INFO *info,
ASSOCIATED_INFO *new_info)
add_extra_integer (new_e, "integer",
k_integer->k.integer);
}
}
- add_to_contents_as_array (new_extra_element, new_e);
+ add_to_element_list (new_extra_misc_args, new_e);
}
break;
}
diff --git a/tp/Texinfo/XS/main/tree.c b/tp/Texinfo/XS/main/tree.c
index eb13742840..6566a88da3 100644
--- a/tp/Texinfo/XS/main/tree.c
+++ b/tp/Texinfo/XS/main/tree.c
@@ -156,7 +156,14 @@ destroy_associated_info (ASSOCIATED_INFO *a)
destroy_element (k_pair->k.element);
break;
case extra_misc_args:
- destroy_element_and_children (k_pair->k.element);
+ {
+ int j;
+ ELEMENT_LIST *l = a->info[i].k.list;
+ for (j = 0; j < l->number; j++)
+ destroy_element (l->list[j]);
+
+ destroy_list (a->info[i].list);
+ }
break;
default:
diff --git a/tp/Texinfo/XS/main/utils.c b/tp/Texinfo/XS/main/utils.c
index 763385d9f1..9e33a4d0b8 100644
--- a/tp/Texinfo/XS/main/utils.c
+++ b/tp/Texinfo/XS/main/utils.c
@@ -1156,7 +1156,7 @@ get_cmd_global_uniq_command (const GLOBAL_COMMANDS
*global_commands_ref,
char *
informative_command_value (const ELEMENT *element)
{
- ELEMENT *misc_args;
+ const ELEMENT_LIST *misc_args;
char *text_arg;
enum command_id cmd = element_builtin_data_cmd (element);
@@ -1202,9 +1202,9 @@ informative_command_value (const ELEMENT *element)
text_arg = lookup_extra_string (element, "text_arg");
if (text_arg)
return text_arg;
- misc_args = lookup_extra_element (element, "misc_args");
- if (misc_args && misc_args->contents.number > 0)
- return misc_args->contents.list[0]->text.text;
+ misc_args = lookup_extra_misc_args (element, "misc_args");
+ if (misc_args && misc_args->number > 0)
+ return misc_args->list[0]->text.text;
if (builtin_command_data[cmd].flags & CF_line
&& builtin_command_data[cmd].data == LINE_line
&& element->args.number >= 1
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c
b/tp/Texinfo/XS/parsetexi/end_line.c
index 321efd7a78..02047c85a5 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -100,17 +100,17 @@ is_whole_number (const char *string)
is an array of the arguments. For some commands, there is further
processing of the arguments (for example, for an @alias, remember the
alias.) */
-ELEMENT *
+ELEMENT_LIST *
parse_line_command_args (ELEMENT *line_command)
{
#define ADD_ARG(string) do { \
ELEMENT *E = new_element (ET_other_text); \
text_append (&E->text, string); \
- add_to_element_contents (line_args, E); \
+ add_to_element_list (line_args, E); \
} while (0)
ELEMENT *arg = line_command->args.list[0];
- ELEMENT *line_args;
+ ELEMENT_LIST *line_args;
enum command_id cmd;
const char *line;
@@ -128,8 +128,8 @@ parse_line_command_args (ELEMENT *line_command)
if (arg->contents.list[0]->text.end == 0)
return 0;
- /* element without type put in extra "misc_args" */
- line_args = new_element (ET_NONE);
+ /* put in extra "misc_args" */
+ line_args = new_list ();
line = arg->contents.list[0]->text.text;
switch (cmd)
@@ -318,7 +318,7 @@ parse_line_command_args (ELEMENT *line_command)
{
new = new_element (ET_other_text);
text_append_n (&new->text, p, q - p);
- add_to_element_contents (line_args, new);
+ add_to_element_list (line_args, new);
}
free (arg);
p = q;
@@ -662,9 +662,9 @@ parse_line_command_args (ELEMENT *line_command)
default:
;
}
- if (line_args->contents.number == 0)
+ if (line_args->number == 0)
{
- destroy_element (line_args);
+ destroy_list (line_args);
return 0;
}
else
@@ -810,12 +810,13 @@ end_line_starting_block (ELEMENT *current)
&& (k = lookup_extra (current->parent, "columnfractions")))
{
ELEMENT *misc_cmd = k->k.element;
- ELEMENT *misc_args = lookup_extra_element (misc_cmd, "misc_args");
+ const ELEMENT_LIST *misc_args
+ = lookup_extra_misc_args (misc_cmd, "misc_args");
if (misc_args)
{
add_extra_integer (current->parent, "max_columns",
- misc_args->contents.number);
+ misc_args->number);
}
else
{
@@ -1249,7 +1250,7 @@ end_line_misc_line (ELEMENT *current)
if (arg_spec == LINE_specific)
{
- ELEMENT *args = parse_line_command_args (current);
+ ELEMENT_LIST *args = parse_line_command_args (current);
if (args)
add_extra_misc_args (current, "misc_args", args);
}
diff --git a/tp/Texinfo/XS/parsetexi/handle_commands.c
b/tp/Texinfo/XS/parsetexi/handle_commands.c
index d5f92fb38e..82cb26e66c 100644
--- a/tp/Texinfo/XS/parsetexi/handle_commands.c
+++ b/tp/Texinfo/XS/parsetexi/handle_commands.c
@@ -650,6 +650,8 @@ handle_line_command (ELEMENT *current, const char
**line_inout,
ELEMENT *e;
ELEMENT *spaces_before = new_element (ET_other_text);
ELEMENT *spaces_after = new_element (ET_other_text);
+ /* put in extra "misc_args" */
+ ELEMENT_LIST *args_list = new_list ();
if (cmd == CM_set)
arg = "on";
@@ -660,11 +662,9 @@ handle_line_command (ELEMENT *current, const char
**line_inout,
command and add it to the tree. */
destroy_element_and_children (args);
- /* element without type put in extra "misc_args" */
- args = new_element (ET_NONE);
e = new_element (ET_other_text);
text_append (&e->text, arg);
- add_to_element_contents (args, e);
+ add_to_element_list (args_list, e);
destroy_element_and_children (command_e);
command_e = new_element (ET_NONE);
@@ -673,7 +673,7 @@ handle_line_command (ELEMENT *current, const char
**line_inout,
line_args = new_element (ET_line_arg);
add_to_element_args (command_e, line_args);
- add_extra_misc_args (command_e, "misc_args", args);
+ add_extra_misc_args (command_e, "misc_args", args_list);
text_append (&spaces_before->text, " ");
add_info_element_oot (command_e, "spaces_before_argument",
spaces_before);
diff --git a/tp/Texinfo/XS/parsetexi/indices.c
b/tp/Texinfo/XS/parsetexi/indices.c
index 8110c13fd2..1b20615519 100644
--- a/tp/Texinfo/XS/parsetexi/indices.c
+++ b/tp/Texinfo/XS/parsetexi/indices.c
@@ -287,15 +287,15 @@ enter_index_entry (enum command_id index_type_cmd,
/* index_entry is an array with two elements. Use
extra_misc_args to pass that information as an array */
{
- /* element without type put in extra "misc_args" */
- ELEMENT *index_entry = new_element (ET_NONE);
+ /* put in extra "misc_args" */
+ ELEMENT_LIST *index_entry = new_list ();
/* index name put as text in extra "misc_args" */
ELEMENT *e = new_element (ET_other_text);
text_append (&e->text, idx->name);
- add_to_element_contents (index_entry, e);
+ add_to_element_list (index_entry, e);
e = new_element (ET_NONE);
add_extra_integer (e, "integer", idx->entries_number);
- add_to_element_contents (index_entry, e);
+ add_to_element_list (index_entry, e);
add_extra_misc_args (element, "index_entry", index_entry);
}
diff --git a/tp/Texinfo/XS/structuring_transfo/transformations.c
b/tp/Texinfo/XS/structuring_transfo/transformations.c
index 29714ba8c7..f2eb59f41c 100644
--- a/tp/Texinfo/XS/structuring_transfo/transformations.c
+++ b/tp/Texinfo/XS/structuring_transfo/transformations.c
@@ -51,14 +51,14 @@
/* in Common.pm */
INDEX_ENTRY_AND_INDEX *
-lookup_index_entry (ELEMENT *index_entry_info, INDEX_LIST *indices_info)
+lookup_index_entry (ELEMENT_LIST *index_entry_info, INDEX_LIST *indices_info)
{
INDEX_ENTRY_AND_INDEX *result = 0;
int status;
int entry_number
- = lookup_extra_integer (index_entry_info->contents.list[1], "integer",
+ = lookup_extra_integer (index_entry_info->list[1], "integer",
&status);
- char *entry_index_name = index_entry_info->contents.list[0]->text.text;
+ char *entry_index_name = index_entry_info->list[0]->text.text;
INDEX *index_info;
index_info = indices_info_index_by_name (indices_info,
@@ -383,8 +383,8 @@ relate_index_entries_to_table_items_in (ELEMENT *table,
if (!entry_idx_info)
{
INDEX_ENTRY_AND_INDEX *idx_info;
- ELEMENT *index_entry_info = lookup_extra_element
(content,
-
"index_entry");
+ ELEMENT_LIST *index_entry_info
+ = lookup_extra_misc_args (content, "index_entry");
idx_info = lookup_index_entry (index_entry_info,
indices_info);
if (idx_info->index_entry)
@@ -401,7 +401,7 @@ relate_index_entries_to_table_items_in (ELEMENT *table,
}
if (item && entry_idx_info)
{
- ELEMENT *index_entry_command = new_element (ET_NONE);
+ ELEMENT_LIST *index_entry_command = new_list ();
ELEMENT *e = new_element (ET_other_text);
/*
This is better than overwriting 'entry_element', which
@@ -410,11 +410,11 @@ relate_index_entries_to_table_items_in (ELEMENT *table,
entry_idx_info->index_entry->entry_associated_element = item;
/* also add a reference from element to index entry in index */
text_append (&e->text, entry_idx_info->index->name);
- add_to_element_contents (index_entry_command, e);
+ add_to_element_list (index_entry_command, e);
e = new_element (ET_NONE);
add_extra_integer (e, "integer",
entry_idx_info->entry_number);
- add_to_element_contents (index_entry_command, e);
+ add_to_element_list (index_entry_command, e);
add_extra_misc_args (item, "associated_index_entry",
index_entry_command);
free (entry_idx_info);