texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Patrice Dumas
Date: Fri, 4 Oct 2024 20:04:26 -0400 (EDT)

branch: master
commit f24ccb6d671b8b7a5b2238367fdf95b97c20c6ae
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Aug 18 08:28:20 2024 +0200

    * tp/Texinfo/XS/Makefile.am (libtexinfo_la_SOURCES, BUILT_SOURCES)
    (MAINTAINERCLEANFILES, main/options_defaults.c),
    tp/maintain/regenerate_C_options_info.pl: separate converter options
    defaults and other options defaults generated code files.
---
 ChangeLog                                          |   7 +
 tp/Texinfo/XS/Makefile.am                          |  14 +-
 tp/Texinfo/XS/convert/converter.c                  |   1 +
 tp/Texinfo/XS/convert/converters_defaults.c        | 547 +--------------------
 tp/Texinfo/XS/convert/converters_defaults.h        |  33 +-
 .../options_defaults.c}                            | 212 +-------
 tp/Texinfo/XS/main/options_defaults.h              |  48 ++
 tp/maintain/regenerate_C_options_info.pl           | 131 +++--
 8 files changed, 168 insertions(+), 825 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 374c82fe9c..0e05b402c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-08-18  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/Makefile.am (libtexinfo_la_SOURCES, BUILT_SOURCES)
+       (MAINTAINERCLEANFILES, main/options_defaults.c),
+       tp/maintain/regenerate_C_options_info.pl: separate converter options
+       defaults and other options defaults generated code files.
+
 2024-08-18  Patrice Dumas  <pertusus@free.fr>
 
        * tp/maintain/regenerate_C_options_info.pl: reorder code, add comments
diff --git a/tp/Texinfo/XS/Makefile.am b/tp/Texinfo/XS/Makefile.am
index 2d972de89c..a3f40f87e0 100644
--- a/tp/Texinfo/XS/Makefile.am
+++ b/tp/Texinfo/XS/Makefile.am
@@ -154,6 +154,8 @@ C_libtexinfo_sources = \
                      main/targets.c \
                      main/targets.h \
                      main/options_init_free.c \
+                     main/options_defaults.c \
+                     main/options_defaults.h \
                      main/option_types.h \
                      main/options_types.h \
                      main/global_commands_types.h \
@@ -256,6 +258,8 @@ BUILT_SOURCES = main/accent_tables_8bit_codepoints.c \
                 main/global_multi_commands_case.c \
                 main/global_unique_commands_case.c \
                 main/options_init_free.c \
+                main/options_defaults.c \
+                main/options_defaults.h \
                 main/options_get_perl.c \
                 main/options_types.h
 
@@ -314,20 +318,24 @@ $(srcdir)/main/accent_tables_8bit_codepoints.c: 
$(srcdir)/../../maintain/setup_a
 
 MAINTAINERCLEANFILES += main/accent_tables_8bit_codepoints.c
 
-$(srcdir)/main/options_init_free.c $(srcdir)/main/options_types.h 
$(srcdir)/main/options_get_perl.c $(srcdir)/convert/converters_defaults.c 
$(srcdir)/convert/converters_defaults.h: ../options_data.txt 
../Convert/converters_defaults.txt main/command_data.c 
$(srcdir)/../../maintain/regenerate_C_options_info.pl
+$(srcdir)/main/options_init_free.c $(srcdir)/main/options_types.h 
$(srcdir)/main/options_defaults.c $(srcdir)/main/options_defaults.h 
$(srcdir)/convert/converters_defaults.c $(srcdir)/convert/converters_defaults.h 
$(srcdir)/main/options_get_perl.c: ../options_data.txt 
../Convert/converters_defaults.txt main/command_data.c 
$(srcdir)/../../maintain/regenerate_C_options_info.pl
        $(PERL) $(srcdir)/../../maintain/regenerate_C_options_info.pl \
                < $(srcdir)/../options_data.txt \
                      $(srcdir)/main/command_data.c \
                      $(srcdir)/../Convert/converters_defaults.txt \
                      $(srcdir)/main/options_init_free.c \
                      $(srcdir)/main/options_types.h \
+                     $(srcdir)/main/options_defaults.c \
+                     $(srcdir)/main/options_defaults.h \
                      $(srcdir)/convert/converters_defaults.c \
                      $(srcdir)/convert/converters_defaults.h \
                      $(srcdir)/main/options_get_perl.c
 
 MAINTAINERCLEANFILES += main/options_init_free.c main/options_types.h \
-                        main/options_get_perl.c convert/converters_defaults.c \
-                        convert/converters_defaults.h
+                        main/options_defaults.c main/options_defaults.h \
+                        convert/converters_defaults.c \
+                        convert/converters_defaults.h \
+                        main/options_get_perl.c
 
 $(srcdir)/main/conversion_data.c $(srcdir)/main/conversion_data.h: 
main/command_data.c $(srcdir)/../Data/default_css_element_class_styles.csv 
$(srcdir)/../Data/default_direction_strings.csv 
$(srcdir)/../Data/default_special_unit_info.csv 
$(srcdir)/../Data/html_style_commands_element.csv 
$(srcdir)/../../maintain/generate_code_convert_data.pl
        $(PERL) $(srcdir)/../../maintain/generate_code_convert_data.pl \
diff --git a/tp/Texinfo/XS/convert/converter.c 
b/tp/Texinfo/XS/convert/converter.c
index a5d0db1217..ffc11d0100 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -39,6 +39,7 @@
 #include "options_types.h"
 #include "document_types.h"
 #include "converter_types.h"
+#include "options_defaults.h"
 #include "converters_defaults.h"
 #include "tree.h"
 #include "extra.h"
diff --git a/tp/Texinfo/XS/convert/converters_defaults.c 
b/tp/Texinfo/XS/convert/converters_defaults.c
index e66a3f7a6f..8fe2d8994b 100644
--- a/tp/Texinfo/XS/convert/converters_defaults.c
+++ b/tp/Texinfo/XS/convert/converters_defaults.c
@@ -2,556 +2,11 @@
 
 #include <config.h>
 
+#include "option_types.h"
 #include "options_types.h"
 #include "customization_options.h"
 #include "converters_defaults.h"
 
