[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: Always have an OPTIONS structure associated to an
From: |
Patrice Dumas |
Subject: |
branch master updated: Always have an OPTIONS structure associated to an options list |
Date: |
Mon, 28 Oct 2024 03:23:25 -0400 |
This is an automated email from the git hooks/post-receive script.
pertusus pushed a commit to branch master
in repository texinfo.
The following commit(s) were added to refs/heads/master by this push:
new 729420500b Always have an OPTIONS structure associated to an options
list
729420500b is described below
commit 729420500bc659d7455df3a4be787c5f292eb31c
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Oct 28 08:23:13 2024 +0100
Always have an OPTIONS structure associated to an options list
* tp/Texinfo/XS/convert/texinfo.c (txi_parser): rename OPTIONS_LIST
argument as options_list.
* tp/Texinfo/XS/convert/converter.c
(new_converter_initialization_info): always initialize the options
list.
* tp/Texinfo/XS/convert/get_converter_perl_info.c
(get_converter_info_from_sv),
tp/maintain/regenerate_C_options_info.pl,
tp/Texinfo/XS/convert/texinfo.c (txi_parser),
tp/Texinfo/XS/main/build_perl_info.c
(build_sv_options_from_options_list),
tp/Texinfo/XS/main/customization_options.c
(copy_numbered_options_list_options, initialize_options_list)
(options_list_add_option_number, options_list_add_option_name)
(add_option_value, add_option_copy, add_new_button_option)
(free_options_list, add_option_strlist_value),
tp/Texinfo/XS/main/option_types.h (OPTIONS_LIST),
tp/Texinfo/XS/teximakehtml.c (main): add an OPTIONS and
sorted options field to OPTIONS_LIST and initialize them in
initialize_options_list. Set OPTIONS_LIST list to be the list of
option numbers instead of the options themselves. Replace
new_option_string_value and add_new_option_value by add_option_value.
Replace options_list_add_option by options_list_add_option_number and
options_list_add_option_name. Remove number_options_list as the
options list are always numbered now.
* tp/Texinfo/XS/convert/html_converter_init_options.c
(html_converter_defaults), tp/Texinfo/XS/convert/texinfo.c
(txi_parser): simplify code by using the OPTIONS to find if a
customization variable is set is set.
---
ChangeLog | 38 ++
tp/Texinfo/XS/convert/ConvertXS.xs | 1 -
tp/Texinfo/XS/convert/converter.c | 5 +-
tp/Texinfo/XS/convert/converters_options.c | 166 +++----
tp/Texinfo/XS/convert/get_converter_perl_info.c | 11 +-
.../XS/convert/html_converter_init_options.c | 17 +-
tp/Texinfo/XS/convert/texinfo.c | 28 +-
tp/Texinfo/XS/main/build_perl_info.c | 3 +-
tp/Texinfo/XS/main/customization_options.c | 213 ++++-----
tp/Texinfo/XS/main/customization_options.h | 15 +-
tp/Texinfo/XS/main/option_types.h | 4 +-
tp/Texinfo/XS/main/options_defaults.c | 504 +++++++++++----------
tp/Texinfo/XS/teximakehtml.c | 58 +--
tp/maintain/regenerate_C_options_info.pl | 12 +-
14 files changed, 524 insertions(+), 551 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f4cad26ee5..1c1316bb97 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2024-10-28 Patrice Dumas <pertusus@free.fr>
+
+ Always have an OPTIONS structure associated to an options list
+
+ * tp/Texinfo/XS/convert/texinfo.c (txi_parser): rename OPTIONS_LIST
+ argument as options_list.
+
+ * tp/Texinfo/XS/convert/converter.c
+ (new_converter_initialization_info): always initialize the options
+ list.
+
+ * tp/Texinfo/XS/convert/get_converter_perl_info.c
+ (get_converter_info_from_sv),
+ tp/maintain/regenerate_C_options_info.pl,
+ tp/Texinfo/XS/convert/texinfo.c (txi_parser),
+ tp/Texinfo/XS/main/build_perl_info.c
+ (build_sv_options_from_options_list),
+ tp/Texinfo/XS/main/customization_options.c
+ (copy_numbered_options_list_options, initialize_options_list)
+ (options_list_add_option_number, options_list_add_option_name)
+ (add_option_value, add_option_copy, add_new_button_option)
+ (free_options_list, add_option_strlist_value),
+ tp/Texinfo/XS/main/option_types.h (OPTIONS_LIST),
+ tp/Texinfo/XS/teximakehtml.c (main): add an OPTIONS and
+ sorted options field to OPTIONS_LIST and initialize them in
+ initialize_options_list. Set OPTIONS_LIST list to be the list of
+ option numbers instead of the options themselves. Replace
+ new_option_string_value and add_new_option_value by add_option_value.
+ Replace options_list_add_option by options_list_add_option_number and
+ options_list_add_option_name. Remove number_options_list as the
+ options list are always numbered now.
+
+ * tp/Texinfo/XS/convert/html_converter_init_options.c
+ (html_converter_defaults), tp/Texinfo/XS/convert/texinfo.c
+ (txi_parser): simplify code by using the OPTIONS to find if a
+ customization variable is set is set.
+
+
2024-10-27 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c (converter_converter),
diff --git a/tp/Texinfo/XS/convert/ConvertXS.xs
b/tp/Texinfo/XS/convert/ConvertXS.xs
index 56392801eb..0f5453b1cc 100644
--- a/tp/Texinfo/XS/convert/ConvertXS.xs
+++ b/tp/Texinfo/XS/convert/ConvertXS.xs
@@ -199,7 +199,6 @@ generic_converter_init (SV *converter_in, SV
*format_defaults_sv, SV *conf_sv=0)
{
format_defaults = self->format_defaults;
self->format_defaults = 0;
- number_options_list (&format_defaults->conf, self->sorted_options);
}
conf = get_converter_info_from_sv (conf_sv, class_name, self,
diff --git a/tp/Texinfo/XS/convert/converter.c
b/tp/Texinfo/XS/convert/converter.c
index a4df233f18..b179a8a947 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -372,6 +372,8 @@ new_converter_initialization_info (void)
CONVERTER_INITIALIZATION_INFO *result = (CONVERTER_INITIALIZATION_INFO *)
malloc (sizeof (CONVERTER_INITIALIZATION_INFO));
memset (result, 0, sizeof (CONVERTER_INITIALIZATION_INFO));
+
+ initialize_options_list (&result->conf, 0);
return result;
}
@@ -464,12 +466,9 @@ converter_converter (enum converter_format format,
= new_converter_initialization_info ();
copy_converter_initialization_info (user_conf, input_user_conf);
- number_options_list (&user_conf->conf, converter->sorted_options);
format_defaults = converter_defaults (converter->format, user_conf);
- number_options_list (&format_defaults->conf, converter->sorted_options);
-
set_converter_init_information (converter, format_defaults, user_conf);
destroy_converter_initialization_info (format_defaults);
diff --git a/tp/Texinfo/XS/convert/converters_options.c
b/tp/Texinfo/XS/convert/converters_options.c
index 35bc2499e6..5294551b56 100644
--- a/tp/Texinfo/XS/convert/converters_options.c
+++ b/tp/Texinfo/XS/convert/converters_options.c
@@ -26,12 +26,12 @@ set_common_regular_options_defaults (OPTIONS *options)
void
add_common_regular_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "PACKAGE", -2, "texinfo");
- add_new_option_value (options_list, GOT_char, "PACKAGE_NAME", -2, "GNU
Texinfo");
- add_new_option_value (options_list, GOT_char, "PACKAGE_AND_VERSION", -2,
"texinfo");
- add_new_option_value (options_list, GOT_char, "PACKAGE_VERSION", -2, "");
- add_new_option_value (options_list, GOT_char, "PACKAGE_URL", -2,
"https://www.gnu.org/software/texinfo/");
- add_new_option_value (options_list, GOT_char, "PROGRAM", -2, "");
+ add_option_value (options_list, "PACKAGE", -2, "texinfo");
+ add_option_value (options_list, "PACKAGE_NAME", -2, "GNU Texinfo");
+ add_option_value (options_list, "PACKAGE_AND_VERSION", -2, "texinfo");
+ add_option_value (options_list, "PACKAGE_VERSION", -2, "");
+ add_option_value (options_list, "PACKAGE_URL", -2,
"https://www.gnu.org/software/texinfo/");
+ add_option_value (options_list, "PROGRAM", -2, "");
}
void
@@ -43,7 +43,7 @@ set_converter_regular_options_defaults (OPTIONS *options)
void
add_converter_regular_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "documentlanguage", -2, 0);
+ add_option_value (options_list, "documentlanguage", -2, 0);
}
void
@@ -107,59 +107,59 @@ set_html_regular_options_defaults (OPTIONS *options)
void
add_html_regular_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "BIG_RULE", -2, "<hr>");
- add_new_option_value (options_list, GOT_char, "BODY_ELEMENT_ATTRIBUTES", -2,
0);
- add_new_option_value (options_list, GOT_integer, "CHAPTER_HEADER_LEVEL", 2,
0);
- add_new_option_value (options_list, GOT_char, "CLOSE_QUOTE_SYMBOL", -2, 0);
- add_new_option_value (options_list, GOT_char, "CONTENTS_OUTPUT_LOCATION",
-2, "after_top");
- add_new_option_value (options_list, GOT_integer, "CONVERT_TO_LATEX_IN_MATH",
-1, 0);
- add_new_option_value (options_list, GOT_integer,
"INDENTED_BLOCK_COMMANDS_IN_TABLE", 0, 0);
- add_new_option_value (options_list, GOT_integer, "CHECK_HTMLXREF", 1, 0);
- add_new_option_value (options_list, GOT_integer, "COPIABLE_LINKS", 1, 0);
- add_new_option_value (options_list, GOT_integer, "DATE_IN_HEADER", 0, 0);
- add_new_option_value (options_list, GOT_char, "DEFAULT_RULE", -2, "<hr>");
- add_new_option_value (options_list, GOT_char, "documentlanguage", -2, "en");
- add_new_option_value (options_list, GOT_char, "DOCTYPE", -2, "<!DOCTYPE
html>");
- add_new_option_value (options_list, GOT_integer, "DO_ABOUT", 0, 0);
- add_new_option_value (options_list, GOT_integer, "OUTPUT_CHARACTERS", 0, 0);
- add_new_option_value (options_list, GOT_char, "EXTENSION", -2, "html");
- add_new_option_value (options_list, GOT_char, "EXTERNAL_CROSSREF_EXTENSION",
-2, 0);
- add_new_option_value (options_list, GOT_integer,
"FOOTNOTE_END_HEADER_LEVEL", 4, 0);
- add_new_option_value (options_list, GOT_integer,
"FOOTNOTE_SEPARATE_HEADER_LEVEL", 4, 0);
- add_new_option_value (options_list, GOT_char, "FORMAT_MENU", -2,
"sectiontoc");
- add_new_option_value (options_list, GOT_integer, "HEADERS", 1, 0);
- add_new_option_value (options_list, GOT_char, "INDEX_ENTRY_COLON", -2, "");
- add_new_option_value (options_list, GOT_integer, "INLINE_CSS_STYLE", 0, 0);
- add_new_option_value (options_list, GOT_char, "JS_WEBLABELS", -2,
"generate");
- add_new_option_value (options_list, GOT_char, "JS_WEBLABELS_FILE", -2,
"js_licenses.html");
- add_new_option_value (options_list, GOT_integer, "MAX_HEADER_LEVEL", 4, 0);
- add_new_option_value (options_list, GOT_char, "MENU_ENTRY_COLON", -2, ":");
- add_new_option_value (options_list, GOT_char, "MENU_SYMBOL", -2, 0);
- add_new_option_value (options_list, GOT_integer, "MONOLITHIC", 1, 0);
- add_new_option_value (options_list, GOT_integer, "NO_CUSTOM_HTML_ATTRIBUTE",
0, 0);
- add_new_option_value (options_list, GOT_integer, "NO_CSS", 0, 0);
- add_new_option_value (options_list, GOT_char, "NO_NUMBER_FOOTNOTE_SYMBOL",
-2, "*");
- add_new_option_value (options_list, GOT_integer, "NODE_NAME_IN_MENU", 1, 0);
- add_new_option_value (options_list, GOT_char, "OPEN_QUOTE_SYMBOL", -2, 0);
- add_new_option_value (options_list, GOT_char, "OUTPUT_ENCODING_NAME", -2,
"utf-8");
- add_new_option_value (options_list, GOT_integer, "SECTION_NAME_IN_TITLE", 0,
0);
- add_new_option_value (options_list, GOT_integer, "SHORT_TOC_LINK_TO_TOC", 1,
0);
- add_new_option_value (options_list, GOT_integer, "SHOW_TITLE", -1, 0);
- add_new_option_value (options_list, GOT_char, "SPLIT", -2, "node");
- add_new_option_value (options_list, GOT_char, "TOP_FILE", -2, "index.html");
- add_new_option_value (options_list, GOT_char, "TOP_NODE_FILE_TARGET", -2,
"index.html");
- add_new_option_value (options_list, GOT_integer, "USE_ACCESSKEY", 1, 0);
- add_new_option_value (options_list, GOT_integer,
"USE_NEXT_HEADING_FOR_LONE_NODE", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_ISO", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_LINKS", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_NODES", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_NODE_DIRECTIONS", -1,
0);
- add_new_option_value (options_list, GOT_integer, "USE_REL_REV", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_TITLEPAGE_FOR_TITLE",
1, 0);
- add_new_option_value (options_list, GOT_integer, "WORDS_IN_PAGE", 300, 0);
- add_new_option_value (options_list, GOT_integer, "XREF_USE_NODE_NAME_ARG",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "XREF_USE_FLOAT_LABEL", 0,
0);
- add_new_option_value (options_list, GOT_char, "xrefautomaticsectiontitle",
-2, "on");
+ add_option_value (options_list, "BIG_RULE", -2, "<hr>");
+ add_option_value (options_list, "BODY_ELEMENT_ATTRIBUTES", -2, 0);
+ add_option_value (options_list, "CHAPTER_HEADER_LEVEL", 2, 0);
+ add_option_value (options_list, "CLOSE_QUOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "CONTENTS_OUTPUT_LOCATION", -2, "after_top");
+ add_option_value (options_list, "CONVERT_TO_LATEX_IN_MATH", -1, 0);
+ add_option_value (options_list, "INDENTED_BLOCK_COMMANDS_IN_TABLE", 0, 0);
+ add_option_value (options_list, "CHECK_HTMLXREF", 1, 0);
+ add_option_value (options_list, "COPIABLE_LINKS", 1, 0);
+ add_option_value (options_list, "DATE_IN_HEADER", 0, 0);
+ add_option_value (options_list, "DEFAULT_RULE", -2, "<hr>");
+ add_option_value (options_list, "documentlanguage", -2, "en");
+ add_option_value (options_list, "DOCTYPE", -2, "<!DOCTYPE html>");
+ add_option_value (options_list, "DO_ABOUT", 0, 0);
+ add_option_value (options_list, "OUTPUT_CHARACTERS", 0, 0);
+ add_option_value (options_list, "EXTENSION", -2, "html");
+ add_option_value (options_list, "EXTERNAL_CROSSREF_EXTENSION", -2, 0);
+ add_option_value (options_list, "FOOTNOTE_END_HEADER_LEVEL", 4, 0);
+ add_option_value (options_list, "FOOTNOTE_SEPARATE_HEADER_LEVEL", 4, 0);
+ add_option_value (options_list, "FORMAT_MENU", -2, "sectiontoc");
+ add_option_value (options_list, "HEADERS", 1, 0);
+ add_option_value (options_list, "INDEX_ENTRY_COLON", -2, "");
+ add_option_value (options_list, "INLINE_CSS_STYLE", 0, 0);
+ add_option_value (options_list, "JS_WEBLABELS", -2, "generate");
+ add_option_value (options_list, "JS_WEBLABELS_FILE", -2, "js_licenses.html");
+ add_option_value (options_list, "MAX_HEADER_LEVEL", 4, 0);
+ add_option_value (options_list, "MENU_ENTRY_COLON", -2, ":");
+ add_option_value (options_list, "MENU_SYMBOL", -2, 0);
+ add_option_value (options_list, "MONOLITHIC", 1, 0);
+ add_option_value (options_list, "NO_CUSTOM_HTML_ATTRIBUTE", 0, 0);
+ add_option_value (options_list, "NO_CSS", 0, 0);
+ add_option_value (options_list, "NO_NUMBER_FOOTNOTE_SYMBOL", -2, "*");
+ add_option_value (options_list, "NODE_NAME_IN_MENU", 1, 0);
+ add_option_value (options_list, "OPEN_QUOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "OUTPUT_ENCODING_NAME", -2, "utf-8");
+ add_option_value (options_list, "SECTION_NAME_IN_TITLE", 0, 0);
+ add_option_value (options_list, "SHORT_TOC_LINK_TO_TOC", 1, 0);
+ add_option_value (options_list, "SHOW_TITLE", -1, 0);
+ add_option_value (options_list, "SPLIT", -2, "node");
+ add_option_value (options_list, "TOP_FILE", -2, "index.html");
+ add_option_value (options_list, "TOP_NODE_FILE_TARGET", -2, "index.html");
+ add_option_value (options_list, "USE_ACCESSKEY", 1, 0);
+ add_option_value (options_list, "USE_NEXT_HEADING_FOR_LONE_NODE", 1, 0);
+ add_option_value (options_list, "USE_ISO", 1, 0);
+ add_option_value (options_list, "USE_LINKS", 1, 0);
+ add_option_value (options_list, "USE_NODES", 1, 0);
+ add_option_value (options_list, "USE_NODE_DIRECTIONS", -1, 0);
+ add_option_value (options_list, "USE_REL_REV", 1, 0);
+ add_option_value (options_list, "USE_TITLEPAGE_FOR_TITLE", 1, 0);
+ add_option_value (options_list, "WORDS_IN_PAGE", 300, 0);
+ add_option_value (options_list, "XREF_USE_NODE_NAME_ARG", -1, 0);
+ add_option_value (options_list, "XREF_USE_FLOAT_LABEL", 0, 0);
+ add_option_value (options_list, "xrefautomaticsectiontitle", -2, "on");
}
void
@@ -193,29 +193,29 @@ set_texi2html_regular_options_defaults (OPTIONS *options)
void
add_texi2html_regular_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "FORMAT_MENU", -2, "menu");
- add_new_option_value (options_list, GOT_integer,
"USE_SETFILENAME_EXTENSION", 0, 0);
- add_new_option_value (options_list, GOT_char, "footnotestyle", -2,
"separate");
- add_new_option_value (options_list, GOT_char, "CONTENTS_OUTPUT_LOCATION",
-2, "separate_element");
- add_new_option_value (options_list, GOT_integer, "FORCE", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_ACCESSKEY", 0, 0);
- add_new_option_value (options_list, GOT_integer, "NODE_NAME_IN_MENU", 0, 0);
- add_new_option_value (options_list, GOT_integer, "SHORT_TOC_LINK_TO_TOC", 0,
0);
- add_new_option_value (options_list, GOT_integer, "SHOW_TITLE", 1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_REL_REV", 0, 0);
- add_new_option_value (options_list, GOT_integer, "USE_LINKS", 0, 0);
- add_new_option_value (options_list, GOT_integer, "USE_NODES", 0, 0);
- add_new_option_value (options_list, GOT_char, "SPLIT", -2, "");
- add_new_option_value (options_list, GOT_integer, "PROGRAM_NAME_IN_FOOTER",
1, 0);
- add_new_option_value (options_list, GOT_integer, "PROGRAM_NAME_IN_ABOUT", 1,
0);
- add_new_option_value (options_list, GOT_integer, "HEADER_IN_TABLE", 1, 0);
- add_new_option_value (options_list, GOT_char, "MENU_ENTRY_COLON", -2, "");
- add_new_option_value (options_list, GOT_char, "INDEX_ENTRY_COLON", -2, "");
- add_new_option_value (options_list, GOT_integer, "DO_ABOUT", -1, 0);
- add_new_option_value (options_list, GOT_integer, "CHAPTER_HEADER_LEVEL", 1,
0);
- add_new_option_value (options_list, GOT_char, "BIG_RULE", -2, "<hr
style=\"height: 6px;\">");
- add_new_option_value (options_list, GOT_integer,
"FOOTNOTE_END_HEADER_LEVEL", 3, 0);
- add_new_option_value (options_list, GOT_integer,
"FOOTNOTE_SEPARATE_HEADER_LEVEL", 1, 0);
+ add_option_value (options_list, "FORMAT_MENU", -2, "menu");
+ add_option_value (options_list, "USE_SETFILENAME_EXTENSION", 0, 0);
+ add_option_value (options_list, "footnotestyle", -2, "separate");
+ add_option_value (options_list, "CONTENTS_OUTPUT_LOCATION", -2,
"separate_element");
+ add_option_value (options_list, "FORCE", 1, 0);
+ add_option_value (options_list, "USE_ACCESSKEY", 0, 0);
+ add_option_value (options_list, "NODE_NAME_IN_MENU", 0, 0);
+ add_option_value (options_list, "SHORT_TOC_LINK_TO_TOC", 0, 0);
+ add_option_value (options_list, "SHOW_TITLE", 1, 0);
+ add_option_value (options_list, "USE_REL_REV", 0, 0);
+ add_option_value (options_list, "USE_LINKS", 0, 0);
+ add_option_value (options_list, "USE_NODES", 0, 0);
+ add_option_value (options_list, "SPLIT", -2, "");
+ add_option_value (options_list, "PROGRAM_NAME_IN_FOOTER", 1, 0);
+ add_option_value (options_list, "PROGRAM_NAME_IN_ABOUT", 1, 0);
+ add_option_value (options_list, "HEADER_IN_TABLE", 1, 0);
+ add_option_value (options_list, "MENU_ENTRY_COLON", -2, "");
+ add_option_value (options_list, "INDEX_ENTRY_COLON", -2, "");
+ add_option_value (options_list, "DO_ABOUT", -1, 0);
+ add_option_value (options_list, "CHAPTER_HEADER_LEVEL", 1, 0);
+ add_option_value (options_list, "BIG_RULE", -2, "<hr style=\"height:
6px;\">");
+ add_option_value (options_list, "FOOTNOTE_END_HEADER_LEVEL", 3, 0);
+ add_option_value (options_list, "FOOTNOTE_SEPARATE_HEADER_LEVEL", 1, 0);
}
void
diff --git a/tp/Texinfo/XS/convert/get_converter_perl_info.c
b/tp/Texinfo/XS/convert/get_converter_perl_info.c
index a766daf23a..b54e2bc305 100644
--- a/tp/Texinfo/XS/convert/get_converter_perl_info.c
+++ b/tp/Texinfo/XS/convert/get_converter_perl_info.c
@@ -264,14 +264,23 @@ get_converter_info_from_sv (SV *conf_sv, const char
*class_name,
char *key;
I32 retlen;
SV *value = hv_iternextsv (conf_hv, &key, &retlen);
+ /* FIXME could directly set the value in
+ &initialization_info->conf */
OPTION *option = new_numbered_option_from_sv (value, converter,
sorted_options, key, &status);
if (!status)
{
+ size_t index = option->number -1;
+ OPTION *dst_option
+ = initialization_info->conf.sorted_options[index];
+
initialization_info->conf.list[initialization_info->conf.number]
- = option;
+ = option->number;
initialization_info->conf.number++;
+
+ copy_option (dst_option, option);
+ free_option (option);
}
else
{
diff --git a/tp/Texinfo/XS/convert/html_converter_init_options.c
b/tp/Texinfo/XS/convert/html_converter_init_options.c
index 87accfae07..4fb9a888f9 100644
--- a/tp/Texinfo/XS/convert/html_converter_init_options.c
+++ b/tp/Texinfo/XS/convert/html_converter_init_options.c
@@ -196,22 +196,11 @@ html_converter_defaults (enum converter_format format,
if (conf)
{
- size_t i;
-
- for (i = 0; i < conf->conf.number; i++)
+ if (conf->conf.options->TEXI2HTML.o.integer > 0)
{
- OPTION *option = conf->conf.list[i];
- if (!strcmp (option->name, "TEXI2HTML"))
- {
- if (option->o.integer >= 0)
- {
- add_texi2html_regular_options_defaults
- (&format_defaults->conf);
- add_texi2html_default_buttons_specifications
+ add_texi2html_regular_options_defaults (&format_defaults->conf);
+ add_texi2html_default_buttons_specifications
(&format_defaults->conf, 0);
- }
- break;
- }
}
}
return format_defaults;
diff --git a/tp/Texinfo/XS/convert/texinfo.c b/tp/Texinfo/XS/convert/texinfo.c
index 9ee262b075..f711a8887b 100644
--- a/tp/Texinfo/XS/convert/texinfo.c
+++ b/tp/Texinfo/XS/convert/texinfo.c
@@ -100,7 +100,6 @@ txi_converter_format_defaults (const char *format_str,
format_defaults->options = new_options ();
format_defaults_sorted_options
= new_sorted_options (format_defaults->options);
- number_options_list (&format_defaults->conf, format_defaults_sorted_options);
copy_numbered_options_list_options (format_defaults->options,
format_defaults_sorted_options,
&format_defaults->conf, 0);
@@ -115,7 +114,7 @@ txi_converter_format_defaults (const char *format_str,
void
txi_parser (const char *file_path, const char *locale_encoding,
const char **expanded_formats, const VALUE_LIST *values,
- OPTIONS_LIST *options)
+ OPTIONS_LIST *options_list)
{
char *input_file_name_and_directory[2];
char *input_directory;
@@ -125,18 +124,10 @@ txi_parser (const char *file_path, const char
*locale_encoding,
/* special case, we need to know if debug is set before calling
reset_parser */
- if (options)
+ if (options_list)
{
- for (i = 0; i < options->number; i++)
- {
- OPTION *option = options->list[i];
- if (!strcmp (option->name, "DEBUG"))
- {
- if (option->o.integer >= 0)
- debug = 1;
- break;
- }
- }
+ if (options_list->options->DEBUG.o.integer >= 0)
+ debug = 1;
}
reset_parser (debug);
@@ -158,11 +149,12 @@ txi_parser (const char *file_path, const char
*locale_encoding,
for (i = 0; expanded_formats[i]; i++)
parser_conf_add_expanded_format (expanded_formats[i]);
- if (options)
+ if (options_list)
{
- for (i = 0; i < options->number; i++)
+ for (i = 0; i < options_list->number; i++)
{
- OPTION *option = options->list[i];
+ size_t index = options_list->list[i] -1;
+ OPTION *option = options_list->sorted_options[index];
if (!strcmp (option->name, "INCLUDE_DIRECTORIES"))
{
includes_set = 1;
@@ -332,8 +324,8 @@ err_add_option_string_value (OPTIONS_LIST *options_list,
const char *option_name, int int_value,
const char *char_value)
{
- if (!add_option_string_value (options_list, sorted_options, option_name,
- int_value, char_value))
+ if (!add_option_value (options_list, option_name,
+ int_value, char_value))
fprintf (stderr, "BUG: error setting %s\n", option_name);
}
diff --git a/tp/Texinfo/XS/main/build_perl_info.c
b/tp/Texinfo/XS/main/build_perl_info.c
index 50fcdeaae9..bb8bf05779 100644
--- a/tp/Texinfo/XS/main/build_perl_info.c
+++ b/tp/Texinfo/XS/main/build_perl_info.c
@@ -3065,7 +3065,8 @@ build_sv_options_from_options_list (const OPTIONS_LIST
*options_list,
for (i = 0; i < options_list->number; i++)
{
- const OPTION *option = options_list->list[i];
+ size_t index = options_list->list[i] -1;
+ const OPTION *option = options_list->sorted_options[index];
const char *key = option->name;
SV *option_sv = build_sv_option (option, converter);
diff --git a/tp/Texinfo/XS/main/customization_options.c
b/tp/Texinfo/XS/main/customization_options.c
index dee247c08d..d3860c90ea 100644
--- a/tp/Texinfo/XS/main/customization_options.c
+++ b/tp/Texinfo/XS/main/customization_options.c
@@ -430,22 +430,19 @@ copy_numbered_options_list_options (OPTIONS *options,
for (i = 0; i < options_list->number; i++)
{
- OPTION *src_option = options_list->list[i];
- if (src_option->number > 0)
- {
- size_t index = src_option->number - 1;
- OPTION *dst_option = sorted_options[index];
+ size_t index = options_list->list[i] - 1;
+ OPTION *src_option = options_list->sorted_options[index];
+ OPTION *dst_option = sorted_options[index];
- copy_option (dst_option, src_option);
+ copy_option (dst_option, src_option);
- if (dst_option->type == GOT_buttons
- && dst_option->o.buttons && options)
- options->BIT_user_function_number
+ if (dst_option->type == GOT_buttons
+ && dst_option->o.buttons && options)
+ options->BIT_user_function_number
+= dst_option->o.buttons->BIT_user_function_number;
- if (set_configured)
- dst_option->configured = 1;
- }
+ if (set_configured)
+ dst_option->configured = 1;
}
}
@@ -463,27 +460,9 @@ set_sorted_option_key_configured (OPTION **sorted_options,
const char *key,
}
}
-static OPTION *
-new_option_string_value (OPTION **sorted_options,
- const char *option_name, int int_value,
- const char *char_value)
-{
- OPTION *option;
- const OPTION *ref_option = find_option_string (sorted_options, option_name);
- if (!ref_option)
- return 0;
-
- option = new_option (ref_option->type, ref_option->name, ref_option->number);
-
- option_set_conf (option, int_value, char_value);
-
- return option;
-}
-
-/* functions to set and use options list. Functions in this section do
- not need options to be numbered */
+/* functions to set and use options list */
void
initialize_options_list (OPTIONS_LIST *options_list, size_t number)
@@ -492,66 +471,90 @@ initialize_options_list (OPTIONS_LIST *options_list,
size_t number)
options_list->space = number;
if (number > 0)
{
- options_list->list = (OPTION **) malloc (sizeof (OPTION *) * number);
- memset (options_list->list, 0, sizeof (OPTION *) * number);
+ options_list->list = (size_t *) malloc (sizeof (size_t) * number);
+ memset (options_list->list, 0, sizeof (size_t) * number);
}
else
options_list->list = 0;
+
+ options_list->options = new_options ();
+ options_list->sorted_options = new_sorted_options (options_list->options);
+}
+
+void
+free_options_list (OPTIONS_LIST *options_list)
+{
+ free (options_list->list);
+ free (options_list->sorted_options);
+ free_options (options_list->options);
}
void
-options_list_add_option (OPTIONS_LIST *options_list, OPTION *option)
+options_list_add_option_number (OPTIONS_LIST *options_list,
+ size_t number)
{
size_t i;
for (i = 0; i < options_list->number; i++)
{
- OPTION *list_option = options_list->list[i];
- if (!strcmp (list_option->name, option->name))
- {
- free_option (list_option);
- free (list_option);
- options_list->list[i] = option;
- return;
- }
+ size_t option_nr = options_list->list[i];
+ if (number == option_nr)
+ return;
}
if (options_list->number >= options_list->space)
{
options_list->list = realloc (options_list->list,
- (options_list->space += 5) * sizeof (OPTION *));
+ (options_list->space += 5) * sizeof (size_t));
}
- options_list->list[options_list->number] = option;
+ options_list->list[options_list->number] = number;
options_list->number++;
}
static OPTION *
-add_option_copy (OPTIONS_LIST *options_list, const OPTION *src_option)
+options_list_add_option_name (OPTIONS_LIST *options_list,
+ const char *option_name)
+{
+ OPTION *option = find_option_string (options_list->sorted_options,
+ option_name);
+ if (!option)
+ return 0;
+
+ options_list_add_option_number (options_list, option->number);
+
+ return option;
+}
+
+OPTION *
+add_option_copy (OPTIONS_LIST *options_list, const OPTION *option_in)
{
- OPTION *option
- = new_option (src_option->type, src_option->name, src_option->number);
+ options_list_add_option_number (options_list, option_in->number);
+ OPTION *option = options_list->sorted_options[option_in->number -1];
- copy_option (option, src_option);
+ if (option->type == GOT_buttons)
+ {
+ if (option_in->o.buttons)
+ options_list->options->BIT_user_function_number
+ += option_in->o.buttons->BIT_user_function_number;
+ if (option->o.buttons)
+ options_list->options->BIT_user_function_number
+ -= option->o.buttons->BIT_user_function_number;
+ }
- options_list_add_option (options_list, option);
+ copy_option (option, option_in);
return option;
}
-/* similar with new_option_string_value but in cases where there is no
- sorted_options, and options are found with their names, for example
- for parser options */
OPTION *
-add_new_option_value (OPTIONS_LIST *options_list,
- enum global_option_type type, const char *name,
+add_option_value (OPTIONS_LIST *options_list,
+ const char *name,
int int_value, const char *char_value)
{
- OPTION *option = new_option (type, name, 0);
+ OPTION *option = options_list_add_option_name (options_list, name);
option_set_conf (option, int_value, char_value);
- options_list_add_option (options_list, option);
-
return option;
}
@@ -559,11 +562,22 @@ OPTION *
add_new_button_option (OPTIONS_LIST *options_list, const char *option_name,
BUTTON_SPECIFICATION_LIST *buttons)
{
- OPTION *option = new_option (GOT_buttons, option_name, 0);
+ OPTION *option = find_option_string (options_list->sorted_options,
+ option_name);
+ if (!option || option->type != GOT_buttons)
+ return 0;
- option->o.buttons = buttons;
+ options_list_add_option_number (options_list, option->number);
+
+ if (option->o.buttons)
+ options_list->options->BIT_user_function_number
+ -= option->o.buttons->BIT_user_function_number;
- options_list_add_option (options_list, option);
+ clear_option (option);
+ option->o.buttons = buttons;
+ if (option->o.buttons)
+ options_list->options->BIT_user_function_number
+ += option->o.buttons->BIT_user_function_number;
return option;
}
@@ -576,86 +590,37 @@ copy_options_list (OPTIONS_LIST *options_list, const
OPTIONS_LIST *options_src)
if (options_src)
{
for (i = 0; i < options_src->number; i++)
- add_option_copy (options_list, options_src->list[i]);
- }
-}
-
-void
-free_options_list (OPTIONS_LIST *options_list)
-{
- size_t i;
-
- for (i = 0; i < options_list->number; i++)
- {
- free_option (options_list->list[i]);
- free (options_list->list[i]);
+ {
+ size_t index = options_src->list[i] - 1;
+ OPTION *src_option = options_src->sorted_options[index];
+ add_option_copy (options_list, src_option);
+ }
}
-
- free (options_list->list);
-}
-
-
-
-/* options list functions for numbered options */
-
-OPTION *
-add_option_string_value (OPTIONS_LIST *options_list, OPTION **sorted_options,
- const char *option_name, int int_value,
- const char *char_value)
-{
- OPTION *option = new_option_string_value (sorted_options, option_name,
- int_value, char_value);
-
- if (option)
- options_list_add_option (options_list, option);
-
- return option;
}
OPTION *
-add_option_strlist_value (OPTIONS_LIST *options_list, OPTION **sorted_options,
+add_option_strlist_value (OPTIONS_LIST *options_list,
const char *option_name, const STRING_LIST *strlist)
{
- OPTION *option;
- const OPTION *ref_option = find_option_string (sorted_options, option_name);
- if (!ref_option)
+ OPTION *option = find_option_string (options_list->sorted_options,
+ option_name);
+ if (!option)
return 0;
- if (ref_option->type != GOT_char_string_list
- && ref_option->type != GOT_bytes_string_list
- && ref_option->type != GOT_file_string_list)
+ if (option->type != GOT_char_string_list
+ && option->type != GOT_bytes_string_list
+ && option->type != GOT_file_string_list)
return 0;
- option = new_option (ref_option->type, ref_option->name, ref_option->number);
+ options_list_add_option_number (options_list, option->number);
- copy_strings (option->o.strlist, strlist);
+ clear_option (option);
- options_list_add_option (options_list, option);
+ copy_strings (option->o.strlist, strlist);
return option;
}
-void
-number_options_list (OPTIONS_LIST *options_list, OPTION **sorted_options)
-{
- size_t i;
-
- for (i = 0; i < options_list->number; i++)
- {
- OPTION *option = options_list->list[i];
- if (!option->number)
- {
- const OPTION *ref_option
- = find_option_string (sorted_options, option->name);
- if (ref_option)
- option->number = ref_option->number;
- else
- fprintf (stderr, "ERROR: could not find option: %s\n",
- option->name);
- }
- }
-}
-
/* misc other functions */
diff --git a/tp/Texinfo/XS/main/customization_options.h
b/tp/Texinfo/XS/main/customization_options.h
index 13c026fb2d..3fe0b1a20c 100644
--- a/tp/Texinfo/XS/main/customization_options.h
+++ b/tp/Texinfo/XS/main/customization_options.h
@@ -65,10 +65,9 @@ void set_sorted_option_key_configured (OPTION
**sorted_options,
void initialize_options_list (OPTIONS_LIST *options_list, size_t number);
-void options_list_add_option (OPTIONS_LIST *options_list, OPTION *option);
-OPTION *add_new_option_value (OPTIONS_LIST *options_list,
- enum global_option_type type, const char *name,
- int int_value, const char *char_value);
+OPTION *add_option_value (OPTIONS_LIST *options_list,
+ const char *name,
+ int int_value, const char *char_value);
OPTION *add_new_button_option (OPTIONS_LIST *options_list,
const char *option_name,
BUTTON_SPECIFICATION_LIST *buttons);
@@ -78,14 +77,10 @@ void free_options_list (OPTIONS_LIST *options_list);
-OPTION *add_option_string_value (OPTIONS_LIST *options_list,
- OPTION **sorted_options,
- const char *option_name, int int_value,
- const char *char_value);
+void options_list_add_option_number (OPTIONS_LIST *options_list,
+ size_t number);
OPTION *add_option_strlist_value (OPTIONS_LIST *options_list,
- OPTION **sorted_options,
const char *option_name, const STRING_LIST *strlist);
-void number_options_list (OPTIONS_LIST *options_list, OPTION **sorted_options);
diff --git a/tp/Texinfo/XS/main/option_types.h
b/tp/Texinfo/XS/main/option_types.h
index f0b29787da..c99606a2d4 100644
--- a/tp/Texinfo/XS/main/option_types.h
+++ b/tp/Texinfo/XS/main/option_types.h
@@ -188,7 +188,9 @@ typedef struct OPTION {
typedef struct OPTIONS_LIST {
size_t number;
size_t space;
- OPTION **list;
+ size_t *list;
+ struct OPTIONS *options;
+ OPTION **sorted_options;
} OPTIONS_LIST;
#endif
diff --git a/tp/Texinfo/XS/main/options_defaults.c
b/tp/Texinfo/XS/main/options_defaults.c
index 7b577e0dab..ce09daf4ae 100644
--- a/tp/Texinfo/XS/main/options_defaults.c
+++ b/tp/Texinfo/XS/main/options_defaults.c
@@ -25,16 +25,21 @@ add_array_cmdline_options_defaults (OPTIONS_LIST
*options_list)
{
OPTION *option;
- option = new_option (GOT_bytes_string_list, "CSS_FILES", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_char_string_list, "CSS_REFS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_bytes_string_list, "EXPANDED_FORMATS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_file_string_list, "INCLUDE_DIRECTORIES", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_file_string_list, "TEXINFO_LANGUAGE_DIRECTORIES",
0);
- options_list_add_option (options_list, option);
+ option = find_option_string (options_list->sorted_options, "CSS_FILES");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options, "CSS_REFS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"EXPANDED_FORMATS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"INCLUDE_DIRECTORIES");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"TEXINFO_LANGUAGE_DIRECTORIES");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
}
@@ -60,18 +65,18 @@ set_converter_cmdline_options_defaults (OPTIONS *options)
void
add_converter_cmdline_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_integer, "SPLIT_SIZE", 300000, 0);
- add_new_option_value (options_list, GOT_integer, "FILLCOLUMN", 72, 0);
- add_new_option_value (options_list, GOT_integer, "NUMBER_SECTIONS", 1, 0);
- add_new_option_value (options_list, GOT_integer, "NUMBER_FOOTNOTES", 1, 0);
- add_new_option_value (options_list, GOT_integer, "TRANSLITERATE_FILE_NAMES",
1, 0);
- add_new_option_value (options_list, GOT_char, "SPLIT", -2, 0);
- add_new_option_value (options_list, GOT_integer, "HEADERS", 1, 0);
- add_new_option_value (options_list, GOT_integer, "NODE_FILES", -1, 0);
- add_new_option_value (options_list, GOT_integer, "VERBOSE", -1, 0);
- add_new_option_value (options_list, GOT_char, "OUTFILE", -2, 0);
- add_new_option_value (options_list, GOT_char, "SUBDIR", -2, 0);
- add_new_option_value (options_list, GOT_integer, "ENABLE_ENCODING", 1, 0);
+ add_option_value (options_list, "SPLIT_SIZE", 300000, 0);
+ add_option_value (options_list, "FILLCOLUMN", 72, 0);
+ add_option_value (options_list, "NUMBER_SECTIONS", 1, 0);
+ add_option_value (options_list, "NUMBER_FOOTNOTES", 1, 0);
+ add_option_value (options_list, "TRANSLITERATE_FILE_NAMES", 1, 0);
+ add_option_value (options_list, "SPLIT", -2, 0);
+ add_option_value (options_list, "HEADERS", 1, 0);
+ add_option_value (options_list, "NODE_FILES", -1, 0);
+ add_option_value (options_list, "VERBOSE", -1, 0);
+ add_option_value (options_list, "OUTFILE", -2, 0);
+ add_option_value (options_list, "SUBDIR", -2, 0);
+ add_option_value (options_list, "ENABLE_ENCODING", 1, 0);
}
@@ -225,146 +230,146 @@ set_converter_customization_options_defaults (OPTIONS
*options)
void
add_converter_customization_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "TOP_NODE_UP", -2, "(dir)");
- add_new_option_value (options_list, GOT_integer, "BASEFILENAME_LENGTH",
255-10, 0);
- add_new_option_value (options_list, GOT_integer,
"DOC_ENCODING_FOR_INPUT_FILE_NAME", 1, 0);
- add_new_option_value (options_list, GOT_integer,
"DOC_ENCODING_FOR_OUTPUT_FILE_NAME", 0, 0);
- add_new_option_value (options_list, GOT_char, "IMAGE_LINK_PREFIX", -2, 0);
- add_new_option_value (options_list, GOT_integer,
"CASE_INSENSITIVE_FILENAMES", 0, 0);
- add_new_option_value (options_list, GOT_integer, "DEBUG", 0, 0);
- add_new_option_value (options_list, GOT_integer,
"HANDLER_FATAL_ERROR_LEVEL", 100, 0);
- add_new_option_value (options_list, GOT_integer, "TEST", 0, 0);
- add_new_option_value (options_list, GOT_integer, "TEXTCONTENT_COMMENT", -1,
0);
- add_new_option_value (options_list, GOT_char, "TEXINFO_DTD_VERSION", -2,
"7.1");
- add_new_option_value (options_list, GOT_integer, "USE_UNICODE_COLLATION", 1,
0);
- add_new_option_value (options_list, GOT_char, "AFTER_BODY_OPEN", -2, 0);
- add_new_option_value (options_list, GOT_char, "AFTER_SHORT_TOC_LINES", -2,
0);
- add_new_option_value (options_list, GOT_char, "AFTER_TOC_LINES", -2, 0);
- add_new_option_value (options_list, GOT_integer, "ASCII_DASHES_AND_QUOTES",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "ASCII_GLYPH", -1, 0);
- add_new_option_value (options_list, GOT_integer, "ASCII_PUNCTUATION", -1, 0);
- add_new_option_value (options_list, GOT_integer,
"AUTO_MENU_DESCRIPTION_ALIGN_COLUMN", -1, 0);
- add_new_option_value (options_list, GOT_integer, "AUTO_MENU_MAX_WIDTH", -1,
0);
- add_new_option_value (options_list, GOT_char, "BEFORE_SHORT_TOC_LINES", -2,
0);
- add_new_option_value (options_list, GOT_char, "BEFORE_TOC_LINES", -2, 0);
- add_new_option_value (options_list, GOT_char, "BIG_RULE", -2, 0);
- add_new_option_value (options_list, GOT_char, "BODY_ELEMENT_ATTRIBUTES", -2,
0);
- add_new_option_value (options_list, GOT_char, "CLASS_BEGIN_USEPACKAGE", -2,
0);
- add_new_option_value (options_list, GOT_integer, "COPIABLE_LINKS", -1, 0);
- add_new_option_value (options_list, GOT_integer, "CHAPTER_HEADER_LEVEL", -1,
0);
- add_new_option_value (options_list, GOT_integer, "CHECK_HTMLXREF", -1, 0);
- add_new_option_value (options_list, GOT_char, "CLOSE_DOUBLE_QUOTE_SYMBOL",
-2, 0);
- add_new_option_value (options_list, GOT_char, "CLOSE_QUOTE_SYMBOL", -2, 0);
- add_new_option_value (options_list, GOT_char, "COLLATION_LANGUAGE", -2, 0);
- add_new_option_value (options_list, GOT_char, "COMMAND_LINE_ENCODING", -2,
0);
- add_new_option_value (options_list, GOT_integer,
"INDENTED_BLOCK_COMMANDS_IN_TABLE", -1, 0);
- add_new_option_value (options_list, GOT_char, "CONTENTS_OUTPUT_LOCATION",
-2, 0);
- add_new_option_value (options_list, GOT_integer, "CONVERT_TO_LATEX_IN_MATH",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "DATE_IN_HEADER", -1, 0);
- add_new_option_value (options_list, GOT_char, "DEFAULT_RULE", -2, 0);
- add_new_option_value (options_list, GOT_integer, "DEF_TABLE", -1, 0);
- add_new_option_value (options_list, GOT_integer, "DO_ABOUT", -1, 0);
- add_new_option_value (options_list, GOT_char, "DOCTYPE", -2, 0);
- add_new_option_value (options_list, GOT_integer,
"DOCUMENTLANGUAGE_COLLATION", -1, 0);
- add_new_option_value (options_list, GOT_char, "END_USEPACKAGE", -2, 0);
- add_new_option_value (options_list, GOT_integer,
"EPUB_CREATE_CONTAINER_FILE", -1, 0);
- add_new_option_value (options_list, GOT_integer,
"EPUB_KEEP_CONTAINER_FOLDER", -1, 0);
- add_new_option_value (options_list, GOT_char, "EXTENSION", -2, 0);
- add_new_option_value (options_list, GOT_char, "EXTERNAL_CROSSREF_EXTENSION",
-2, 0);
- add_new_option_value (options_list, GOT_char, "EXTERNAL_CROSSREF_SPLIT", -2,
0);
- add_new_option_value (options_list, GOT_char, "EXTERNAL_DIR", -2, 0);
- add_new_option_value (options_list, GOT_char, "EXTRA_HEAD", -2, 0);
- add_new_option_value (options_list, GOT_integer,
"FOOTNOTE_END_HEADER_LEVEL", -1, 0);
- add_new_option_value (options_list, GOT_integer,
"FOOTNOTE_SEPARATE_HEADER_LEVEL", -1, 0);
- add_new_option_value (options_list, GOT_integer, "HEADER_IN_TABLE", -1, 0);
- add_new_option_value (options_list, GOT_char, "HIGHLIGHT_SYNTAX", -2, 0);
- add_new_option_value (options_list, GOT_char,
"HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE", -2, 0);
- add_new_option_value (options_list, GOT_char, "HTML_MATH", -2, 0);
- add_new_option_value (options_list, GOT_char,
"HTML_ROOT_ELEMENT_ATTRIBUTES", -2, 0);
- add_new_option_value (options_list, GOT_char, "HTMLXREF_FILE", -2, 0);
- add_new_option_value (options_list, GOT_char, "HTMLXREF_MODE", -2, 0);
- add_new_option_value (options_list, GOT_integer, "ICONS", -1, 0);
- add_new_option_value (options_list, GOT_char, "INDEX_ENTRY_COLON", -2, 0);
- add_new_option_value (options_list, GOT_integer,
"INDEX_SPECIAL_CHARS_WARNING", -1, 0);
- add_new_option_value (options_list, GOT_char, "INFO_JS_DIR", -2, 0);
- add_new_option_value (options_list, GOT_char, "INFO_SPECIAL_CHARS_QUOTE",
-2, 0);
- add_new_option_value (options_list, GOT_integer,
"INFO_SPECIAL_CHARS_WARNING", -1, 0);
- add_new_option_value (options_list, GOT_integer,
"IGNORE_REF_TO_TOP_NODE_UP", -1, 0);
- add_new_option_value (options_list, GOT_integer, "INLINE_CSS_STYLE", -1, 0);
- add_new_option_value (options_list, GOT_char, "INPUT_FILE_NAME_ENCODING",
-2, 0);
- add_new_option_value (options_list, GOT_char, "JS_WEBLABELS", -2, 0);
- add_new_option_value (options_list, GOT_char, "JS_WEBLABELS_FILE", -2, 0);
- add_new_option_value (options_list, GOT_char, "LATEX_FLOATS_FILE_EXTENSION",
-2, "tfl");
- add_new_option_value (options_list, GOT_char, "LOCALE_ENCODING", -2, 0);
- add_new_option_value (options_list, GOT_integer, "L2H_CLEAN", -1, 0);
- add_new_option_value (options_list, GOT_char, "L2H_FILE", -2, 0);
- add_new_option_value (options_list, GOT_char, "L2H_HTML_VERSION", -2, 0);
- add_new_option_value (options_list, GOT_char, "L2H_L2H", -2, 0);
- add_new_option_value (options_list, GOT_integer, "L2H_SKIP", -1, 0);
- add_new_option_value (options_list, GOT_char, "L2H_TMP", -2, 0);
- add_new_option_value (options_list, GOT_char, "MATHJAX_CONFIGURATION", -2,
0);
- add_new_option_value (options_list, GOT_char, "MATHJAX_SCRIPT", -2, 0);
- add_new_option_value (options_list, GOT_char, "MATHJAX_SOURCE", -2, 0);
- add_new_option_value (options_list, GOT_integer, "MAX_HEADER_LEVEL", -1, 0);
- add_new_option_value (options_list, GOT_char, "MENU_ENTRY_COLON", -2, 0);
- add_new_option_value (options_list, GOT_char, "MENU_SYMBOL", -2, 0);
- add_new_option_value (options_list, GOT_char, "MESSAGE_ENCODING", -2, 0);
- add_new_option_value (options_list, GOT_integer, "MONOLITHIC", -1, 0);
- add_new_option_value (options_list, GOT_integer, "NO_CSS", -1, 0);
- add_new_option_value (options_list, GOT_char, "NO_NUMBER_FOOTNOTE_SYMBOL",
-2, 0);
- add_new_option_value (options_list, GOT_integer, "NO_CUSTOM_HTML_ATTRIBUTE",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "NODE_NAME_IN_INDEX", -1,
0);
- add_new_option_value (options_list, GOT_integer, "NODE_NAME_IN_MENU", -1, 0);
- add_new_option_value (options_list, GOT_integer, "NO_TOP_NODE_OUTPUT", -1,
0);
- add_new_option_value (options_list, GOT_char, "OPEN_DOUBLE_QUOTE_SYMBOL",
-2, 0);
- add_new_option_value (options_list, GOT_char, "OPEN_QUOTE_SYMBOL", -2, 0);
- add_new_option_value (options_list, GOT_integer, "OUTPUT_CHARACTERS", -1, 0);
- add_new_option_value (options_list, GOT_char, "OUTPUT_ENCODING_NAME", -2, 0);
- add_new_option_value (options_list, GOT_char, "OUTPUT_FILE_NAME_ENCODING",
-2, 0);
- add_new_option_value (options_list, GOT_char, "OUTPUT_PERL_ENCODING", -2, 0);
- add_new_option_value (options_list, GOT_char, "PACKAGE", -2, 0);
- add_new_option_value (options_list, GOT_char, "PACKAGE_AND_VERSION", -2, 0);
- add_new_option_value (options_list, GOT_char, "PACKAGE_NAME", -2, 0);
- add_new_option_value (options_list, GOT_char, "PACKAGE_URL", -2, 0);
- add_new_option_value (options_list, GOT_char, "PACKAGE_VERSION", -2, 0);
- add_new_option_value (options_list, GOT_char, "PRE_BODY_CLOSE", -2, 0);
- add_new_option_value (options_list, GOT_char, "PREFIX", -2, 0);
- add_new_option_value (options_list, GOT_char, "PROGRAM", -2, 0);
- add_new_option_value (options_list, GOT_integer, "PROGRAM_NAME_IN_ABOUT",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "PROGRAM_NAME_IN_FOOTER",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "SECTION_NAME_IN_TITLE",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "SHORT_TOC_LINK_TO_TOC",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "SHOW_TITLE", -1, 0);
- add_new_option_value (options_list, GOT_char, "T4H_LATEX_CONVERSION", -2, 0);
- add_new_option_value (options_list, GOT_char, "T4H_MATH_CONVERSION", -2, 0);
- add_new_option_value (options_list, GOT_char, "T4H_TEX_CONVERSION", -2, 0);
- add_new_option_value (options_list, GOT_integer, "TEXI2HTML", -1, 0);
- add_new_option_value (options_list, GOT_char, "TEXINFO_OUTPUT_FORMAT", -2,
0);
- add_new_option_value (options_list, GOT_integer,
"TXI_MARKUP_NO_SECTION_EXTENT", -1, 0);
- add_new_option_value (options_list, GOT_integer, "TOC_LINKS", -1, 0);
- add_new_option_value (options_list, GOT_char, "TOP_FILE", -2, 0);
- add_new_option_value (options_list, GOT_char, "TOP_NODE_FILE_TARGET", -2, 0);
- add_new_option_value (options_list, GOT_char, "TOP_NODE_UP_URL", -2, 0);
- add_new_option_value (options_list, GOT_integer, "USE_ACCESSKEY", -1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_ISO", -1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_LINKS", -1, 0);
- add_new_option_value (options_list, GOT_integer,
"USE_NEXT_HEADING_FOR_LONE_NODE", -1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_NODES", -1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_NODE_DIRECTIONS", -1,
0);
- add_new_option_value (options_list, GOT_integer, "USE_NUMERIC_ENTITY", -1,
0);
- add_new_option_value (options_list, GOT_integer, "USE_REL_REV", -1, 0);
- add_new_option_value (options_list, GOT_integer,
"USE_SETFILENAME_EXTENSION", -1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_TITLEPAGE_FOR_TITLE",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_UNIDECODE", -1, 0);
- add_new_option_value (options_list, GOT_integer, "USE_XML_SYNTAX", -1, 0);
- add_new_option_value (options_list, GOT_integer, "VERTICAL_HEAD_NAVIGATION",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "WORDS_IN_PAGE", -1, 0);
- add_new_option_value (options_list, GOT_integer, "XREF_USE_FLOAT_LABEL", -1,
0);
- add_new_option_value (options_list, GOT_integer, "XREF_USE_NODE_NAME_ARG",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "XS_EXTERNAL_CONVERSION",
-1, 0);
- add_new_option_value (options_list, GOT_integer, "XS_EXTERNAL_FORMATTING",
-1, 0);
- add_new_option_value (options_list, GOT_char, "XS_STRXFRM_COLLATION_LOCALE",
-2, 0);
- add_new_option_value (options_list, GOT_integer, "_INLINE_STYLE_WIDTH", -1,
0);
+ add_option_value (options_list, "TOP_NODE_UP", -2, "(dir)");
+ add_option_value (options_list, "BASEFILENAME_LENGTH", 255-10, 0);
+ add_option_value (options_list, "DOC_ENCODING_FOR_INPUT_FILE_NAME", 1, 0);
+ add_option_value (options_list, "DOC_ENCODING_FOR_OUTPUT_FILE_NAME", 0, 0);
+ add_option_value (options_list, "IMAGE_LINK_PREFIX", -2, 0);
+ add_option_value (options_list, "CASE_INSENSITIVE_FILENAMES", 0, 0);
+ add_option_value (options_list, "DEBUG", 0, 0);
+ add_option_value (options_list, "HANDLER_FATAL_ERROR_LEVEL", 100, 0);
+ add_option_value (options_list, "TEST", 0, 0);
+ add_option_value (options_list, "TEXTCONTENT_COMMENT", -1, 0);
+ add_option_value (options_list, "TEXINFO_DTD_VERSION", -2, "7.1");
+ add_option_value (options_list, "USE_UNICODE_COLLATION", 1, 0);
+ add_option_value (options_list, "AFTER_BODY_OPEN", -2, 0);
+ add_option_value (options_list, "AFTER_SHORT_TOC_LINES", -2, 0);
+ add_option_value (options_list, "AFTER_TOC_LINES", -2, 0);
+ add_option_value (options_list, "ASCII_DASHES_AND_QUOTES", -1, 0);
+ add_option_value (options_list, "ASCII_GLYPH", -1, 0);
+ add_option_value (options_list, "ASCII_PUNCTUATION", -1, 0);
+ add_option_value (options_list, "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN", -1, 0);
+ add_option_value (options_list, "AUTO_MENU_MAX_WIDTH", -1, 0);
+ add_option_value (options_list, "BEFORE_SHORT_TOC_LINES", -2, 0);
+ add_option_value (options_list, "BEFORE_TOC_LINES", -2, 0);
+ add_option_value (options_list, "BIG_RULE", -2, 0);
+ add_option_value (options_list, "BODY_ELEMENT_ATTRIBUTES", -2, 0);
+ add_option_value (options_list, "CLASS_BEGIN_USEPACKAGE", -2, 0);
+ add_option_value (options_list, "COPIABLE_LINKS", -1, 0);
+ add_option_value (options_list, "CHAPTER_HEADER_LEVEL", -1, 0);
+ add_option_value (options_list, "CHECK_HTMLXREF", -1, 0);
+ add_option_value (options_list, "CLOSE_DOUBLE_QUOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "CLOSE_QUOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "COLLATION_LANGUAGE", -2, 0);
+ add_option_value (options_list, "COMMAND_LINE_ENCODING", -2, 0);
+ add_option_value (options_list, "INDENTED_BLOCK_COMMANDS_IN_TABLE", -1, 0);
+ add_option_value (options_list, "CONTENTS_OUTPUT_LOCATION", -2, 0);
+ add_option_value (options_list, "CONVERT_TO_LATEX_IN_MATH", -1, 0);
+ add_option_value (options_list, "DATE_IN_HEADER", -1, 0);
+ add_option_value (options_list, "DEFAULT_RULE", -2, 0);
+ add_option_value (options_list, "DEF_TABLE", -1, 0);
+ add_option_value (options_list, "DO_ABOUT", -1, 0);
+ add_option_value (options_list, "DOCTYPE", -2, 0);
+ add_option_value (options_list, "DOCUMENTLANGUAGE_COLLATION", -1, 0);
+ add_option_value (options_list, "END_USEPACKAGE", -2, 0);
+ add_option_value (options_list, "EPUB_CREATE_CONTAINER_FILE", -1, 0);
+ add_option_value (options_list, "EPUB_KEEP_CONTAINER_FOLDER", -1, 0);
+ add_option_value (options_list, "EXTENSION", -2, 0);
+ add_option_value (options_list, "EXTERNAL_CROSSREF_EXTENSION", -2, 0);
+ add_option_value (options_list, "EXTERNAL_CROSSREF_SPLIT", -2, 0);
+ add_option_value (options_list, "EXTERNAL_DIR", -2, 0);
+ add_option_value (options_list, "EXTRA_HEAD", -2, 0);
+ add_option_value (options_list, "FOOTNOTE_END_HEADER_LEVEL", -1, 0);
+ add_option_value (options_list, "FOOTNOTE_SEPARATE_HEADER_LEVEL", -1, 0);
+ add_option_value (options_list, "HEADER_IN_TABLE", -1, 0);
+ add_option_value (options_list, "HIGHLIGHT_SYNTAX", -2, 0);
+ add_option_value (options_list, "HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE", -2, 0);
+ add_option_value (options_list, "HTML_MATH", -2, 0);
+ add_option_value (options_list, "HTML_ROOT_ELEMENT_ATTRIBUTES", -2, 0);
+ add_option_value (options_list, "HTMLXREF_FILE", -2, 0);
+ add_option_value (options_list, "HTMLXREF_MODE", -2, 0);
+ add_option_value (options_list, "ICONS", -1, 0);
+ add_option_value (options_list, "INDEX_ENTRY_COLON", -2, 0);
+ add_option_value (options_list, "INDEX_SPECIAL_CHARS_WARNING", -1, 0);
+ add_option_value (options_list, "INFO_JS_DIR", -2, 0);
+ add_option_value (options_list, "INFO_SPECIAL_CHARS_QUOTE", -2, 0);
+ add_option_value (options_list, "INFO_SPECIAL_CHARS_WARNING", -1, 0);
+ add_option_value (options_list, "IGNORE_REF_TO_TOP_NODE_UP", -1, 0);
+ add_option_value (options_list, "INLINE_CSS_STYLE", -1, 0);
+ add_option_value (options_list, "INPUT_FILE_NAME_ENCODING", -2, 0);
+ add_option_value (options_list, "JS_WEBLABELS", -2, 0);
+ add_option_value (options_list, "JS_WEBLABELS_FILE", -2, 0);
+ add_option_value (options_list, "LATEX_FLOATS_FILE_EXTENSION", -2, "tfl");
+ add_option_value (options_list, "LOCALE_ENCODING", -2, 0);
+ add_option_value (options_list, "L2H_CLEAN", -1, 0);
+ add_option_value (options_list, "L2H_FILE", -2, 0);
+ add_option_value (options_list, "L2H_HTML_VERSION", -2, 0);
+ add_option_value (options_list, "L2H_L2H", -2, 0);
+ add_option_value (options_list, "L2H_SKIP", -1, 0);
+ add_option_value (options_list, "L2H_TMP", -2, 0);
+ add_option_value (options_list, "MATHJAX_CONFIGURATION", -2, 0);
+ add_option_value (options_list, "MATHJAX_SCRIPT", -2, 0);
+ add_option_value (options_list, "MATHJAX_SOURCE", -2, 0);
+ add_option_value (options_list, "MAX_HEADER_LEVEL", -1, 0);
+ add_option_value (options_list, "MENU_ENTRY_COLON", -2, 0);
+ add_option_value (options_list, "MENU_SYMBOL", -2, 0);
+ add_option_value (options_list, "MESSAGE_ENCODING", -2, 0);
+ add_option_value (options_list, "MONOLITHIC", -1, 0);
+ add_option_value (options_list, "NO_CSS", -1, 0);
+ add_option_value (options_list, "NO_NUMBER_FOOTNOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "NO_CUSTOM_HTML_ATTRIBUTE", -1, 0);
+ add_option_value (options_list, "NODE_NAME_IN_INDEX", -1, 0);
+ add_option_value (options_list, "NODE_NAME_IN_MENU", -1, 0);
+ add_option_value (options_list, "NO_TOP_NODE_OUTPUT", -1, 0);
+ add_option_value (options_list, "OPEN_DOUBLE_QUOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "OPEN_QUOTE_SYMBOL", -2, 0);
+ add_option_value (options_list, "OUTPUT_CHARACTERS", -1, 0);
+ add_option_value (options_list, "OUTPUT_ENCODING_NAME", -2, 0);
+ add_option_value (options_list, "OUTPUT_FILE_NAME_ENCODING", -2, 0);
+ add_option_value (options_list, "OUTPUT_PERL_ENCODING", -2, 0);
+ add_option_value (options_list, "PACKAGE", -2, 0);
+ add_option_value (options_list, "PACKAGE_AND_VERSION", -2, 0);
+ add_option_value (options_list, "PACKAGE_NAME", -2, 0);
+ add_option_value (options_list, "PACKAGE_URL", -2, 0);
+ add_option_value (options_list, "PACKAGE_VERSION", -2, 0);
+ add_option_value (options_list, "PRE_BODY_CLOSE", -2, 0);
+ add_option_value (options_list, "PREFIX", -2, 0);
+ add_option_value (options_list, "PROGRAM", -2, 0);
+ add_option_value (options_list, "PROGRAM_NAME_IN_ABOUT", -1, 0);
+ add_option_value (options_list, "PROGRAM_NAME_IN_FOOTER", -1, 0);
+ add_option_value (options_list, "SECTION_NAME_IN_TITLE", -1, 0);
+ add_option_value (options_list, "SHORT_TOC_LINK_TO_TOC", -1, 0);
+ add_option_value (options_list, "SHOW_TITLE", -1, 0);
+ add_option_value (options_list, "T4H_LATEX_CONVERSION", -2, 0);
+ add_option_value (options_list, "T4H_MATH_CONVERSION", -2, 0);
+ add_option_value (options_list, "T4H_TEX_CONVERSION", -2, 0);
+ add_option_value (options_list, "TEXI2HTML", -1, 0);
+ add_option_value (options_list, "TEXINFO_OUTPUT_FORMAT", -2, 0);
+ add_option_value (options_list, "TXI_MARKUP_NO_SECTION_EXTENT", -1, 0);
+ add_option_value (options_list, "TOC_LINKS", -1, 0);
+ add_option_value (options_list, "TOP_FILE", -2, 0);
+ add_option_value (options_list, "TOP_NODE_FILE_TARGET", -2, 0);
+ add_option_value (options_list, "TOP_NODE_UP_URL", -2, 0);
+ add_option_value (options_list, "USE_ACCESSKEY", -1, 0);
+ add_option_value (options_list, "USE_ISO", -1, 0);
+ add_option_value (options_list, "USE_LINKS", -1, 0);
+ add_option_value (options_list, "USE_NEXT_HEADING_FOR_LONE_NODE", -1, 0);
+ add_option_value (options_list, "USE_NODES", -1, 0);
+ add_option_value (options_list, "USE_NODE_DIRECTIONS", -1, 0);
+ add_option_value (options_list, "USE_NUMERIC_ENTITY", -1, 0);
+ add_option_value (options_list, "USE_REL_REV", -1, 0);
+ add_option_value (options_list, "USE_SETFILENAME_EXTENSION", -1, 0);
+ add_option_value (options_list, "USE_TITLEPAGE_FOR_TITLE", -1, 0);
+ add_option_value (options_list, "USE_UNIDECODE", -1, 0);
+ add_option_value (options_list, "USE_XML_SYNTAX", -1, 0);
+ add_option_value (options_list, "VERTICAL_HEAD_NAVIGATION", -1, 0);
+ add_option_value (options_list, "WORDS_IN_PAGE", -1, 0);
+ add_option_value (options_list, "XREF_USE_FLOAT_LABEL", -1, 0);
+ add_option_value (options_list, "XREF_USE_NODE_NAME_ARG", -1, 0);
+ add_option_value (options_list, "XS_EXTERNAL_CONVERSION", -1, 0);
+ add_option_value (options_list, "XS_EXTERNAL_FORMATTING", -1, 0);
+ add_option_value (options_list, "XS_STRXFRM_COLLATION_LOCALE", -2, 0);
+ add_option_value (options_list, "_INLINE_STYLE_WIDTH", -1, 0);
}
@@ -391,28 +396,39 @@ add_converter_other_options_defaults (OPTIONS_LIST
*options_list)
{
OPTION *option;
- option = new_option (GOT_buttons, "LINKS_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "TOP_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "TOP_FOOTER_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "SECTION_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "CHAPTER_FOOTER_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "SECTION_FOOTER_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "NODE_FOOTER_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "MISC_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_buttons, "CHAPTER_BUTTONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_icons, "ACTIVE_ICONS", 0);
- options_list_add_option (options_list, option);
- option = new_option (GOT_icons, "PASSIVE_ICONS", 0);
- options_list_add_option (options_list, option);
+ option = find_option_string (options_list->sorted_options, "LINKS_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options, "TOP_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"TOP_FOOTER_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"SECTION_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"CHAPTER_FOOTER_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"SECTION_FOOTER_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"NODE_FOOTER_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options, "MISC_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options,
"CHAPTER_BUTTONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options, "ACTIVE_ICONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
+ option = find_option_string (options_list->sorted_options, "PASSIVE_ICONS");
+ options_list_add_option_number (options_list, option->number);
+ clear_option (option);
}
@@ -451,31 +467,31 @@ set_multiple_at_command_options_defaults (OPTIONS
*options)
void
add_multiple_at_command_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "allowcodebreaks", -2, "true");
- add_new_option_value (options_list, GOT_char, "clickstyle", -2, "@arrow");
- add_new_option_value (options_list, GOT_char, "codequotebacktick", -2,
"off");
- add_new_option_value (options_list, GOT_char, "codequoteundirected", -2,
"off");
- add_new_option_value (options_list, GOT_integer, "contents", 0, 0);
- add_new_option_value (options_list, GOT_char, "deftypefnnewline", -2, "off");
- add_new_option_value (options_list, GOT_char, "documentencoding", -2,
"utf-8");
- add_new_option_value (options_list, GOT_char, "documentlanguage", -2, 0);
- add_new_option_value (options_list, GOT_char, "evenfooting", -2, 0);
- add_new_option_value (options_list, GOT_char, "evenheading", -2, 0);
- add_new_option_value (options_list, GOT_char, "everyfooting", -2, 0);
- add_new_option_value (options_list, GOT_char, "everyheading", -2, 0);
- add_new_option_value (options_list, GOT_char, "exampleindent", -2, "5");
- add_new_option_value (options_list, GOT_char, "firstparagraphindent", -2,
"none");
- add_new_option_value (options_list, GOT_char, "frenchspacing", -2, "off");
- add_new_option_value (options_list, GOT_char, "headings", -2, "on");
- add_new_option_value (options_list, GOT_char, "kbdinputstyle", -2,
"distinct");
- add_new_option_value (options_list, GOT_char, "microtype", -2, 0);
- add_new_option_value (options_list, GOT_char, "oddheading", -2, 0);
- add_new_option_value (options_list, GOT_char, "oddfooting", -2, 0);
- add_new_option_value (options_list, GOT_char, "paragraphindent", -2, "3");
- add_new_option_value (options_list, GOT_integer, "shortcontents", 0, 0);
- add_new_option_value (options_list, GOT_integer, "summarycontents", 0, 0);
- add_new_option_value (options_list, GOT_char, "urefbreakstyle", -2, "after");
- add_new_option_value (options_list, GOT_char, "xrefautomaticsectiontitle",
-2, "off");
+ add_option_value (options_list, "allowcodebreaks", -2, "true");
+ add_option_value (options_list, "clickstyle", -2, "@arrow");
+ add_option_value (options_list, "codequotebacktick", -2, "off");
+ add_option_value (options_list, "codequoteundirected", -2, "off");
+ add_option_value (options_list, "contents", 0, 0);
+ add_option_value (options_list, "deftypefnnewline", -2, "off");
+ add_option_value (options_list, "documentencoding", -2, "utf-8");
+ add_option_value (options_list, "documentlanguage", -2, 0);
+ add_option_value (options_list, "evenfooting", -2, 0);
+ add_option_value (options_list, "evenheading", -2, 0);
+ add_option_value (options_list, "everyfooting", -2, 0);
+ add_option_value (options_list, "everyheading", -2, 0);
+ add_option_value (options_list, "exampleindent", -2, "5");
+ add_option_value (options_list, "firstparagraphindent", -2, "none");
+ add_option_value (options_list, "frenchspacing", -2, "off");
+ add_option_value (options_list, "headings", -2, "on");
+ add_option_value (options_list, "kbdinputstyle", -2, "distinct");
+ add_option_value (options_list, "microtype", -2, 0);
+ add_option_value (options_list, "oddheading", -2, 0);
+ add_option_value (options_list, "oddfooting", -2, 0);
+ add_option_value (options_list, "paragraphindent", -2, "3");
+ add_option_value (options_list, "shortcontents", 0, 0);
+ add_option_value (options_list, "summarycontents", 0, 0);
+ add_option_value (options_list, "urefbreakstyle", -2, "after");
+ add_option_value (options_list, "xrefautomaticsectiontitle", -2, "off");
}
@@ -496,13 +512,13 @@ set_program_cmdline_options_defaults (OPTIONS *options)
void
add_program_cmdline_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_bytes, "MACRO_EXPAND", -2, 0);
- add_new_option_value (options_list, GOT_bytes, "INTERNAL_LINKS", -2, 0);
- add_new_option_value (options_list, GOT_integer, "ERROR_LIMIT", 100, 0);
- add_new_option_value (options_list, GOT_integer, "FORCE", -1, 0);
- add_new_option_value (options_list, GOT_integer, "NO_WARN", -1, 0);
- add_new_option_value (options_list, GOT_integer, "TRACE_INCLUDES", 0, 0);
- add_new_option_value (options_list, GOT_char, "FORMAT_MENU", -2, "menu");
+ add_option_value (options_list, "MACRO_EXPAND", -2, 0);
+ add_option_value (options_list, "INTERNAL_LINKS", -2, 0);
+ add_option_value (options_list, "ERROR_LIMIT", 100, 0);
+ add_option_value (options_list, "FORCE", -1, 0);
+ add_option_value (options_list, "NO_WARN", -1, 0);
+ add_option_value (options_list, "TRACE_INCLUDES", 0, 0);
+ add_option_value (options_list, "FORMAT_MENU", -2, "menu");
}
@@ -525,15 +541,15 @@ set_program_customization_options_defaults (OPTIONS
*options)
void
add_program_customization_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_integer,
"CHECK_NORMAL_MENU_STRUCTURE", 1, 0);
- add_new_option_value (options_list, GOT_integer, "CHECK_MISSING_MENU_ENTRY",
1, 0);
- add_new_option_value (options_list, GOT_integer, "DUMP_TREE", -1, 0);
- add_new_option_value (options_list, GOT_integer, "DUMP_TEXI", -1, 0);
- add_new_option_value (options_list, GOT_integer, "SHOW_BUILTIN_CSS_RULES",
0, 0);
- add_new_option_value (options_list, GOT_char, "SORT_ELEMENT_COUNT", -2, 0);
- add_new_option_value (options_list, GOT_integer, "SORT_ELEMENT_COUNT_WORDS",
-1, 0);
- add_new_option_value (options_list, GOT_char, "TEXI2DVI", -2, "texi2dvi");
- add_new_option_value (options_list, GOT_char, "TREE_TRANSFORMATIONS", -2, 0);
+ add_option_value (options_list, "CHECK_NORMAL_MENU_STRUCTURE", 1, 0);
+ add_option_value (options_list, "CHECK_MISSING_MENU_ENTRY", 1, 0);
+ add_option_value (options_list, "DUMP_TREE", -1, 0);
+ add_option_value (options_list, "DUMP_TEXI", -1, 0);
+ add_option_value (options_list, "SHOW_BUILTIN_CSS_RULES", 0, 0);
+ add_option_value (options_list, "SORT_ELEMENT_COUNT", -2, 0);
+ add_option_value (options_list, "SORT_ELEMENT_COUNT_WORDS", -1, 0);
+ add_option_value (options_list, "TEXI2DVI", -2, "texi2dvi");
+ add_option_value (options_list, "TREE_TRANSFORMATIONS", -2, 0);
}
@@ -566,25 +582,25 @@ set_unique_at_command_options_defaults (OPTIONS *options)
void
add_unique_at_command_options_defaults (OPTIONS_LIST *options_list)
{
- add_new_option_value (options_list, GOT_char, "afivepaper", -2, 0);
- add_new_option_value (options_list, GOT_char, "afourpaper", -2, 0);
- add_new_option_value (options_list, GOT_char, "afourlatex", -2, 0);
- add_new_option_value (options_list, GOT_char, "afourwide", -2, 0);
- add_new_option_value (options_list, GOT_char, "bsixpaper", -2, 0);
- add_new_option_value (options_list, GOT_char, "documentdescription", -2, 0);
- add_new_option_value (options_list, GOT_char, "evenfootingmarks", -2, 0);
- add_new_option_value (options_list, GOT_char, "evenheadingmarks", -2, 0);
- add_new_option_value (options_list, GOT_char, "everyfootingmarks", -2,
"bottom");
- add_new_option_value (options_list, GOT_char, "everyheadingmarks", -2,
"bottom");
- add_new_option_value (options_list, GOT_integer, "fonttextsize", 11, 0);
- add_new_option_value (options_list, GOT_char, "footnotestyle", -2, "end");
- add_new_option_value (options_list, GOT_integer, "novalidate", 0, 0);
- add_new_option_value (options_list, GOT_char, "oddfootingmarks", -2, 0);
- add_new_option_value (options_list, GOT_char, "oddheadingmarks", -2, 0);
- add_new_option_value (options_list, GOT_char, "pagesizes", -2, 0);
- add_new_option_value (options_list, GOT_char, "setchapternewpage", -2, "on");
- add_new_option_value (options_list, GOT_char, "setfilename", -2, 0);
- add_new_option_value (options_list, GOT_char, "smallbook", -2, 0);
+ add_option_value (options_list, "afivepaper", -2, 0);
+ add_option_value (options_list, "afourpaper", -2, 0);
+ add_option_value (options_list, "afourlatex", -2, 0);
+ add_option_value (options_list, "afourwide", -2, 0);
+ add_option_value (options_list, "bsixpaper", -2, 0);
+ add_option_value (options_list, "documentdescription", -2, 0);
+ add_option_value (options_list, "evenfootingmarks", -2, 0);
+ add_option_value (options_list, "evenheadingmarks", -2, 0);
+ add_option_value (options_list, "everyfootingmarks", -2, "bottom");
+ add_option_value (options_list, "everyheadingmarks", -2, "bottom");
+ add_option_value (options_list, "fonttextsize", 11, 0);
+ add_option_value (options_list, "footnotestyle", -2, "end");
+ add_option_value (options_list, "novalidate", 0, 0);
+ add_option_value (options_list, "oddfootingmarks", -2, 0);
+ add_option_value (options_list, "oddheadingmarks", -2, 0);
+ add_option_value (options_list, "pagesizes", -2, 0);
+ add_option_value (options_list, "setchapternewpage", -2, "on");
+ add_option_value (options_list, "setfilename", -2, 0);
+ add_option_value (options_list, "smallbook", -2, 0);
}
void
diff --git a/tp/Texinfo/XS/teximakehtml.c b/tp/Texinfo/XS/teximakehtml.c
index 085b544569..4f91d9f5a3 100644
--- a/tp/Texinfo/XS/teximakehtml.c
+++ b/tp/Texinfo/XS/teximakehtml.c
@@ -42,39 +42,6 @@
#define LOCALEDIR DATADIR "/locale"
-/* these functions are generic, could be added to customization_options.c */
-void
-add_button_option (OPTIONS_LIST *options_list, OPTION **sorted_options,
- const char *option_name,
- BUTTON_SPECIFICATION_LIST *buttons)
-{
- OPTION *option;
-
- const OPTION *ref_option = find_option_string (sorted_options, option_name);
- if (!ref_option)
- return;
-
- option = new_option (ref_option->type, ref_option->name, ref_option->number);
- option->o.buttons = buttons;
-
- options_list_add_option (options_list, option);
-}
-
-/* this function or a variation could be added to customization_options.c */
-static OPTION *
-add_new_option_strlist_value (OPTIONS_LIST *options_list,
- enum global_option_type type, const char *name,
- const STRING_LIST *strlist)
-{
- OPTION *option = new_option (type, name, 0);
-
- copy_strings (option->o.strlist, strlist);
-
- options_list_add_option (options_list, option);
-
- return option;
-}
-
static const char *expanded_formats[] = {"html", 0};
static VALUE values_array[] = {
{"txicommandconditionals", "1"}
@@ -242,13 +209,13 @@ main (int argc, char *argv[])
*/
if (test)
{
- add_new_option_strlist_value (&parser_options, GOT_char_string_list,
- "EXPANDED_FORMATS", &test_parser_EXPANDED_FORMATS);
+ add_option_strlist_value (&parser_options, "EXPANDED_FORMATS",
+ &test_parser_EXPANDED_FORMATS);
}
else
{
- add_new_option_strlist_value (&parser_options, GOT_char_string_list,
- "EXPANDED_FORMATS", &parser_EXPANDED_FORMATS);
+ add_option_strlist_value (&parser_options, "EXPANDED_FORMATS",
+ &parser_EXPANDED_FORMATS);
}
@@ -303,11 +270,9 @@ main (int argc, char *argv[])
custom_node_footer_buttons = new_base_links_buttons (0);
add_new_button_option (&convert_options,
"NODE_FOOTER_BUTTONS", custom_node_footer_buttons);
- add_new_option_value (&convert_options, GOT_integer,
- "PROGRAM_NAME_IN_FOOTER", 1, 0);
+ add_option_value (&convert_options, "PROGRAM_NAME_IN_FOOTER", 1, 0);
/* this is set to help with comparison with previous invokations */
- add_new_option_value (&convert_options, GOT_integer,
- "TEST", 1, 0);
+ add_option_value (&convert_options, "TEST", 1, 0);
}
else
{
@@ -321,14 +286,13 @@ main (int argc, char *argv[])
free (program_file);
program_file = strdup ("texi2any");
- add_new_option_value (&convert_options, GOT_char,
- "PACKAGE_VERSION", 0, configured_version);
- add_new_option_value (&convert_options, GOT_char,
- "PACKAGE_AND_VERSION", 0, configured_name_version);
+ add_option_value (&convert_options, "PACKAGE_VERSION", 0,
+ configured_version);
+ add_option_value (&convert_options, "PACKAGE_AND_VERSION", 0,
+ configured_name_version);
}
/*
- add_new_option_value (&convert_options, GOT_integer,
- "CHECK_HTMLXREF", 1, 0);
+ add_option_value (&convert_options, "CHECK_HTMLXREF", 1, 0);
*/
memset (&converter_texinfo_language_config_dirs, 0, sizeof (STRING_LIST));
diff --git a/tp/maintain/regenerate_C_options_info.pl
b/tp/maintain/regenerate_C_options_info.pl
index 4872bf1c3c..a7aa567b4d 100755
--- a/tp/maintain/regenerate_C_options_info.pl
+++ b/tp/maintain/regenerate_C_options_info.pl
@@ -412,11 +412,15 @@ foreach my $category (sort(keys(%option_categories))) {
my ($option, $value, $type) = @$option_info;
if ($type eq 'char' or $type eq 'bytes' or $type eq 'integer') {
my ($int_value, $char_value) = get_value($type, $value);
- print ODCF " add_new_option_value (options_list, GOT_$type, "
+ print ODCF " add_option_value (options_list, "
."\"$option\", $int_value, $char_value);\n";
} else {
- print ODCF " option = new_option (GOT_$type, \"$option\", 0);\n";
- print ODCF " options_list_add_option (options_list, option);\n";
+ print ODCF
+ " option = find_option_string (options_list->sorted_options, "
+ ."\"$option\");\n";
+ print ODCF
+ " options_list_add_option_number (options_list, option->number);\n";
+ print ODCF " clear_option (option);\n";
}
}
print ODCF "}\n\n";
@@ -498,7 +502,7 @@ foreach my $format (@sorted_formats) {
my $option_info = $options{$option};
my ($option_unused, $main_default, $type) = @$option_info;
my ($int_value, $char_value) = get_value($type, $value);
- print CDCF " add_new_option_value (options_list, GOT_$type, "
+ print CDCF " add_option_value (options_list, "
."\"$option\", $int_value, $char_value);\n";
}
print CDCF "}\n\n";
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: Always have an OPTIONS structure associated to an options list,
Patrice Dumas <=