-
-/* array_cmdline */
-
-void set_array_cmdline_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->CSS_FILES, -2, 0);
-  option_set_conf (&options->CSS_REFS, -2, 0);
-  option_set_conf (&options->EXPANDED_FORMATS, -2, 0);
-  option_set_conf (&options->INCLUDE_DIRECTORIES, -2, 0);
-  option_set_conf (&options->TEXINFO_LANGUAGE_DIRECTORIES, -2, 0);
-}
-
-void add_array_cmdline_regular_options_defaults (OPTIONS_LIST *options_list)
-{
-  add_new_option_value (options_list, GOT_bytes_string_list, "CSS_FILES", -2, 
0);
-  add_new_option_value (options_list, GOT_char_string_list, "CSS_REFS", -2, 0);
-  add_new_option_value (options_list, GOT_bytes_string_list, 
"EXPANDED_FORMATS", -2, 0);
-  add_new_option_value (options_list, GOT_file_string_list, 
"INCLUDE_DIRECTORIES", -2, 0);
-  add_new_option_value (options_list, GOT_file_string_list, 
"TEXINFO_LANGUAGE_DIRECTORIES", -2, 0);
-}
-
-
-/* converter_cmdline */
-
-void set_converter_cmdline_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->SPLIT_SIZE, 300000, 0);
-  option_set_conf (&options->FILLCOLUMN, 72, 0);
-  option_set_conf (&options->NUMBER_SECTIONS, 1, 0);
-  option_set_conf (&options->NUMBER_FOOTNOTES, 1, 0);
-  option_set_conf (&options->TRANSLITERATE_FILE_NAMES, 1, 0);
-  option_set_conf (&options->SPLIT, -2, 0);
-  option_set_conf (&options->HEADERS, 1, 0);
-  option_set_conf (&options->NODE_FILES, -1, 0);
-  option_set_conf (&options->VERBOSE, -1, 0);
-  option_set_conf (&options->OUTFILE, -2, 0);
-  option_set_conf (&options->SUBDIR, -2, 0);
-  option_set_conf (&options->ENABLE_ENCODING, 1, 0);
-}
-
-void add_converter_cmdline_regular_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);
-}
-
-
-/* converter_customization */
-
-void set_converter_customization_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->TOP_NODE_UP, -2, "(dir)");
-  option_set_conf (&options->BASEFILENAME_LENGTH, 255-10, 0);
-  option_set_conf (&options->DOC_ENCODING_FOR_INPUT_FILE_NAME, 1, 0);
-  option_set_conf (&options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME, 0, 0);
-  option_set_conf (&options->IMAGE_LINK_PREFIX, -2, 0);
-  option_set_conf (&options->CASE_INSENSITIVE_FILENAMES, 0, 0);
-  option_set_conf (&options->DEBUG, 0, 0);
-  option_set_conf (&options->HANDLER_FATAL_ERROR_LEVEL, 100, 0);
-  option_set_conf (&options->TEST, 0, 0);
-  option_set_conf (&options->TEXTCONTENT_COMMENT, -1, 0);
-  option_set_conf (&options->TEXINFO_DTD_VERSION, -2, "7.1");
-  option_set_conf (&options->USE_UNICODE_COLLATION, 1, 0);
-  option_set_conf (&options->AFTER_BODY_OPEN, -2, 0);
-  option_set_conf (&options->AFTER_SHORT_TOC_LINES, -2, 0);
-  option_set_conf (&options->AFTER_TOC_LINES, -2, 0);
-  option_set_conf (&options->ASCII_DASHES_AND_QUOTES, -1, 0);
-  option_set_conf (&options->ASCII_GLYPH, -1, 0);
-  option_set_conf (&options->ASCII_PUNCTUATION, -1, 0);
-  option_set_conf (&options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN, -1, 0);
-  option_set_conf (&options->AUTO_MENU_MAX_WIDTH, -1, 0);
-  option_set_conf (&options->BEFORE_SHORT_TOC_LINES, -2, 0);
-  option_set_conf (&options->BEFORE_TOC_LINES, -2, 0);
-  option_set_conf (&options->BIG_RULE, -2, 0);
-  option_set_conf (&options->BODY_ELEMENT_ATTRIBUTES, -2, 0);
-  option_set_conf (&options->CLASS_BEGIN_USEPACKAGE, -2, 0);
-  option_set_conf (&options->COPIABLE_LINKS, -1, 0);
-  option_set_conf (&options->CHAPTER_HEADER_LEVEL, -1, 0);
-  option_set_conf (&options->CHECK_HTMLXREF, -1, 0);
-  option_set_conf (&options->CLOSE_DOUBLE_QUOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->CLOSE_QUOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->COLLATION_LANGUAGE, -2, 0);
-  option_set_conf (&options->COMMAND_LINE_ENCODING, -2, 0);
-  option_set_conf (&options->INDENTED_BLOCK_COMMANDS_IN_TABLE, -1, 0);
-  option_set_conf (&options->CONTENTS_OUTPUT_LOCATION, -2, 0);
-  option_set_conf (&options->CONVERT_TO_LATEX_IN_MATH, -1, 0);
-  option_set_conf (&options->DATE_IN_HEADER, -1, 0);
-  option_set_conf (&options->DEFAULT_RULE, -2, 0);
-  option_set_conf (&options->DEF_TABLE, -1, 0);
-  option_set_conf (&options->DO_ABOUT, -1, 0);
-  option_set_conf (&options->DOCTYPE, -2, 0);
-  option_set_conf (&options->DOCUMENTLANGUAGE_COLLATION, -1, 0);
-  option_set_conf (&options->END_USEPACKAGE, -2, 0);
-  option_set_conf (&options->EPUB_CREATE_CONTAINER_FILE, -1, 0);
-  option_set_conf (&options->EPUB_KEEP_CONTAINER_FOLDER, -1, 0);
-  option_set_conf (&options->EXTENSION, -2, 0);
-  option_set_conf (&options->EXTERNAL_CROSSREF_EXTENSION, -2, 0);
-  option_set_conf (&options->EXTERNAL_CROSSREF_SPLIT, -2, 0);
-  option_set_conf (&options->EXTERNAL_DIR, -2, 0);
-  option_set_conf (&options->EXTRA_HEAD, -2, 0);
-  option_set_conf (&options->FOOTNOTE_END_HEADER_LEVEL, -1, 0);
-  option_set_conf (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL, -1, 0);
-  option_set_conf (&options->HEADER_IN_TABLE, -1, 0);
-  option_set_conf (&options->HIGHLIGHT_SYNTAX, -2, 0);
-  option_set_conf (&options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE, -2, 0);
-  option_set_conf (&options->HTML_MATH, -2, 0);
-  option_set_conf (&options->HTML_ROOT_ELEMENT_ATTRIBUTES, -2, 0);
-  option_set_conf (&options->HTMLXREF_FILE, -2, 0);
-  option_set_conf (&options->HTMLXREF_MODE, -2, 0);
-  option_set_conf (&options->ICONS, -1, 0);
-  option_set_conf (&options->INDEX_ENTRY_COLON, -2, 0);
-  option_set_conf (&options->INDEX_SPECIAL_CHARS_WARNING, -1, 0);
-  option_set_conf (&options->INFO_JS_DIR, -2, 0);
-  option_set_conf (&options->INFO_SPECIAL_CHARS_QUOTE, -2, 0);
-  option_set_conf (&options->INFO_SPECIAL_CHARS_WARNING, -1, 0);
-  option_set_conf (&options->IGNORE_REF_TO_TOP_NODE_UP, -1, 0);
-  option_set_conf (&options->INLINE_CSS_STYLE, -1, 0);
-  option_set_conf (&options->INPUT_FILE_NAME_ENCODING, -2, 0);
-  option_set_conf (&options->JS_WEBLABELS, -2, 0);
-  option_set_conf (&options->JS_WEBLABELS_FILE, -2, 0);
-  option_set_conf (&options->LATEX_FLOATS_FILE_EXTENSION, -2, "tfl");
-  option_set_conf (&options->LOCALE_ENCODING, -2, 0);
-  option_set_conf (&options->L2H_CLEAN, -1, 0);
-  option_set_conf (&options->L2H_FILE, -2, 0);
-  option_set_conf (&options->L2H_HTML_VERSION, -2, 0);
-  option_set_conf (&options->L2H_L2H, -2, 0);
-  option_set_conf (&options->L2H_SKIP, -1, 0);
-  option_set_conf (&options->L2H_TMP, -2, 0);
-  option_set_conf (&options->MATHJAX_CONFIGURATION, -2, 0);
-  option_set_conf (&options->MATHJAX_SCRIPT, -2, 0);
-  option_set_conf (&options->MATHJAX_SOURCE, -2, 0);
-  option_set_conf (&options->MAX_HEADER_LEVEL, -1, 0);
-  option_set_conf (&options->MENU_ENTRY_COLON, -2, 0);
-  option_set_conf (&options->MENU_SYMBOL, -2, 0);
-  option_set_conf (&options->MESSAGE_ENCODING, -2, 0);
-  option_set_conf (&options->MONOLITHIC, -1, 0);
-  option_set_conf (&options->NO_CSS, -1, 0);
-  option_set_conf (&options->NO_NUMBER_FOOTNOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->NO_CUSTOM_HTML_ATTRIBUTE, -1, 0);
-  option_set_conf (&options->NODE_NAME_IN_INDEX, -1, 0);
-  option_set_conf (&options->NODE_NAME_IN_MENU, -1, 0);
-  option_set_conf (&options->NO_TOP_NODE_OUTPUT, -1, 0);
-  option_set_conf (&options->OPEN_DOUBLE_QUOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->OPEN_QUOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->OUTPUT_CHARACTERS, -1, 0);
-  option_set_conf (&options->OUTPUT_ENCODING_NAME, -2, 0);
-  option_set_conf (&options->OUTPUT_FILE_NAME_ENCODING, -2, 0);
-  option_set_conf (&options->OUTPUT_PERL_ENCODING, -2, 0);
-  option_set_conf (&options->PACKAGE, -2, 0);
-  option_set_conf (&options->PACKAGE_AND_VERSION, -2, 0);
-  option_set_conf (&options->PACKAGE_NAME, -2, 0);
-  option_set_conf (&options->PACKAGE_URL, -2, 0);
-  option_set_conf (&options->PACKAGE_VERSION, -2, 0);
-  option_set_conf (&options->PRE_BODY_CLOSE, -2, 0);
-  option_set_conf (&options->PREFIX, -2, 0);
-  option_set_conf (&options->PROGRAM, -2, 0);
-  option_set_conf (&options->PROGRAM_NAME_IN_ABOUT, -1, 0);
-  option_set_conf (&options->PROGRAM_NAME_IN_FOOTER, -1, 0);
-  option_set_conf (&options->SECTION_NAME_IN_TITLE, -1, 0);
-  option_set_conf (&options->SHORT_TOC_LINK_TO_TOC, -1, 0);
-  option_set_conf (&options->SHOW_TITLE, -1, 0);
-  option_set_conf (&options->T4H_LATEX_CONVERSION, -2, 0);
-  option_set_conf (&options->T4H_MATH_CONVERSION, -2, 0);
-  option_set_conf (&options->T4H_TEX_CONVERSION, -2, 0);
-  option_set_conf (&options->TEXI2HTML, -1, 0);
-  option_set_conf (&options->TEXINFO_OUTPUT_FORMAT, -2, 0);
-  option_set_conf (&options->TXI_MARKUP_NO_SECTION_EXTENT, -1, 0);
-  option_set_conf (&options->TOC_LINKS, -1, 0);
-  option_set_conf (&options->TOP_FILE, -2, 0);
-  option_set_conf (&options->TOP_NODE_FILE_TARGET, -2, 0);
-  option_set_conf (&options->TOP_NODE_UP_URL, -2, 0);
-  option_set_conf (&options->USE_ACCESSKEY, -1, 0);
-  option_set_conf (&options->USE_ISO, -1, 0);
-  option_set_conf (&options->USE_LINKS, -1, 0);
-  option_set_conf (&options->USE_NEXT_HEADING_FOR_LONE_NODE, -1, 0);
-  option_set_conf (&options->USE_NODES, -1, 0);
-  option_set_conf (&options->USE_NODE_DIRECTIONS, -1, 0);
-  option_set_conf (&options->USE_NUMERIC_ENTITY, -1, 0);
-  option_set_conf (&options->USE_REL_REV, -1, 0);
-  option_set_conf (&options->USE_SETFILENAME_EXTENSION, -1, 0);
-  option_set_conf (&options->USE_TITLEPAGE_FOR_TITLE, -1, 0);
-  option_set_conf (&options->USE_UNIDECODE, -1, 0);
-  option_set_conf (&options->USE_XML_SYNTAX, -1, 0);
-  option_set_conf (&options->VERTICAL_HEAD_NAVIGATION, -1, 0);
-  option_set_conf (&options->WORDS_IN_PAGE, -1, 0);
-  option_set_conf (&options->XREF_USE_FLOAT_LABEL, -1, 0);
-  option_set_conf (&options->XREF_USE_NODE_NAME_ARG, -1, 0);
-  option_set_conf (&options->XS_EXTERNAL_CONVERSION, -1, 0);
-  option_set_conf (&options->XS_EXTERNAL_FORMATTING, -1, 0);
-  option_set_conf (&options->XS_STRXFRM_COLLATION_LOCALE, -2, 0);
-  option_set_conf (&options->_INLINE_STYLE_WIDTH, -1, 0);
-}
-
-void add_converter_customization_regular_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);
-}
-
-
-/* converter_other */
-
-void set_converter_other_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->LINKS_BUTTONS, -2, 0);
-  option_set_conf (&options->TOP_BUTTONS, -2, 0);
-  option_set_conf (&options->TOP_FOOTER_BUTTONS, -2, 0);
-  option_set_conf (&options->SECTION_BUTTONS, -2, 0);
-  option_set_conf (&options->CHAPTER_FOOTER_BUTTONS, -2, 0);
-  option_set_conf (&options->SECTION_FOOTER_BUTTONS, -2, 0);
-  option_set_conf (&options->NODE_FOOTER_BUTTONS, -2, 0);
-  option_set_conf (&options->MISC_BUTTONS, -2, 0);
-  option_set_conf (&options->CHAPTER_BUTTONS, -2, 0);
-  option_set_conf (&options->ACTIVE_ICONS, -2, 0);
-  option_set_conf (&options->PASSIVE_ICONS, -2, 0);
-}
-
-void add_converter_other_regular_options_defaults (OPTIONS_LIST *options_list)
-{
-  add_new_option_value (options_list, GOT_buttons, "LINKS_BUTTONS", -2, 0);
-  add_new_option_value (options_list, GOT_buttons, "TOP_BUTTONS", -2, 0);
-  add_new_option_value (options_list, GOT_buttons, "TOP_FOOTER_BUTTONS", -2, 
0);
-  add_new_option_value (options_list, GOT_buttons, "SECTION_BUTTONS", -2, 0);
-  add_new_option_value (options_list, GOT_buttons, "CHAPTER_FOOTER_BUTTONS", 
-2, 0);
-  add_new_option_value (options_list, GOT_buttons, "SECTION_FOOTER_BUTTONS", 
-2, 0);
-  add_new_option_value (options_list, GOT_buttons, "NODE_FOOTER_BUTTONS", -2, 
0);
-  add_new_option_value (options_list, GOT_buttons, "MISC_BUTTONS", -2, 0);
-  add_new_option_value (options_list, GOT_buttons, "CHAPTER_BUTTONS", -2, 0);
-  add_new_option_value (options_list, GOT_icons, "ACTIVE_ICONS", -2, 0);
-  add_new_option_value (options_list, GOT_icons, "PASSIVE_ICONS", -2, 0);
-}
-
-
-/* multiple_at_command */
-
-void set_multiple_at_command_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->allowcodebreaks, -2, "true");
-  option_set_conf (&options->clickstyle, -2, "@arrow");
-  option_set_conf (&options->codequotebacktick, -2, "off");
-  option_set_conf (&options->codequoteundirected, -2, "off");
-  option_set_conf (&options->contents, 0, 0);
-  option_set_conf (&options->deftypefnnewline, -2, "off");
-  option_set_conf (&options->documentencoding, -2, "utf-8");
-  option_set_conf (&options->documentlanguage, -2, 0);
-  option_set_conf (&options->evenfooting, -2, 0);
-  option_set_conf (&options->evenheading, -2, 0);
-  option_set_conf (&options->everyfooting, -2, 0);
-  option_set_conf (&options->everyheading, -2, 0);
-  option_set_conf (&options->exampleindent, -2, "5");
-  option_set_conf (&options->firstparagraphindent, -2, "none");
-  option_set_conf (&options->frenchspacing, -2, "off");
-  option_set_conf (&options->headings, -2, "on");
-  option_set_conf (&options->kbdinputstyle, -2, "distinct");
-  option_set_conf (&options->microtype, -2, 0);
-  option_set_conf (&options->oddheading, -2, 0);
-  option_set_conf (&options->oddfooting, -2, 0);
-  option_set_conf (&options->paragraphindent, -2, "3");
-  option_set_conf (&options->shortcontents, 0, 0);
-  option_set_conf (&options->summarycontents, 0, 0);
-  option_set_conf (&options->urefbreakstyle, -2, "after");
-  option_set_conf (&options->xrefautomaticsectiontitle, -2, "off");
-}
-
-void add_multiple_at_command_regular_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");
-}
-
-
-/* program_cmdline */
-
-void set_program_cmdline_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->MACRO_EXPAND, -2, 0);
-  option_set_conf (&options->INTERNAL_LINKS, -2, 0);
-  option_set_conf (&options->ERROR_LIMIT, 100, 0);
-  option_set_conf (&options->FORCE, -1, 0);
-  option_set_conf (&options->NO_WARN, -1, 0);
-  option_set_conf (&options->SILENT, -2, 0);
-  option_set_conf (&options->TRACE_INCLUDES, 0, 0);
-  option_set_conf (&options->FORMAT_MENU, -2, "menu");
-}
-
-void add_program_cmdline_regular_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_char, "SILENT", -2, 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");
-}
-
-
-/* program_customization */
-
-void set_program_customization_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->CHECK_NORMAL_MENU_STRUCTURE, 1, 0);
-  option_set_conf (&options->CHECK_MISSING_MENU_ENTRY, 1, 0);
-  option_set_conf (&options->DUMP_TREE, -1, 0);
-  option_set_conf (&options->DUMP_TEXI, -1, 0);
-  option_set_conf (&options->SHOW_BUILTIN_CSS_RULES, 0, 0);
-  option_set_conf (&options->SORT_ELEMENT_COUNT, -2, 0);
-  option_set_conf (&options->SORT_ELEMENT_COUNT_WORDS, -1, 0);
-  option_set_conf (&options->TEXI2DVI, -2, "texi2dvi");
-  option_set_conf (&options->TREE_TRANSFORMATIONS, -2, 0);
-}
-
-void add_program_customization_regular_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);
-}
-
-
-/* unique_at_command */
-
-void set_unique_at_command_regular_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->afivepaper, -2, 0);
-  option_set_conf (&options->afourpaper, -2, 0);
-  option_set_conf (&options->afourlatex, -2, 0);
-  option_set_conf (&options->afourwide, -2, 0);
-  option_set_conf (&options->bsixpaper, -2, 0);
-  option_set_conf (&options->documentdescription, -2, 0);
-  option_set_conf (&options->evenfootingmarks, -2, 0);
-  option_set_conf (&options->evenheadingmarks, -2, 0);
-  option_set_conf (&options->everyfootingmarks, -2, "bottom");
-  option_set_conf (&options->everyheadingmarks, -2, "bottom");
-  option_set_conf (&options->fonttextsize, 11, 0);
-  option_set_conf (&options->footnotestyle, -2, "end");
-  option_set_conf (&options->novalidate, 0, 0);
-  option_set_conf (&options->oddfootingmarks, -2, 0);
-  option_set_conf (&options->oddheadingmarks, -2, 0);
-  option_set_conf (&options->pagesizes, -2, 0);
-  option_set_conf (&options->setchapternewpage, -2, "on");
-  option_set_conf (&options->setfilename, -2, 0);
-  option_set_conf (&options->smallbook, -2, 0);
-}
-
-void add_unique_at_command_regular_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);
-}
-
 void set_common_regular_options_defaults (OPTIONS *options)
 {
   option_set_conf (&options->PACKAGE_AND_VERSION, -2, "texinfo");
diff --git a/tp/Texinfo/XS/convert/converters_defaults.h 
b/tp/Texinfo/XS/convert/converters_defaults.h
index fb4f02d7b3..9fb07979c2 100644
--- a/tp/Texinfo/XS/convert/converters_defaults.h
+++ b/tp/Texinfo/XS/convert/converters_defaults.h
@@ -2,6 +2,7 @@
 #define CONVERTERS_DEFAULTS_H
 
 #include "main/option_types.h"
+#include "main/options_types.h"
 
 /* Undefine values set from autoconf as we use these as
    customization variable names.  The original values are
@@ -12,38 +13,6 @@
 #undef PACKAGE_URL
 #undef PACKAGE_VERSION
 
-void set_array_cmdline_regular_defaults (OPTIONS *options);
-
-void add_array_cmdline_regular_options_defaults (OPTIONS_LIST *options_list);
-
-void set_converter_cmdline_regular_defaults (OPTIONS *options);
-
-void add_converter_cmdline_regular_options_defaults (OPTIONS_LIST 
*options_list);
-
-void set_converter_customization_regular_defaults (OPTIONS *options);
-
-void add_converter_customization_regular_options_defaults (OPTIONS_LIST 
*options_list);
-
-void set_converter_other_regular_defaults (OPTIONS *options);
-
-void add_converter_other_regular_options_defaults (OPTIONS_LIST *options_list);
-
-void set_multiple_at_command_regular_defaults (OPTIONS *options);
-
-void add_multiple_at_command_regular_options_defaults (OPTIONS_LIST 
*options_list);
-
-void set_program_cmdline_regular_defaults (OPTIONS *options);
-
-void add_program_cmdline_regular_options_defaults (OPTIONS_LIST *options_list);
-
-void set_program_customization_regular_defaults (OPTIONS *options);
-
-void add_program_customization_regular_options_defaults (OPTIONS_LIST 
*options_list);
-
-void set_unique_at_command_regular_defaults (OPTIONS *options);
-
-void add_unique_at_command_regular_options_defaults (OPTIONS_LIST 
*options_list);
-
 void set_common_regular_options_defaults (OPTIONS *options);
 
 void add_common_regular_options_defaults (OPTIONS_LIST *options_list);
diff --git a/tp/Texinfo/XS/convert/converters_defaults.c 
b/tp/Texinfo/XS/main/options_defaults.c
similarity index 72%
copy from tp/Texinfo/XS/convert/converters_defaults.c
copy to tp/Texinfo/XS/main/options_defaults.c
index e66a3f7a6f..63a28a0ddf 100644
--- a/tp/Texinfo/XS/convert/converters_defaults.c
+++ b/tp/Texinfo/XS/main/options_defaults.c
@@ -2,9 +2,10 @@
 
 #include <config.h>
 
+#include "option_types.h"
 #include "options_types.h"
 #include "customization_options.h"
-#include "converters_defaults.h"
+#include "options_defaults.h"
 
 
 /* array_cmdline */
@@ -18,7 +19,7 @@ void set_array_cmdline_regular_defaults (OPTIONS *options)
   option_set_conf (&options->TEXINFO_LANGUAGE_DIRECTORIES, -2, 0);
 }
 
-void add_array_cmdline_regular_options_defaults (OPTIONS_LIST *options_list)
+void add_array_cmdline_regular_defaults (OPTIONS_LIST *options_list)
 {
   add_new_option_value (options_list, GOT_bytes_string_list, "CSS_FILES", -2, 
0);
   add_new_option_value (options_list, GOT_char_string_list, "CSS_REFS", -2, 0);
@@ -46,7 +47,7 @@ void set_converter_cmdline_regular_defaults (OPTIONS *options)
   option_set_conf (&options->ENABLE_ENCODING, 1, 0);
 }
 
-void add_converter_cmdline_regular_options_defaults (OPTIONS_LIST 
*options_list)
+void add_converter_cmdline_regular_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);
@@ -209,7 +210,7 @@ void set_converter_customization_regular_defaults (OPTIONS 
*options)
   option_set_conf (&options->_INLINE_STYLE_WIDTH, -1, 0);
 }
 
-void add_converter_customization_regular_options_defaults (OPTIONS_LIST 
*options_list)
+void add_converter_customization_regular_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);
@@ -351,6 +352,7 @@ void add_converter_customization_regular_options_defaults 
(OPTIONS_LIST *options
   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);
+
 }
 
 
@@ -371,7 +373,7 @@ void set_converter_other_regular_defaults (OPTIONS *options)
   option_set_conf (&options->PASSIVE_ICONS, -2, 0);
 }
 
-void add_converter_other_regular_options_defaults (OPTIONS_LIST *options_list)
+void add_converter_other_regular_defaults (OPTIONS_LIST *options_list)
 {
   add_new_option_value (options_list, GOT_buttons, "LINKS_BUTTONS", -2, 0);
   add_new_option_value (options_list, GOT_buttons, "TOP_BUTTONS", -2, 0);
@@ -418,7 +420,7 @@ void set_multiple_at_command_regular_defaults (OPTIONS 
*options)
   option_set_conf (&options->xrefautomaticsectiontitle, -2, "off");
 }
 
-void add_multiple_at_command_regular_options_defaults (OPTIONS_LIST 
*options_list)
+void add_multiple_at_command_regular_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");
@@ -462,7 +464,7 @@ void set_program_cmdline_regular_defaults (OPTIONS *options)
   option_set_conf (&options->FORMAT_MENU, -2, "menu");
 }
 
-void add_program_cmdline_regular_options_defaults (OPTIONS_LIST *options_list)
+void add_program_cmdline_regular_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);
@@ -490,7 +492,7 @@ void set_program_customization_regular_defaults (OPTIONS 
*options)
   option_set_conf (&options->TREE_TRANSFORMATIONS, -2, 0);
 }
 
-void add_program_customization_regular_options_defaults (OPTIONS_LIST 
*options_list)
+void add_program_customization_regular_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);
@@ -529,7 +531,7 @@ void set_unique_at_command_regular_defaults (OPTIONS 
*options)
   option_set_conf (&options->smallbook, -2, 0);
 }
 
-void add_unique_at_command_regular_options_defaults (OPTIONS_LIST 
*options_list)
+void add_unique_at_command_regular_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);
@@ -552,195 +554,3 @@ void add_unique_at_command_regular_options_defaults 
(OPTIONS_LIST *options_list)
   add_new_option_value (options_list, GOT_char, "smallbook", -2, 0);
 }
 
-void set_common_regular_options_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->PACKAGE_AND_VERSION, -2, "texinfo");
-  option_set_conf (&options->PACKAGE_VERSION, -2, "");
-  option_set_conf (&options->PACKAGE_URL, -2, 
"http://www.gnu.org/software/texinfo/";);
-  option_set_conf (&options->PROGRAM, -2, "");
-}
-
-void add_common_regular_options_defaults (OPTIONS_LIST *options_list)
-{
-  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, 
"http://www.gnu.org/software/texinfo/";);
-  add_new_option_value (options_list, GOT_char, "PROGRAM", -2, "");
-}
-
-void set_converter_regular_options_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->documentlanguage, -2, 0);
-}
-
-void add_converter_regular_options_defaults (OPTIONS_LIST *options_list)
-{
-  add_new_option_value (options_list, GOT_char, "documentlanguage", -2, 0);
-}
-
-void set_html_regular_options_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->BIG_RULE, -2, "<hr>");
-  option_set_conf (&options->BODY_ELEMENT_ATTRIBUTES, -2, 0);
-  option_set_conf (&options->CHAPTER_HEADER_LEVEL, 2, 0);
-  option_set_conf (&options->CLOSE_QUOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->CONTENTS_OUTPUT_LOCATION, -2, "after_top");
-  option_set_conf (&options->CONVERT_TO_LATEX_IN_MATH, -1, 0);
-  option_set_conf (&options->INDENTED_BLOCK_COMMANDS_IN_TABLE, 0, 0);
-  option_set_conf (&options->COPIABLE_LINKS, 1, 0);
-  option_set_conf (&options->DATE_IN_HEADER, 0, 0);
-  option_set_conf (&options->DEFAULT_RULE, -2, "<hr>");
-  option_set_conf (&options->documentlanguage, -2, "en");
-  option_set_conf (&options->DOCTYPE, -2, "<!DOCTYPE html>");
-  option_set_conf (&options->DO_ABOUT, 0, 0);
-  option_set_conf (&options->OUTPUT_CHARACTERS, 0, 0);
-  option_set_conf (&options->EXTENSION, -2, "html");
-  option_set_conf (&options->EXTERNAL_CROSSREF_EXTENSION, -2, 0);
-  option_set_conf (&options->FOOTNOTE_END_HEADER_LEVEL, 4, 0);
-  option_set_conf (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL, 4, 0);
-  option_set_conf (&options->FORMAT_MENU, -2, "sectiontoc");
-  option_set_conf (&options->HEADERS, 1, 0);
-  option_set_conf (&options->INDEX_ENTRY_COLON, -2, "");
-  option_set_conf (&options->INLINE_CSS_STYLE, 0, 0);
-  option_set_conf (&options->JS_WEBLABELS, -2, "generate");
-  option_set_conf (&options->JS_WEBLABELS_FILE, -2, "js_licenses.html");
-  option_set_conf (&options->MAX_HEADER_LEVEL, 4, 0);
-  option_set_conf (&options->MENU_ENTRY_COLON, -2, ":");
-  option_set_conf (&options->MENU_SYMBOL, -2, 0);
-  option_set_conf (&options->MONOLITHIC, 1, 0);
-  option_set_conf (&options->NO_CUSTOM_HTML_ATTRIBUTE, 0, 0);
-  option_set_conf (&options->NO_CSS, 0, 0);
-  option_set_conf (&options->NO_NUMBER_FOOTNOTE_SYMBOL, -2, "*");
-  option_set_conf (&options->NODE_NAME_IN_MENU, 1, 0);
-  option_set_conf (&options->OPEN_QUOTE_SYMBOL, -2, 0);
-  option_set_conf (&options->OUTPUT_ENCODING_NAME, -2, "utf-8");
-  option_set_conf (&options->SECTION_NAME_IN_TITLE, 0, 0);
-  option_set_conf (&options->SHORT_TOC_LINK_TO_TOC, 1, 0);
-  option_set_conf (&options->SHOW_TITLE, -1, 0);
-  option_set_conf (&options->SPLIT, -2, "node");
-  option_set_conf (&options->TOP_FILE, -2, "index.html");
-  option_set_conf (&options->TOP_NODE_FILE_TARGET, -2, "index.html");
-  option_set_conf (&options->USE_ACCESSKEY, 1, 0);
-  option_set_conf (&options->USE_NEXT_HEADING_FOR_LONE_NODE, 1, 0);
-  option_set_conf (&options->USE_ISO, 1, 0);
-  option_set_conf (&options->USE_LINKS, 1, 0);
-  option_set_conf (&options->USE_NODES, 1, 0);
-  option_set_conf (&options->USE_NODE_DIRECTIONS, -1, 0);
-  option_set_conf (&options->USE_REL_REV, 1, 0);
-  option_set_conf (&options->USE_TITLEPAGE_FOR_TITLE, 1, 0);
-  option_set_conf (&options->WORDS_IN_PAGE, 300, 0);
-  option_set_conf (&options->XREF_USE_NODE_NAME_ARG, -1, 0);
-  option_set_conf (&options->XREF_USE_FLOAT_LABEL, 0, 0);
-  option_set_conf (&options->xrefautomaticsectiontitle, -2, "on");
-}
-
-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, "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");
-}
-
-void set_texi2html_regular_options_defaults (OPTIONS *options)
-{
-  option_set_conf (&options->FORMAT_MENU, -2, "menu");
-  option_set_conf (&options->USE_SETFILENAME_EXTENSION, 0, 0);
-  option_set_conf (&options->footnotestyle, -2, "separate");
-  option_set_conf (&options->CONTENTS_OUTPUT_LOCATION, -2, "separate_element");
-  option_set_conf (&options->FORCE, 1, 0);
-  option_set_conf (&options->USE_ACCESSKEY, 0, 0);
-  option_set_conf (&options->NODE_NAME_IN_MENU, 0, 0);
-  option_set_conf (&options->SHORT_TOC_LINK_TO_TOC, 0, 0);
-  option_set_conf (&options->SHOW_TITLE, 1, 0);
-  option_set_conf (&options->USE_REL_REV, 0, 0);
-  option_set_conf (&options->USE_LINKS, 0, 0);
-  option_set_conf (&options->USE_NODES, 0, 0);
-  option_set_conf (&options->SPLIT, -2, "");
-  option_set_conf (&options->PROGRAM_NAME_IN_FOOTER, 1, 0);
-  option_set_conf (&options->PROGRAM_NAME_IN_ABOUT, 1, 0);
-  option_set_conf (&options->HEADER_IN_TABLE, 1, 0);
-  option_set_conf (&options->MENU_ENTRY_COLON, -2, "");
-  option_set_conf (&options->INDEX_ENTRY_COLON, -2, "");
-  option_set_conf (&options->DO_ABOUT, -1, 0);
-  option_set_conf (&options->CHAPTER_HEADER_LEVEL, 1, 0);
-  option_set_conf (&options->BIG_RULE, -2, "<hr style=\"height: 6px;\">");
-  option_set_conf (&options->FOOTNOTE_END_HEADER_LEVEL, 3, 0);
-  option_set_conf (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL, 1, 0);
-}
-
-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);
-}
-
diff --git a/tp/Texinfo/XS/main/options_defaults.h 
b/tp/Texinfo/XS/main/options_defaults.h
new file mode 100644
index 0000000000..c11d3c256b
--- /dev/null
+++ b/tp/Texinfo/XS/main/options_defaults.h
@@ -0,0 +1,48 @@
+#ifndef OPTIONS_DEFAULTS_H
+#define OPTIONS_DEFAULTS_H
+
+#include "main/option_types.h"
+#include "main/options_types.h"
+
+/* Undefine values set from autoconf as we use these as
+   customization variable names.  The original values are
+   available with a _CONFIG suffix, e.g. PACKAGE_CONFIG for
+   PACKAGE. */
+#undef PACKAGE
+#undef PACKAGE_NAME
+#undef PACKAGE_URL
+#undef PACKAGE_VERSION
+
+void set_array_cmdline_regular_defaults (OPTIONS *options);
+
+void add_array_cmdline_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_converter_cmdline_regular_defaults (OPTIONS *options);
+
+void add_converter_cmdline_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_converter_customization_regular_defaults (OPTIONS *options);
+
+void add_converter_customization_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_converter_other_regular_defaults (OPTIONS *options);
+
+void add_converter_other_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_multiple_at_command_regular_defaults (OPTIONS *options);
+
+void add_multiple_at_command_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_program_cmdline_regular_defaults (OPTIONS *options);
+
+void add_program_cmdline_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_program_customization_regular_defaults (OPTIONS *options);
+
+void add_program_customization_regular_defaults (OPTIONS_LIST *options_list);
+
+void set_unique_at_command_regular_defaults (OPTIONS *options);
+
+void add_unique_at_command_regular_defaults (OPTIONS_LIST *options_list);
+
+#endif
diff --git a/tp/maintain/regenerate_C_options_info.pl 
b/tp/maintain/regenerate_C_options_info.pl
index 39ac28ed53..ad6dbca5e4 100755
--- a/tp/maintain/regenerate_C_options_info.pl
+++ b/tp/maintain/regenerate_C_options_info.pl
@@ -133,15 +133,23 @@ die "Need a code file\n" if (!defined($code_file));
 my $header_file = $ARGV[3];
 die "Need a header file\n" if (!defined($header_file));
 
-my $converter_defaults_code_file = $ARGV[4];
+my $options_defaults_code_file = $ARGV[4];
+die "Need an options code defaults file\n"
+   if (!defined($options_defaults_code_file));
+
+my $options_defaults_header_file = $ARGV[5];
+die "Need a options header defaults file\n"
+   if (!defined($options_defaults_header_file));
+
+my $converter_defaults_code_file = $ARGV[6];
 die "Need a converter code defaults file\n"
    if (!defined($converter_defaults_code_file));
 
-my $converter_defaults_header_file = $ARGV[5];
+my $converter_defaults_header_file = $ARGV[7];
 die "Need a converter header defaults file\n"
    if (!defined($converter_defaults_header_file));
 
-my $get_file = $ARGV[6];
+my $get_file = $ARGV[8];
 die "Need an XS code file\n" if (!defined($get_file));
 
 my $program_name = basename($0);
@@ -380,59 +388,96 @@ print CODE "};\n\n";
 
 close(CODE);
 
-open(OCDEF, ">$converter_defaults_code_file")
- or die "Open $converter_defaults_code_file: $!\n";
+open(ODCF, ">$options_defaults_code_file")
+ or die "Open $options_defaults_code_file: $!\n";
 
-print OCDEF "/* Automatically generated from $program_name */\n\n";
+print ODCF "/* Automatically generated from $program_name */\n\n";
 
-print OCDEF '#include <config.h>'."\n\n";
+print ODCF '#include <config.h>'."\n\n";
 
-print OCDEF '#include "options_types.h"'."\n";
-print OCDEF '#include "customization_options.h"'."\n";
-print OCDEF '#include "converters_defaults.h"'."\n\n";
+print ODCF '#include "option_types.h"'."\n";
+print ODCF '#include "options_types.h"'."\n";
+print ODCF '#include "customization_options.h"'."\n";
+print ODCF '#include "options_defaults.h"'."\n\n";
 
-open(OHDEF, ">$converter_defaults_header_file")
- or die "Open $converter_defaults_header_file: $!\n";
+open(ODHF, ">$options_defaults_header_file")
+ or die "Open $options_defaults_header_file: $!\n";
 
-print OHDEF "#ifndef CONVERTERS_DEFAULTS_H\n#define CONVERTERS_DEFAULTS_H\n\n";
+print ODHF "#ifndef OPTIONS_DEFAULTS_H\n#define OPTIONS_DEFAULTS_H\n\n";
 
-print OHDEF "#include \"main/option_types.h\"\n\n";
+print ODHF "#include \"main/option_types.h\"\n";
+print ODHF "#include \"main/options_types.h\"\n\n";
 
-print OHDEF "/* Undefine values set from autoconf as we use these as\n";
-print OHDEF "   customization variable names.  The original values are\n";
-print OHDEF "   available with a _CONFIG suffix, e.g. PACKAGE_CONFIG for\n";
-print OHDEF "   PACKAGE. */\n";
-print OHDEF "#undef PACKAGE\n";
-print OHDEF "#undef PACKAGE_NAME\n";
-print OHDEF "#undef PACKAGE_URL\n";
-print OHDEF "#undef PACKAGE_VERSION\n\n";
+print ODHF "/* Undefine values set from autoconf as we use these as\n";
+print ODHF "   customization variable names.  The original values are\n";
+print ODHF "   available with a _CONFIG suffix, e.g. PACKAGE_CONFIG for\n";
+print ODHF "   PACKAGE. */\n";
+print ODHF "#undef PACKAGE\n";
+print ODHF "#undef PACKAGE_NAME\n";
+print ODHF "#undef PACKAGE_URL\n";
+print ODHF "#undef PACKAGE_VERSION\n\n";
 
 foreach my $category (sort(keys(%option_categories))) {
-  print OCDEF "\n/* ${category} */\n\n";
+  print ODCF "\n/* ${category} */\n\n";
   my $options_fun = "void set_${category}_regular_defaults (OPTIONS *options)";
-  my $list_fun = "void add_${category}_regular_options_defaults (OPTIONS_LIST 
*options_list)";
+  my $list_fun = "void add_${category}_regular_defaults (OPTIONS_LIST 
*options_list)";
 
-  print OHDEF "$options_fun;\n\n";
-  print OHDEF "$list_fun;\n\n";
+  print ODHF "$options_fun;\n\n";
+  print ODHF "$list_fun;\n\n";
 
-  print OCDEF "$options_fun\n{\n";
+  print ODCF "$options_fun\n{\n";
   foreach my $option_info (@{$option_categories{$category}}) {
     my ($option, $value, $type) = @$option_info;
     my ($int_value, $char_value) = get_value($type, $value);
-    print OCDEF "  option_set_conf (&options->${option}, $int_value, 
$char_value);\n";
+    print ODCF "  option_set_conf (&options->${option}, $int_value, 
$char_value);\n";
   }
-  print OCDEF "}\n\n";
+  print ODCF "}\n\n";
 
-  print OCDEF "$list_fun\n{\n";
+  print ODCF "$list_fun\n{\n";
   foreach my $option_info (@{$option_categories{$category}}) {
     my ($option, $value, $type) = @$option_info;
     my ($int_value, $char_value) = get_value($type, $value);
-    print OCDEF "  add_new_option_value (options_list, GOT_$type, "
+    print ODCF "  add_new_option_value (options_list, GOT_$type, "
                  ."\"$option\", $int_value, $char_value);\n";
   }
-  print OCDEF "}\n\n";
+  print ODCF "}\n\n";
 }
 
+close (ODCF);
+
+print ODHF "#endif\n";
+close(ODHF);
+
+
+open(CDCF, ">$converter_defaults_code_file")
+ or die "Open $converter_defaults_code_file: $!\n";
+
+print CDCF "/* Automatically generated from $program_name */\n\n";
+
+print CDCF '#include <config.h>'."\n\n";
+
+print CDCF '#include "option_types.h"'."\n";
+print CDCF '#include "options_types.h"'."\n";
+print CDCF '#include "customization_options.h"'."\n";
+print CDCF '#include "converters_defaults.h"'."\n\n";
+
+open(CDHF, ">$converter_defaults_header_file")
+ or die "Open $converter_defaults_header_file: $!\n";
+
+print CDHF "#ifndef CONVERTERS_DEFAULTS_H\n#define CONVERTERS_DEFAULTS_H\n\n";
+
+print CDHF "#include \"main/option_types.h\"\n";
+print CDHF "#include \"main/options_types.h\"\n\n";
+
+print CDHF "/* Undefine values set from autoconf as we use these as\n";
+print CDHF "   customization variable names.  The original values are\n";
+print CDHF "   available with a _CONFIG suffix, e.g. PACKAGE_CONFIG for\n";
+print CDHF "   PACKAGE. */\n";
+print CDHF "#undef PACKAGE\n";
+print CDHF "#undef PACKAGE_NAME\n";
+print CDHF "#undef PACKAGE_URL\n";
+print CDHF "#undef PACKAGE_VERSION\n\n";
+
 my @sorted_formats = sort(keys(%converter_defaults));
 
 foreach my $format (@sorted_formats) {
@@ -441,35 +486,35 @@ foreach my $format (@sorted_formats) {
   my $list_fun
     = "void add_${format}_regular_options_defaults (OPTIONS_LIST 
*options_list)";
 
-  print OHDEF "$options_fun;\n\n";
-  print OHDEF "$list_fun;\n\n";
+  print CDHF "$options_fun;\n\n";
+  print CDHF "$list_fun;\n\n";
 
-  print OCDEF "$options_fun\n{\n";
+  print CDCF "$options_fun\n{\n";
   foreach my $option_spec (@{$converter_defaults{$format}}) {
     my ($option, $value) = @$option_spec;
     my $option_info = $options{$option};
     my ($option_unused, $main_default, $type) = @$option_info;
     my ($int_value, $char_value) = get_value($type, $value);
-    print OCDEF "  option_set_conf (&options->${option}, $int_value, 
$char_value);\n";
+    print CDCF "  option_set_conf (&options->${option}, $int_value, 
$char_value);\n";
   }
-  print OCDEF "}\n\n";
+  print CDCF "}\n\n";
 
-  print OCDEF "$list_fun\n{\n";
+  print CDCF "$list_fun\n{\n";
   foreach my $option_spec (@{$converter_defaults{$format}}) {
     my ($option, $value) = @$option_spec;
     my $option_info = $options{$option};
     my ($option_unused, $main_default, $type) = @$option_info;
     my ($int_value, $char_value) = get_value($type, $value);
-    print OCDEF "  add_new_option_value (options_list, GOT_$type, "
+    print CDCF "  add_new_option_value (options_list, GOT_$type, "
                  ."\"$option\", $int_value, $char_value);\n";
   }
-  print OCDEF "}\n\n";
+  print CDCF "}\n\n";
 }
 
-close(OCDEF);
+close(CDCF);
 
-print OHDEF "#endif\n";
-close(OHDEF);
+print CDHF "#endif\n";
+close(CDHF);
 
 
 open(GET, ">$get_file") or die "Open $get_file: $!\n";



reply via email to

[Prev in Thread] Current Thread [Next in Thread]