texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Mon, 23 Dec 2024 18:10:11 -0500 (EST)

branch: master
commit 3b2db85f03075fedd27ea395e4d5e277555a2e29
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Dec 8 22:32:11 2024 +0100

    * tp/Texinfo/XS/convert/converter.c (set_global_document_commands)
    tp/Texinfo/XS/main/customization_options.c (initialize_option)
    (option_set_conf, copy_options_list_set_configured),
    tp/Texinfo/XS/main/get_perl_info.c (get_sv_option),
    tp/Texinfo/XS/main/option_types.h (OPTION): replace configured with
    flags, and use a flag to determine if the option is configured.
    Add flags argument to initialization function.
    
    * tp/maintain/regenerate_C_options_info.pl: set a specific flag for
    parser options and options set in parser flags when initializing the
    options.
---
 ChangeLog                                  |  14 +
 tp/Texinfo/XS/convert/converter.c          |   4 +-
 tp/Texinfo/XS/main/customization_options.c |   7 +-
 tp/Texinfo/XS/main/customization_options.h |   2 +-
 tp/Texinfo/XS/main/get_perl_info.c         |   2 +-
 tp/Texinfo/XS/main/option_types.h          |   5 +-
 tp/Texinfo/XS/main/options_init_free.c     | 466 ++++++++++++++---------------
 tp/maintain/regenerate_C_options_info.pl   |  31 +-
 8 files changed, 286 insertions(+), 245 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d5099c61d9..5896ff4320 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2024-12-08  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/convert/converter.c (set_global_document_commands)
+       tp/Texinfo/XS/main/customization_options.c (initialize_option)
+       (option_set_conf, copy_options_list_set_configured),
+       tp/Texinfo/XS/main/get_perl_info.c (get_sv_option),
+       tp/Texinfo/XS/main/option_types.h (OPTION): replace configured with
+       flags, and use a flag to determine if the option is configured.
+       Add flags argument to initialization function.
+
+       * tp/maintain/regenerate_C_options_info.pl: set a specific flag for
+       parser options and options set in parser flags when initializing the
+       options.
+
 2024-12-08  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Common.pm (%array_parser_options)
diff --git a/tp/Texinfo/XS/convert/converter.c 
b/tp/Texinfo/XS/convert/converter.c
index b044cdce6a..3a712b109c 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -944,7 +944,7 @@ set_global_document_commands (CONVERTER *converter,
             {
               OPTION *option_ref
                = get_command_option (converter->conf, cmd);
-              if (option_ref->configured <= 0)
+              if (!(option_ref->flags & OF_configured))
                 copy_option (option_ref, option_value);
               free (option_value);
             }
@@ -979,7 +979,7 @@ set_global_document_commands (CONVERTER *converter,
                 {
                   OPTION *option_ref
                     = get_command_option (converter->conf, cmd);
-                  if (option_ref->configured <= 0)
+                  if (!(option_ref->flags & OF_configured))
                     copy_option (option_ref, option_value);
                   free (option_value);
                 }
diff --git a/tp/Texinfo/XS/main/customization_options.c 
b/tp/Texinfo/XS/main/customization_options.c
index 21640a17e0..e89d3e49e1 100644
--- a/tp/Texinfo/XS/main/customization_options.c
+++ b/tp/Texinfo/XS/main/customization_options.c
@@ -179,10 +179,11 @@ free_option (OPTION *option)
 
 void
 initialize_option (OPTION *option, enum global_option_type type,
-                   const char *name)
+                   const char *name, unsigned long flags)
 {
   option->type = type;
   option->name = name;
+  option->flags = flags;
   option->number = 0;
   switch (type)
     {
@@ -243,7 +244,7 @@ option_set_conf_internal (OPTION *option, int int_value, 
const char *char_value)
 int
 option_set_conf (OPTION *option, int int_value, const char *char_value)
 {
-  if (option->configured > 0)
+  if (option->flags & OF_configured)
     return 0;
   option_set_conf_internal (option, int_value, char_value);
   return 1;
@@ -532,7 +533,7 @@ copy_options_list_set_configured (OPTIONS *options, OPTION 
**sorted_options,
       for (i = 0; i < options_list->number; i++)
         {
           size_t index = options_list->list[i] - 1;
-          sorted_options[index]->configured = 1;
+          sorted_options[index]->flags |= OF_configured;
         }
     }
 }
diff --git a/tp/Texinfo/XS/main/customization_options.h 
b/tp/Texinfo/XS/main/customization_options.h
index a5184e9c57..afe462d0c4 100644
--- a/tp/Texinfo/XS/main/customization_options.h
+++ b/tp/Texinfo/XS/main/customization_options.h
@@ -49,7 +49,7 @@ OPTIONS *new_options (void);
 void clear_option (OPTION *option);
 void free_option (OPTION *option);
 void initialize_option (OPTION *option, enum global_option_type type,
-                        const char *name);
+                        const char *name, unsigned long flags);
 int option_set_conf (OPTION *option, int int_value, const char *char_value);
 void option_force_conf (OPTION *option, int int_value, const char *char_value);
 void copy_option (OPTION *destination, const OPTION *source);
diff --git a/tp/Texinfo/XS/main/get_perl_info.c 
b/tp/Texinfo/XS/main/get_perl_info.c
index f71a69fede..ce76708f05 100644
--- a/tp/Texinfo/XS/main/get_perl_info.c
+++ b/tp/Texinfo/XS/main/get_perl_info.c
@@ -430,7 +430,7 @@ get_sv_option (OPTION *option, SV *value, int force,
 {
   dTHX;
 
-  if (force <= 0 && option->configured > 0)
+  if (force <= 0 && option->flags & OF_configured)
     return -1;
 
   switch (option->type)
diff --git a/tp/Texinfo/XS/main/option_types.h 
b/tp/Texinfo/XS/main/option_types.h
index c99606a2d4..4e6035bb40 100644
--- a/tp/Texinfo/XS/main/option_types.h
+++ b/tp/Texinfo/XS/main/option_types.h
@@ -169,13 +169,16 @@ typedef struct DIRECTION_ICON_LIST {
     char **list;
 } DIRECTION_ICON_LIST;
 
+#define OF_configured          0x0001
+#define OF_parser_option       0x0002
+
 typedef struct OPTION {
     enum global_option_type type;
     const char *name;
     /* index in sorted options array */
     /* starts at 1 to use 0 for unset */
     size_t number;
-    int configured;
+    unsigned long flags;
     union {
       int integer;
       char *string;
diff --git a/tp/Texinfo/XS/main/options_init_free.c 
b/tp/Texinfo/XS/main/options_init_free.c
index f56c2c7c7e..03dcefd536 100644
--- a/tp/Texinfo/XS/main/options_init_free.c
+++ b/tp/Texinfo/XS/main/options_init_free.c
@@ -18,263 +18,263 @@ initialize_options (OPTIONS *options)
 
 /* array_cmdline */
 
-  initialize_option (&options->CSS_FILES, GOT_bytes_string_list, "CSS_FILES");
-  initialize_option (&options->CSS_REFS, GOT_char_string_list, "CSS_REFS");
-  initialize_option (&options->EXPANDED_FORMATS, GOT_bytes_string_list, 
"EXPANDED_FORMATS");
-  initialize_option (&options->INCLUDE_DIRECTORIES, GOT_file_string_list, 
"INCLUDE_DIRECTORIES");
-  initialize_option (&options->TEXINFO_LANGUAGE_DIRECTORIES, 
GOT_file_string_list, "TEXINFO_LANGUAGE_DIRECTORIES");
+  initialize_option (&options->CSS_FILES, GOT_bytes_string_list, "CSS_FILES", 
0);
+  initialize_option (&options->CSS_REFS, GOT_char_string_list, "CSS_REFS", 0);
+  initialize_option (&options->EXPANDED_FORMATS, GOT_bytes_string_list, 
"EXPANDED_FORMATS", 0);
+  initialize_option (&options->INCLUDE_DIRECTORIES, GOT_file_string_list, 
"INCLUDE_DIRECTORIES", 0);
+  initialize_option (&options->TEXINFO_LANGUAGE_DIRECTORIES, 
GOT_file_string_list, "TEXINFO_LANGUAGE_DIRECTORIES", 0);
 
 /* converter_cmdline */
 
-  initialize_option (&options->SPLIT_SIZE, GOT_integer, "SPLIT_SIZE");
-  initialize_option (&options->FILLCOLUMN, GOT_integer, "FILLCOLUMN");
-  initialize_option (&options->NUMBER_SECTIONS, GOT_integer, 
"NUMBER_SECTIONS");
-  initialize_option (&options->NUMBER_FOOTNOTES, GOT_integer, 
"NUMBER_FOOTNOTES");
-  initialize_option (&options->TRANSLITERATE_FILE_NAMES, GOT_integer, 
"TRANSLITERATE_FILE_NAMES");
-  initialize_option (&options->SPLIT, GOT_char, "SPLIT");
-  initialize_option (&options->HEADERS, GOT_integer, "HEADERS");
-  initialize_option (&options->NODE_FILES, GOT_integer, "NODE_FILES");
-  initialize_option (&options->VERBOSE, GOT_integer, "VERBOSE");
-  initialize_option (&options->OUTFILE, GOT_char, "OUTFILE");
-  initialize_option (&options->SUBDIR, GOT_char, "SUBDIR");
-  initialize_option (&options->ENABLE_ENCODING, GOT_integer, 
"ENABLE_ENCODING");
+  initialize_option (&options->SPLIT_SIZE, GOT_integer, "SPLIT_SIZE", 0);
+  initialize_option (&options->FILLCOLUMN, GOT_integer, "FILLCOLUMN", 0);
+  initialize_option (&options->NUMBER_SECTIONS, GOT_integer, 
"NUMBER_SECTIONS", 0);
+  initialize_option (&options->NUMBER_FOOTNOTES, GOT_integer, 
"NUMBER_FOOTNOTES", 0);
+  initialize_option (&options->TRANSLITERATE_FILE_NAMES, GOT_integer, 
"TRANSLITERATE_FILE_NAMES", 0);
+  initialize_option (&options->SPLIT, GOT_char, "SPLIT", 0);
+  initialize_option (&options->HEADERS, GOT_integer, "HEADERS", 0);
+  initialize_option (&options->NODE_FILES, GOT_integer, "NODE_FILES", 0);
+  initialize_option (&options->VERBOSE, GOT_integer, "VERBOSE", 0);
+  initialize_option (&options->OUTFILE, GOT_char, "OUTFILE", 0);
+  initialize_option (&options->SUBDIR, GOT_char, "SUBDIR", 0);
+  initialize_option (&options->ENABLE_ENCODING, GOT_integer, 
"ENABLE_ENCODING", 0);
 
 /* converter_customization */
 
-  initialize_option (&options->TOP_NODE_UP, GOT_char, "TOP_NODE_UP");
-  initialize_option (&options->BASEFILENAME_LENGTH, GOT_integer, 
"BASEFILENAME_LENGTH");
-  initialize_option (&options->DOC_ENCODING_FOR_INPUT_FILE_NAME, GOT_integer, 
"DOC_ENCODING_FOR_INPUT_FILE_NAME");
-  initialize_option (&options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME, GOT_integer, 
"DOC_ENCODING_FOR_OUTPUT_FILE_NAME");
-  initialize_option (&options->IMAGE_LINK_PREFIX, GOT_char, 
"IMAGE_LINK_PREFIX");
-  initialize_option (&options->CASE_INSENSITIVE_FILENAMES, GOT_integer, 
"CASE_INSENSITIVE_FILENAMES");
-  initialize_option (&options->DEBUG, GOT_integer, "DEBUG");
-  initialize_option (&options->HANDLER_FATAL_ERROR_LEVEL, GOT_integer, 
"HANDLER_FATAL_ERROR_LEVEL");
-  initialize_option (&options->TEST, GOT_integer, "TEST");
-  initialize_option (&options->TEXTCONTENT_COMMENT, GOT_integer, 
"TEXTCONTENT_COMMENT");
-  initialize_option (&options->TEXINFO_DTD_VERSION, GOT_char, 
"TEXINFO_DTD_VERSION");
-  initialize_option (&options->USE_UNICODE_COLLATION, GOT_integer, 
"USE_UNICODE_COLLATION");
-  initialize_option (&options->AFTER_BODY_OPEN, GOT_char, "AFTER_BODY_OPEN");
-  initialize_option (&options->AFTER_SHORT_TOC_LINES, GOT_char, 
"AFTER_SHORT_TOC_LINES");
-  initialize_option (&options->AFTER_TOC_LINES, GOT_char, "AFTER_TOC_LINES");
-  initialize_option (&options->ASCII_DASHES_AND_QUOTES, GOT_integer, 
"ASCII_DASHES_AND_QUOTES");
-  initialize_option (&options->ASCII_GLYPH, GOT_integer, "ASCII_GLYPH");
-  initialize_option (&options->ASCII_PUNCTUATION, GOT_integer, 
"ASCII_PUNCTUATION");
-  initialize_option (&options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN, 
GOT_integer, "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN");
-  initialize_option (&options->AUTO_MENU_MAX_WIDTH, GOT_integer, 
"AUTO_MENU_MAX_WIDTH");
-  initialize_option (&options->BEFORE_SHORT_TOC_LINES, GOT_char, 
"BEFORE_SHORT_TOC_LINES");
-  initialize_option (&options->BEFORE_TOC_LINES, GOT_char, "BEFORE_TOC_LINES");
-  initialize_option (&options->BIG_RULE, GOT_char, "BIG_RULE");
-  initialize_option (&options->BODY_ELEMENT_ATTRIBUTES, GOT_char, 
"BODY_ELEMENT_ATTRIBUTES");
-  initialize_option (&options->CLASS_BEGIN_USEPACKAGE, GOT_char, 
"CLASS_BEGIN_USEPACKAGE");
-  initialize_option (&options->COPIABLE_LINKS, GOT_integer, "COPIABLE_LINKS");
-  initialize_option (&options->CHAPTER_HEADER_LEVEL, GOT_integer, 
"CHAPTER_HEADER_LEVEL");
-  initialize_option (&options->CHECK_HTMLXREF, GOT_integer, "CHECK_HTMLXREF");
-  initialize_option (&options->CLOSE_DOUBLE_QUOTE_SYMBOL, GOT_char, 
"CLOSE_DOUBLE_QUOTE_SYMBOL");
-  initialize_option (&options->CLOSE_QUOTE_SYMBOL, GOT_char, 
"CLOSE_QUOTE_SYMBOL");
-  initialize_option (&options->COLLATION_LANGUAGE, GOT_char, 
"COLLATION_LANGUAGE");
-  initialize_option (&options->COMMAND_LINE_ENCODING, GOT_char, 
"COMMAND_LINE_ENCODING");
-  initialize_option (&options->INDENTED_BLOCK_COMMANDS_IN_TABLE, GOT_integer, 
"INDENTED_BLOCK_COMMANDS_IN_TABLE");
-  initialize_option (&options->CONTENTS_OUTPUT_LOCATION, GOT_char, 
"CONTENTS_OUTPUT_LOCATION");
-  initialize_option (&options->CONVERT_TO_LATEX_IN_MATH, GOT_integer, 
"CONVERT_TO_LATEX_IN_MATH");
-  initialize_option (&options->DATE_IN_HEADER, GOT_integer, "DATE_IN_HEADER");
-  initialize_option (&options->DEFAULT_RULE, GOT_char, "DEFAULT_RULE");
-  initialize_option (&options->DEF_TABLE, GOT_integer, "DEF_TABLE");
-  initialize_option (&options->DO_ABOUT, GOT_integer, "DO_ABOUT");
-  initialize_option (&options->DOCTYPE, GOT_char, "DOCTYPE");
-  initialize_option (&options->DOCUMENTLANGUAGE_COLLATION, GOT_integer, 
"DOCUMENTLANGUAGE_COLLATION");
-  initialize_option (&options->END_USEPACKAGE, GOT_char, "END_USEPACKAGE");
-  initialize_option (&options->EPUB_CREATE_CONTAINER_FILE, GOT_integer, 
"EPUB_CREATE_CONTAINER_FILE");
-  initialize_option (&options->EPUB_KEEP_CONTAINER_FOLDER, GOT_integer, 
"EPUB_KEEP_CONTAINER_FOLDER");
-  initialize_option (&options->EXTENSION, GOT_char, "EXTENSION");
-  initialize_option (&options->EXTERNAL_CROSSREF_EXTENSION, GOT_char, 
"EXTERNAL_CROSSREF_EXTENSION");
-  initialize_option (&options->EXTERNAL_CROSSREF_SPLIT, GOT_char, 
"EXTERNAL_CROSSREF_SPLIT");
-  initialize_option (&options->EXTERNAL_DIR, GOT_char, "EXTERNAL_DIR");
-  initialize_option (&options->EXTRA_HEAD, GOT_char, "EXTRA_HEAD");
-  initialize_option (&options->FOOTNOTE_END_HEADER_LEVEL, GOT_integer, 
"FOOTNOTE_END_HEADER_LEVEL");
-  initialize_option (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL, GOT_integer, 
"FOOTNOTE_SEPARATE_HEADER_LEVEL");
-  initialize_option (&options->HEADER_IN_TABLE, GOT_integer, 
"HEADER_IN_TABLE");
-  initialize_option (&options->HIGHLIGHT_SYNTAX, GOT_char, "HIGHLIGHT_SYNTAX");
-  initialize_option (&options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE, GOT_char, 
"HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE");
-  initialize_option (&options->HTML_MATH, GOT_char, "HTML_MATH");
-  initialize_option (&options->HTML_ROOT_ELEMENT_ATTRIBUTES, GOT_char, 
"HTML_ROOT_ELEMENT_ATTRIBUTES");
-  initialize_option (&options->HTMLXREF_FILE, GOT_char, "HTMLXREF_FILE");
-  initialize_option (&options->HTMLXREF_MODE, GOT_char, "HTMLXREF_MODE");
-  initialize_option (&options->ICONS, GOT_integer, "ICONS");
-  initialize_option (&options->INDEX_ENTRY_COLON, GOT_char, 
"INDEX_ENTRY_COLON");
-  initialize_option (&options->INDEX_SPECIAL_CHARS_WARNING, GOT_integer, 
"INDEX_SPECIAL_CHARS_WARNING");
-  initialize_option (&options->INFO_JS_DIR, GOT_char, "INFO_JS_DIR");
-  initialize_option (&options->INFO_SPECIAL_CHARS_QUOTE, GOT_char, 
"INFO_SPECIAL_CHARS_QUOTE");
-  initialize_option (&options->INFO_SPECIAL_CHARS_WARNING, GOT_integer, 
"INFO_SPECIAL_CHARS_WARNING");
-  initialize_option (&options->IGNORE_REF_TO_TOP_NODE_UP, GOT_integer, 
"IGNORE_REF_TO_TOP_NODE_UP");
-  initialize_option (&options->INLINE_CSS_STYLE, GOT_integer, 
"INLINE_CSS_STYLE");
-  initialize_option (&options->INPUT_FILE_NAME_ENCODING, GOT_char, 
"INPUT_FILE_NAME_ENCODING");
-  initialize_option (&options->JS_WEBLABELS, GOT_char, "JS_WEBLABELS");
-  initialize_option (&options->JS_WEBLABELS_FILE, GOT_char, 
"JS_WEBLABELS_FILE");
-  initialize_option (&options->LATEX_FLOATS_FILE_EXTENSION, GOT_char, 
"LATEX_FLOATS_FILE_EXTENSION");
-  initialize_option (&options->LOCALE_ENCODING, GOT_char, "LOCALE_ENCODING");
-  initialize_option (&options->L2H_CLEAN, GOT_integer, "L2H_CLEAN");
-  initialize_option (&options->L2H_FILE, GOT_char, "L2H_FILE");
-  initialize_option (&options->L2H_HTML_VERSION, GOT_char, "L2H_HTML_VERSION");
-  initialize_option (&options->L2H_L2H, GOT_char, "L2H_L2H");
-  initialize_option (&options->L2H_SKIP, GOT_integer, "L2H_SKIP");
-  initialize_option (&options->L2H_TMP, GOT_char, "L2H_TMP");
-  initialize_option (&options->MATHJAX_CONFIGURATION, GOT_char, 
"MATHJAX_CONFIGURATION");
-  initialize_option (&options->MATHJAX_SCRIPT, GOT_char, "MATHJAX_SCRIPT");
-  initialize_option (&options->MATHJAX_SOURCE, GOT_char, "MATHJAX_SOURCE");
-  initialize_option (&options->MAX_HEADER_LEVEL, GOT_integer, 
"MAX_HEADER_LEVEL");
-  initialize_option (&options->MENU_ENTRY_COLON, GOT_char, "MENU_ENTRY_COLON");
-  initialize_option (&options->MENU_SYMBOL, GOT_char, "MENU_SYMBOL");
-  initialize_option (&options->MESSAGE_ENCODING, GOT_char, "MESSAGE_ENCODING");
-  initialize_option (&options->MONOLITHIC, GOT_integer, "MONOLITHIC");
-  initialize_option (&options->NO_CSS, GOT_integer, "NO_CSS");
-  initialize_option (&options->NO_NUMBER_FOOTNOTE_SYMBOL, GOT_char, 
"NO_NUMBER_FOOTNOTE_SYMBOL");
-  initialize_option (&options->NO_CUSTOM_HTML_ATTRIBUTE, GOT_integer, 
"NO_CUSTOM_HTML_ATTRIBUTE");
-  initialize_option (&options->NODE_NAME_IN_INDEX, GOT_integer, 
"NODE_NAME_IN_INDEX");
-  initialize_option (&options->NODE_NAME_IN_MENU, GOT_integer, 
"NODE_NAME_IN_MENU");
-  initialize_option (&options->NO_TOP_NODE_OUTPUT, GOT_integer, 
"NO_TOP_NODE_OUTPUT");
-  initialize_option (&options->OPEN_DOUBLE_QUOTE_SYMBOL, GOT_char, 
"OPEN_DOUBLE_QUOTE_SYMBOL");
-  initialize_option (&options->OPEN_QUOTE_SYMBOL, GOT_char, 
"OPEN_QUOTE_SYMBOL");
-  initialize_option (&options->OUTPUT_CHARACTERS, GOT_integer, 
"OUTPUT_CHARACTERS");
-  initialize_option (&options->OUTPUT_ENCODING_NAME, GOT_char, 
"OUTPUT_ENCODING_NAME");
-  initialize_option (&options->OUTPUT_FILE_NAME_ENCODING, GOT_char, 
"OUTPUT_FILE_NAME_ENCODING");
-  initialize_option (&options->OUTPUT_PERL_ENCODING, GOT_char, 
"OUTPUT_PERL_ENCODING");
-  initialize_option (&options->PACKAGE, GOT_char, "PACKAGE");
-  initialize_option (&options->PACKAGE_AND_VERSION, GOT_char, 
"PACKAGE_AND_VERSION");
-  initialize_option (&options->PACKAGE_NAME, GOT_char, "PACKAGE_NAME");
-  initialize_option (&options->PACKAGE_URL, GOT_char, "PACKAGE_URL");
-  initialize_option (&options->PACKAGE_VERSION, GOT_char, "PACKAGE_VERSION");
-  initialize_option (&options->PRE_BODY_CLOSE, GOT_char, "PRE_BODY_CLOSE");
-  initialize_option (&options->PREFIX, GOT_char, "PREFIX");
-  initialize_option (&options->PROGRAM, GOT_char, "PROGRAM");
-  initialize_option (&options->PROGRAM_NAME_IN_ABOUT, GOT_integer, 
"PROGRAM_NAME_IN_ABOUT");
-  initialize_option (&options->PROGRAM_NAME_IN_FOOTER, GOT_integer, 
"PROGRAM_NAME_IN_FOOTER");
-  initialize_option (&options->SECTION_NAME_IN_TITLE, GOT_integer, 
"SECTION_NAME_IN_TITLE");
-  initialize_option (&options->SHORT_TOC_LINK_TO_TOC, GOT_integer, 
"SHORT_TOC_LINK_TO_TOC");
-  initialize_option (&options->SHOW_TITLE, GOT_integer, "SHOW_TITLE");
-  initialize_option (&options->T4H_LATEX_CONVERSION, GOT_char, 
"T4H_LATEX_CONVERSION");
-  initialize_option (&options->T4H_MATH_CONVERSION, GOT_char, 
"T4H_MATH_CONVERSION");
-  initialize_option (&options->T4H_TEX_CONVERSION, GOT_char, 
"T4H_TEX_CONVERSION");
-  initialize_option (&options->TEXI2HTML, GOT_integer, "TEXI2HTML");
-  initialize_option (&options->TEXINFO_OUTPUT_FORMAT, GOT_char, 
"TEXINFO_OUTPUT_FORMAT");
-  initialize_option (&options->TXI_MARKUP_NO_SECTION_EXTENT, GOT_integer, 
"TXI_MARKUP_NO_SECTION_EXTENT");
-  initialize_option (&options->TOC_LINKS, GOT_integer, "TOC_LINKS");
-  initialize_option (&options->TOP_FILE, GOT_char, "TOP_FILE");
-  initialize_option (&options->TOP_NODE_FILE_TARGET, GOT_char, 
"TOP_NODE_FILE_TARGET");
-  initialize_option (&options->TOP_NODE_UP_URL, GOT_char, "TOP_NODE_UP_URL");
-  initialize_option (&options->USE_ACCESSKEY, GOT_integer, "USE_ACCESSKEY");
-  initialize_option (&options->USE_ISO, GOT_integer, "USE_ISO");
-  initialize_option (&options->USE_LINKS, GOT_integer, "USE_LINKS");
-  initialize_option (&options->USE_NEXT_HEADING_FOR_LONE_NODE, GOT_integer, 
"USE_NEXT_HEADING_FOR_LONE_NODE");
-  initialize_option (&options->USE_NODES, GOT_integer, "USE_NODES");
-  initialize_option (&options->USE_NODE_DIRECTIONS, GOT_integer, 
"USE_NODE_DIRECTIONS");
-  initialize_option (&options->USE_NUMERIC_ENTITY, GOT_integer, 
"USE_NUMERIC_ENTITY");
-  initialize_option (&options->USE_REL_REV, GOT_integer, "USE_REL_REV");
-  initialize_option (&options->USE_SETFILENAME_EXTENSION, GOT_integer, 
"USE_SETFILENAME_EXTENSION");
-  initialize_option (&options->USE_TITLEPAGE_FOR_TITLE, GOT_integer, 
"USE_TITLEPAGE_FOR_TITLE");
-  initialize_option (&options->USE_UNIDECODE, GOT_integer, "USE_UNIDECODE");
-  initialize_option (&options->USE_XML_SYNTAX, GOT_integer, "USE_XML_SYNTAX");
-  initialize_option (&options->VERTICAL_HEAD_NAVIGATION, GOT_integer, 
"VERTICAL_HEAD_NAVIGATION");
-  initialize_option (&options->WORDS_IN_PAGE, GOT_integer, "WORDS_IN_PAGE");
-  initialize_option (&options->XREF_USE_FLOAT_LABEL, GOT_integer, 
"XREF_USE_FLOAT_LABEL");
-  initialize_option (&options->XREF_USE_NODE_NAME_ARG, GOT_integer, 
"XREF_USE_NODE_NAME_ARG");
-  initialize_option (&options->XS_EXTERNAL_CONVERSION, GOT_integer, 
"XS_EXTERNAL_CONVERSION");
-  initialize_option (&options->XS_EXTERNAL_FORMATTING, GOT_integer, 
"XS_EXTERNAL_FORMATTING");
-  initialize_option (&options->XS_STRXFRM_COLLATION_LOCALE, GOT_char, 
"XS_STRXFRM_COLLATION_LOCALE");
-  initialize_option (&options->_INLINE_STYLE_WIDTH, GOT_integer, 
"_INLINE_STYLE_WIDTH");
+  initialize_option (&options->TOP_NODE_UP, GOT_char, "TOP_NODE_UP", 0);
+  initialize_option (&options->BASEFILENAME_LENGTH, GOT_integer, 
"BASEFILENAME_LENGTH", 0);
+  initialize_option (&options->DOC_ENCODING_FOR_INPUT_FILE_NAME, GOT_integer, 
"DOC_ENCODING_FOR_INPUT_FILE_NAME", OF_parser_option);
+  initialize_option (&options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME, GOT_integer, 
"DOC_ENCODING_FOR_OUTPUT_FILE_NAME", 0);
+  initialize_option (&options->IMAGE_LINK_PREFIX, GOT_char, 
"IMAGE_LINK_PREFIX", 0);
+  initialize_option (&options->CASE_INSENSITIVE_FILENAMES, GOT_integer, 
"CASE_INSENSITIVE_FILENAMES", 0);
+  initialize_option (&options->DEBUG, GOT_integer, "DEBUG", OF_parser_option);
+  initialize_option (&options->HANDLER_FATAL_ERROR_LEVEL, GOT_integer, 
"HANDLER_FATAL_ERROR_LEVEL", 0);
+  initialize_option (&options->TEST, GOT_integer, "TEST", 0);
+  initialize_option (&options->TEXTCONTENT_COMMENT, GOT_integer, 
"TEXTCONTENT_COMMENT", 0);
+  initialize_option (&options->TEXINFO_DTD_VERSION, GOT_char, 
"TEXINFO_DTD_VERSION", 0);
+  initialize_option (&options->USE_UNICODE_COLLATION, GOT_integer, 
"USE_UNICODE_COLLATION", 0);
+  initialize_option (&options->AFTER_BODY_OPEN, GOT_char, "AFTER_BODY_OPEN", 
0);
+  initialize_option (&options->AFTER_SHORT_TOC_LINES, GOT_char, 
"AFTER_SHORT_TOC_LINES", 0);
+  initialize_option (&options->AFTER_TOC_LINES, GOT_char, "AFTER_TOC_LINES", 
0);
+  initialize_option (&options->ASCII_DASHES_AND_QUOTES, GOT_integer, 
"ASCII_DASHES_AND_QUOTES", 0);
+  initialize_option (&options->ASCII_GLYPH, GOT_integer, "ASCII_GLYPH", 0);
+  initialize_option (&options->ASCII_PUNCTUATION, GOT_integer, 
"ASCII_PUNCTUATION", 0);
+  initialize_option (&options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN, 
GOT_integer, "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN", 0);
+  initialize_option (&options->AUTO_MENU_MAX_WIDTH, GOT_integer, 
"AUTO_MENU_MAX_WIDTH", 0);
+  initialize_option (&options->BEFORE_SHORT_TOC_LINES, GOT_char, 
"BEFORE_SHORT_TOC_LINES", 0);
+  initialize_option (&options->BEFORE_TOC_LINES, GOT_char, "BEFORE_TOC_LINES", 
0);
+  initialize_option (&options->BIG_RULE, GOT_char, "BIG_RULE", 0);
+  initialize_option (&options->BODY_ELEMENT_ATTRIBUTES, GOT_char, 
"BODY_ELEMENT_ATTRIBUTES", 0);
+  initialize_option (&options->CLASS_BEGIN_USEPACKAGE, GOT_char, 
"CLASS_BEGIN_USEPACKAGE", 0);
+  initialize_option (&options->COPIABLE_LINKS, GOT_integer, "COPIABLE_LINKS", 
0);
+  initialize_option (&options->CHAPTER_HEADER_LEVEL, GOT_integer, 
"CHAPTER_HEADER_LEVEL", 0);
+  initialize_option (&options->CHECK_HTMLXREF, GOT_integer, "CHECK_HTMLXREF", 
0);
+  initialize_option (&options->CLOSE_DOUBLE_QUOTE_SYMBOL, GOT_char, 
"CLOSE_DOUBLE_QUOTE_SYMBOL", 0);
+  initialize_option (&options->CLOSE_QUOTE_SYMBOL, GOT_char, 
"CLOSE_QUOTE_SYMBOL", 0);
+  initialize_option (&options->COLLATION_LANGUAGE, GOT_char, 
"COLLATION_LANGUAGE", 0);
+  initialize_option (&options->COMMAND_LINE_ENCODING, GOT_char, 
"COMMAND_LINE_ENCODING", OF_parser_option);
+  initialize_option (&options->INDENTED_BLOCK_COMMANDS_IN_TABLE, GOT_integer, 
"INDENTED_BLOCK_COMMANDS_IN_TABLE", 0);
+  initialize_option (&options->CONTENTS_OUTPUT_LOCATION, GOT_char, 
"CONTENTS_OUTPUT_LOCATION", 0);
+  initialize_option (&options->CONVERT_TO_LATEX_IN_MATH, GOT_integer, 
"CONVERT_TO_LATEX_IN_MATH", 0);
+  initialize_option (&options->DATE_IN_HEADER, GOT_integer, "DATE_IN_HEADER", 
0);
+  initialize_option (&options->DEFAULT_RULE, GOT_char, "DEFAULT_RULE", 0);
+  initialize_option (&options->DEF_TABLE, GOT_integer, "DEF_TABLE", 0);
+  initialize_option (&options->DO_ABOUT, GOT_integer, "DO_ABOUT", 0);
+  initialize_option (&options->DOCTYPE, GOT_char, "DOCTYPE", 0);
+  initialize_option (&options->DOCUMENTLANGUAGE_COLLATION, GOT_integer, 
"DOCUMENTLANGUAGE_COLLATION", 0);
+  initialize_option (&options->END_USEPACKAGE, GOT_char, "END_USEPACKAGE", 0);
+  initialize_option (&options->EPUB_CREATE_CONTAINER_FILE, GOT_integer, 
"EPUB_CREATE_CONTAINER_FILE", 0);
+  initialize_option (&options->EPUB_KEEP_CONTAINER_FOLDER, GOT_integer, 
"EPUB_KEEP_CONTAINER_FOLDER", 0);
+  initialize_option (&options->EXTENSION, GOT_char, "EXTENSION", 0);
+  initialize_option (&options->EXTERNAL_CROSSREF_EXTENSION, GOT_char, 
"EXTERNAL_CROSSREF_EXTENSION", 0);
+  initialize_option (&options->EXTERNAL_CROSSREF_SPLIT, GOT_char, 
"EXTERNAL_CROSSREF_SPLIT", 0);
+  initialize_option (&options->EXTERNAL_DIR, GOT_char, "EXTERNAL_DIR", 0);
+  initialize_option (&options->EXTRA_HEAD, GOT_char, "EXTRA_HEAD", 0);
+  initialize_option (&options->FOOTNOTE_END_HEADER_LEVEL, GOT_integer, 
"FOOTNOTE_END_HEADER_LEVEL", 0);
+  initialize_option (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL, GOT_integer, 
"FOOTNOTE_SEPARATE_HEADER_LEVEL", 0);
+  initialize_option (&options->HEADER_IN_TABLE, GOT_integer, 
"HEADER_IN_TABLE", 0);
+  initialize_option (&options->HIGHLIGHT_SYNTAX, GOT_char, "HIGHLIGHT_SYNTAX", 
0);
+  initialize_option (&options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE, GOT_char, 
"HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE", 0);
+  initialize_option (&options->HTML_MATH, GOT_char, "HTML_MATH", 0);
+  initialize_option (&options->HTML_ROOT_ELEMENT_ATTRIBUTES, GOT_char, 
"HTML_ROOT_ELEMENT_ATTRIBUTES", 0);
+  initialize_option (&options->HTMLXREF_FILE, GOT_char, "HTMLXREF_FILE", 0);
+  initialize_option (&options->HTMLXREF_MODE, GOT_char, "HTMLXREF_MODE", 0);
+  initialize_option (&options->ICONS, GOT_integer, "ICONS", 0);
+  initialize_option (&options->INDEX_ENTRY_COLON, GOT_char, 
"INDEX_ENTRY_COLON", 0);
+  initialize_option (&options->INDEX_SPECIAL_CHARS_WARNING, GOT_integer, 
"INDEX_SPECIAL_CHARS_WARNING", 0);
+  initialize_option (&options->INFO_JS_DIR, GOT_char, "INFO_JS_DIR", 0);
+  initialize_option (&options->INFO_SPECIAL_CHARS_QUOTE, GOT_char, 
"INFO_SPECIAL_CHARS_QUOTE", 0);
+  initialize_option (&options->INFO_SPECIAL_CHARS_WARNING, GOT_integer, 
"INFO_SPECIAL_CHARS_WARNING", 0);
+  initialize_option (&options->IGNORE_REF_TO_TOP_NODE_UP, GOT_integer, 
"IGNORE_REF_TO_TOP_NODE_UP", 0);
+  initialize_option (&options->INLINE_CSS_STYLE, GOT_integer, 
"INLINE_CSS_STYLE", 0);
+  initialize_option (&options->INPUT_FILE_NAME_ENCODING, GOT_char, 
"INPUT_FILE_NAME_ENCODING", OF_parser_option);
+  initialize_option (&options->JS_WEBLABELS, GOT_char, "JS_WEBLABELS", 0);
+  initialize_option (&options->JS_WEBLABELS_FILE, GOT_char, 
"JS_WEBLABELS_FILE", 0);
+  initialize_option (&options->LATEX_FLOATS_FILE_EXTENSION, GOT_char, 
"LATEX_FLOATS_FILE_EXTENSION", 0);
+  initialize_option (&options->LOCALE_ENCODING, GOT_char, "LOCALE_ENCODING", 
OF_parser_option);
+  initialize_option (&options->L2H_CLEAN, GOT_integer, "L2H_CLEAN", 0);
+  initialize_option (&options->L2H_FILE, GOT_char, "L2H_FILE", 0);
+  initialize_option (&options->L2H_HTML_VERSION, GOT_char, "L2H_HTML_VERSION", 
0);
+  initialize_option (&options->L2H_L2H, GOT_char, "L2H_L2H", 0);
+  initialize_option (&options->L2H_SKIP, GOT_integer, "L2H_SKIP", 0);
+  initialize_option (&options->L2H_TMP, GOT_char, "L2H_TMP", 0);
+  initialize_option (&options->MATHJAX_CONFIGURATION, GOT_char, 
"MATHJAX_CONFIGURATION", 0);
+  initialize_option (&options->MATHJAX_SCRIPT, GOT_char, "MATHJAX_SCRIPT", 0);
+  initialize_option (&options->MATHJAX_SOURCE, GOT_char, "MATHJAX_SOURCE", 0);
+  initialize_option (&options->MAX_HEADER_LEVEL, GOT_integer, 
"MAX_HEADER_LEVEL", 0);
+  initialize_option (&options->MENU_ENTRY_COLON, GOT_char, "MENU_ENTRY_COLON", 
0);
+  initialize_option (&options->MENU_SYMBOL, GOT_char, "MENU_SYMBOL", 0);
+  initialize_option (&options->MESSAGE_ENCODING, GOT_char, "MESSAGE_ENCODING", 
0);
+  initialize_option (&options->MONOLITHIC, GOT_integer, "MONOLITHIC", 0);
+  initialize_option (&options->NO_CSS, GOT_integer, "NO_CSS", 0);
+  initialize_option (&options->NO_NUMBER_FOOTNOTE_SYMBOL, GOT_char, 
"NO_NUMBER_FOOTNOTE_SYMBOL", 0);
+  initialize_option (&options->NO_CUSTOM_HTML_ATTRIBUTE, GOT_integer, 
"NO_CUSTOM_HTML_ATTRIBUTE", 0);
+  initialize_option (&options->NODE_NAME_IN_INDEX, GOT_integer, 
"NODE_NAME_IN_INDEX", 0);
+  initialize_option (&options->NODE_NAME_IN_MENU, GOT_integer, 
"NODE_NAME_IN_MENU", 0);
+  initialize_option (&options->NO_TOP_NODE_OUTPUT, GOT_integer, 
"NO_TOP_NODE_OUTPUT", 0);
+  initialize_option (&options->OPEN_DOUBLE_QUOTE_SYMBOL, GOT_char, 
"OPEN_DOUBLE_QUOTE_SYMBOL", 0);
+  initialize_option (&options->OPEN_QUOTE_SYMBOL, GOT_char, 
"OPEN_QUOTE_SYMBOL", 0);
+  initialize_option (&options->OUTPUT_CHARACTERS, GOT_integer, 
"OUTPUT_CHARACTERS", 0);
+  initialize_option (&options->OUTPUT_ENCODING_NAME, GOT_char, 
"OUTPUT_ENCODING_NAME", 0);
+  initialize_option (&options->OUTPUT_FILE_NAME_ENCODING, GOT_char, 
"OUTPUT_FILE_NAME_ENCODING", 0);
+  initialize_option (&options->OUTPUT_PERL_ENCODING, GOT_char, 
"OUTPUT_PERL_ENCODING", 0);
+  initialize_option (&options->PACKAGE, GOT_char, "PACKAGE", 0);
+  initialize_option (&options->PACKAGE_AND_VERSION, GOT_char, 
"PACKAGE_AND_VERSION", 0);
+  initialize_option (&options->PACKAGE_NAME, GOT_char, "PACKAGE_NAME", 0);
+  initialize_option (&options->PACKAGE_URL, GOT_char, "PACKAGE_URL", 0);
+  initialize_option (&options->PACKAGE_VERSION, GOT_char, "PACKAGE_VERSION", 
0);
+  initialize_option (&options->PRE_BODY_CLOSE, GOT_char, "PRE_BODY_CLOSE", 0);
+  initialize_option (&options->PREFIX, GOT_char, "PREFIX", 0);
+  initialize_option (&options->PROGRAM, GOT_char, "PROGRAM", 0);
+  initialize_option (&options->PROGRAM_NAME_IN_ABOUT, GOT_integer, 
"PROGRAM_NAME_IN_ABOUT", 0);
+  initialize_option (&options->PROGRAM_NAME_IN_FOOTER, GOT_integer, 
"PROGRAM_NAME_IN_FOOTER", 0);
+  initialize_option (&options->SECTION_NAME_IN_TITLE, GOT_integer, 
"SECTION_NAME_IN_TITLE", 0);
+  initialize_option (&options->SHORT_TOC_LINK_TO_TOC, GOT_integer, 
"SHORT_TOC_LINK_TO_TOC", 0);
+  initialize_option (&options->SHOW_TITLE, GOT_integer, "SHOW_TITLE", 0);
+  initialize_option (&options->T4H_LATEX_CONVERSION, GOT_char, 
"T4H_LATEX_CONVERSION", 0);
+  initialize_option (&options->T4H_MATH_CONVERSION, GOT_char, 
"T4H_MATH_CONVERSION", 0);
+  initialize_option (&options->T4H_TEX_CONVERSION, GOT_char, 
"T4H_TEX_CONVERSION", 0);
+  initialize_option (&options->TEXI2HTML, GOT_integer, "TEXI2HTML", 0);
+  initialize_option (&options->TEXINFO_OUTPUT_FORMAT, GOT_char, 
"TEXINFO_OUTPUT_FORMAT", 0);
+  initialize_option (&options->TXI_MARKUP_NO_SECTION_EXTENT, GOT_integer, 
"TXI_MARKUP_NO_SECTION_EXTENT", 0);
+  initialize_option (&options->TOC_LINKS, GOT_integer, "TOC_LINKS", 0);
+  initialize_option (&options->TOP_FILE, GOT_char, "TOP_FILE", 0);
+  initialize_option (&options->TOP_NODE_FILE_TARGET, GOT_char, 
"TOP_NODE_FILE_TARGET", 0);
+  initialize_option (&options->TOP_NODE_UP_URL, GOT_char, "TOP_NODE_UP_URL", 
0);
+  initialize_option (&options->USE_ACCESSKEY, GOT_integer, "USE_ACCESSKEY", 0);
+  initialize_option (&options->USE_ISO, GOT_integer, "USE_ISO", 0);
+  initialize_option (&options->USE_LINKS, GOT_integer, "USE_LINKS", 0);
+  initialize_option (&options->USE_NEXT_HEADING_FOR_LONE_NODE, GOT_integer, 
"USE_NEXT_HEADING_FOR_LONE_NODE", 0);
+  initialize_option (&options->USE_NODES, GOT_integer, "USE_NODES", 0);
+  initialize_option (&options->USE_NODE_DIRECTIONS, GOT_integer, 
"USE_NODE_DIRECTIONS", 0);
+  initialize_option (&options->USE_NUMERIC_ENTITY, GOT_integer, 
"USE_NUMERIC_ENTITY", 0);
+  initialize_option (&options->USE_REL_REV, GOT_integer, "USE_REL_REV", 0);
+  initialize_option (&options->USE_SETFILENAME_EXTENSION, GOT_integer, 
"USE_SETFILENAME_EXTENSION", 0);
+  initialize_option (&options->USE_TITLEPAGE_FOR_TITLE, GOT_integer, 
"USE_TITLEPAGE_FOR_TITLE", 0);
+  initialize_option (&options->USE_UNIDECODE, GOT_integer, "USE_UNIDECODE", 0);
+  initialize_option (&options->USE_XML_SYNTAX, GOT_integer, "USE_XML_SYNTAX", 
0);
+  initialize_option (&options->VERTICAL_HEAD_NAVIGATION, GOT_integer, 
"VERTICAL_HEAD_NAVIGATION", 0);
+  initialize_option (&options->WORDS_IN_PAGE, GOT_integer, "WORDS_IN_PAGE", 0);
+  initialize_option (&options->XREF_USE_FLOAT_LABEL, GOT_integer, 
"XREF_USE_FLOAT_LABEL", 0);
+  initialize_option (&options->XREF_USE_NODE_NAME_ARG, GOT_integer, 
"XREF_USE_NODE_NAME_ARG", 0);
+  initialize_option (&options->XS_EXTERNAL_CONVERSION, GOT_integer, 
"XS_EXTERNAL_CONVERSION", 0);
+  initialize_option (&options->XS_EXTERNAL_FORMATTING, GOT_integer, 
"XS_EXTERNAL_FORMATTING", 0);
+  initialize_option (&options->XS_STRXFRM_COLLATION_LOCALE, GOT_char, 
"XS_STRXFRM_COLLATION_LOCALE", 0);
+  initialize_option (&options->_INLINE_STYLE_WIDTH, GOT_integer, 
"_INLINE_STYLE_WIDTH", 0);
 
 /* converter_other */
 
-  initialize_option (&options->LINKS_BUTTONS, GOT_buttons, "LINKS_BUTTONS");
-  initialize_option (&options->TOP_BUTTONS, GOT_buttons, "TOP_BUTTONS");
-  initialize_option (&options->TOP_FOOTER_BUTTONS, GOT_buttons, 
"TOP_FOOTER_BUTTONS");
-  initialize_option (&options->SECTION_BUTTONS, GOT_buttons, 
"SECTION_BUTTONS");
-  initialize_option (&options->CHAPTER_FOOTER_BUTTONS, GOT_buttons, 
"CHAPTER_FOOTER_BUTTONS");
-  initialize_option (&options->SECTION_FOOTER_BUTTONS, GOT_buttons, 
"SECTION_FOOTER_BUTTONS");
-  initialize_option (&options->NODE_FOOTER_BUTTONS, GOT_buttons, 
"NODE_FOOTER_BUTTONS");
-  initialize_option (&options->MISC_BUTTONS, GOT_buttons, "MISC_BUTTONS");
-  initialize_option (&options->CHAPTER_BUTTONS, GOT_buttons, 
"CHAPTER_BUTTONS");
-  initialize_option (&options->ACTIVE_ICONS, GOT_icons, "ACTIVE_ICONS");
-  initialize_option (&options->PASSIVE_ICONS, GOT_icons, "PASSIVE_ICONS");
+  initialize_option (&options->LINKS_BUTTONS, GOT_buttons, "LINKS_BUTTONS", 0);
+  initialize_option (&options->TOP_BUTTONS, GOT_buttons, "TOP_BUTTONS", 0);
+  initialize_option (&options->TOP_FOOTER_BUTTONS, GOT_buttons, 
"TOP_FOOTER_BUTTONS", 0);
+  initialize_option (&options->SECTION_BUTTONS, GOT_buttons, 
"SECTION_BUTTONS", 0);
+  initialize_option (&options->CHAPTER_FOOTER_BUTTONS, GOT_buttons, 
"CHAPTER_FOOTER_BUTTONS", 0);
+  initialize_option (&options->SECTION_FOOTER_BUTTONS, GOT_buttons, 
"SECTION_FOOTER_BUTTONS", 0);
+  initialize_option (&options->NODE_FOOTER_BUTTONS, GOT_buttons, 
"NODE_FOOTER_BUTTONS", 0);
+  initialize_option (&options->MISC_BUTTONS, GOT_buttons, "MISC_BUTTONS", 0);
+  initialize_option (&options->CHAPTER_BUTTONS, GOT_buttons, 
"CHAPTER_BUTTONS", 0);
+  initialize_option (&options->ACTIVE_ICONS, GOT_icons, "ACTIVE_ICONS", 0);
+  initialize_option (&options->PASSIVE_ICONS, GOT_icons, "PASSIVE_ICONS", 0);
 
 /* multiple_at_command */
 
-  initialize_option (&options->allowcodebreaks, GOT_char, "allowcodebreaks");
-  initialize_option (&options->clickstyle, GOT_char, "clickstyle");
-  initialize_option (&options->codequotebacktick, GOT_char, 
"codequotebacktick");
-  initialize_option (&options->codequoteundirected, GOT_char, 
"codequoteundirected");
-  initialize_option (&options->contents, GOT_integer, "contents");
-  initialize_option (&options->deftypefnnewline, GOT_char, "deftypefnnewline");
-  initialize_option (&options->documentencoding, GOT_char, "documentencoding");
-  initialize_option (&options->documentlanguage, GOT_char, "documentlanguage");
-  initialize_option (&options->evenfooting, GOT_char, "evenfooting");
-  initialize_option (&options->evenheading, GOT_char, "evenheading");
-  initialize_option (&options->everyfooting, GOT_char, "everyfooting");
-  initialize_option (&options->everyheading, GOT_char, "everyheading");
-  initialize_option (&options->exampleindent, GOT_char, "exampleindent");
-  initialize_option (&options->firstparagraphindent, GOT_char, 
"firstparagraphindent");
-  initialize_option (&options->frenchspacing, GOT_char, "frenchspacing");
-  initialize_option (&options->headings, GOT_char, "headings");
-  initialize_option (&options->kbdinputstyle, GOT_char, "kbdinputstyle");
-  initialize_option (&options->microtype, GOT_char, "microtype");
-  initialize_option (&options->oddheading, GOT_char, "oddheading");
-  initialize_option (&options->oddfooting, GOT_char, "oddfooting");
-  initialize_option (&options->paragraphindent, GOT_char, "paragraphindent");
-  initialize_option (&options->shortcontents, GOT_integer, "shortcontents");
-  initialize_option (&options->summarycontents, GOT_integer, 
"summarycontents");
-  initialize_option (&options->urefbreakstyle, GOT_char, "urefbreakstyle");
-  initialize_option (&options->xrefautomaticsectiontitle, GOT_char, 
"xrefautomaticsectiontitle");
+  initialize_option (&options->allowcodebreaks, GOT_char, "allowcodebreaks", 
0);
+  initialize_option (&options->clickstyle, GOT_char, "clickstyle", 0);
+  initialize_option (&options->codequotebacktick, GOT_char, 
"codequotebacktick", 0);
+  initialize_option (&options->codequoteundirected, GOT_char, 
"codequoteundirected", 0);
+  initialize_option (&options->contents, GOT_integer, "contents", 0);
+  initialize_option (&options->deftypefnnewline, GOT_char, "deftypefnnewline", 
0);
+  initialize_option (&options->documentencoding, GOT_char, "documentencoding", 
0);
+  initialize_option (&options->documentlanguage, GOT_char, "documentlanguage", 
OF_parser_option);
+  initialize_option (&options->evenfooting, GOT_char, "evenfooting", 0);
+  initialize_option (&options->evenheading, GOT_char, "evenheading", 0);
+  initialize_option (&options->everyfooting, GOT_char, "everyfooting", 0);
+  initialize_option (&options->everyheading, GOT_char, "everyheading", 0);
+  initialize_option (&options->exampleindent, GOT_char, "exampleindent", 0);
+  initialize_option (&options->firstparagraphindent, GOT_char, 
"firstparagraphindent", 0);
+  initialize_option (&options->frenchspacing, GOT_char, "frenchspacing", 0);
+  initialize_option (&options->headings, GOT_char, "headings", 0);
+  initialize_option (&options->kbdinputstyle, GOT_char, "kbdinputstyle", 0);
+  initialize_option (&options->microtype, GOT_char, "microtype", 0);
+  initialize_option (&options->oddheading, GOT_char, "oddheading", 0);
+  initialize_option (&options->oddfooting, GOT_char, "oddfooting", 0);
+  initialize_option (&options->paragraphindent, GOT_char, "paragraphindent", 
0);
+  initialize_option (&options->shortcontents, GOT_integer, "shortcontents", 0);
+  initialize_option (&options->summarycontents, GOT_integer, 
"summarycontents", 0);
+  initialize_option (&options->urefbreakstyle, GOT_char, "urefbreakstyle", 0);
+  initialize_option (&options->xrefautomaticsectiontitle, GOT_char, 
"xrefautomaticsectiontitle", 0);
 
 /* parser */
 
-  initialize_option (&options->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME, 
GOT_integer, "IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME");
-  initialize_option (&options->CPP_LINE_DIRECTIVES, GOT_integer, 
"CPP_LINE_DIRECTIVES");
-  initialize_option (&options->MAX_MACRO_CALL_NESTING, GOT_integer, 
"MAX_MACRO_CALL_NESTING");
-  initialize_option (&options->NO_INDEX, GOT_integer, "NO_INDEX");
-  initialize_option (&options->NO_USER_COMMANDS, GOT_integer, 
"NO_USER_COMMANDS");
+  initialize_option (&options->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME, 
GOT_integer, "IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME", OF_parser_option);
+  initialize_option (&options->CPP_LINE_DIRECTIVES, GOT_integer, 
"CPP_LINE_DIRECTIVES", OF_parser_option);
+  initialize_option (&options->MAX_MACRO_CALL_NESTING, GOT_integer, 
"MAX_MACRO_CALL_NESTING", OF_parser_option);
+  initialize_option (&options->NO_INDEX, GOT_integer, "NO_INDEX", 
OF_parser_option);
+  initialize_option (&options->NO_USER_COMMANDS, GOT_integer, 
"NO_USER_COMMANDS", OF_parser_option);
 
 /* program_cmdline */
 
-  initialize_option (&options->MACRO_EXPAND, GOT_bytes, "MACRO_EXPAND");
-  initialize_option (&options->INTERNAL_LINKS, GOT_bytes, "INTERNAL_LINKS");
-  initialize_option (&options->ERROR_LIMIT, GOT_integer, "ERROR_LIMIT");
-  initialize_option (&options->FORCE, GOT_integer, "FORCE");
-  initialize_option (&options->NO_WARN, GOT_integer, "NO_WARN");
-  initialize_option (&options->TRACE_INCLUDES, GOT_integer, "TRACE_INCLUDES");
-  initialize_option (&options->FORMAT_MENU, GOT_char, "FORMAT_MENU");
+  initialize_option (&options->MACRO_EXPAND, GOT_bytes, "MACRO_EXPAND", 0);
+  initialize_option (&options->INTERNAL_LINKS, GOT_bytes, "INTERNAL_LINKS", 0);
+  initialize_option (&options->ERROR_LIMIT, GOT_integer, "ERROR_LIMIT", 0);
+  initialize_option (&options->FORCE, GOT_integer, "FORCE", 0);
+  initialize_option (&options->NO_WARN, GOT_integer, "NO_WARN", 0);
+  initialize_option (&options->TRACE_INCLUDES, GOT_integer, "TRACE_INCLUDES", 
0);
+  initialize_option (&options->FORMAT_MENU, GOT_char, "FORMAT_MENU", 
OF_parser_option);
 
 /* program_customization */
 
-  initialize_option (&options->CHECK_NORMAL_MENU_STRUCTURE, GOT_integer, 
"CHECK_NORMAL_MENU_STRUCTURE");
-  initialize_option (&options->CHECK_MISSING_MENU_ENTRY, GOT_integer, 
"CHECK_MISSING_MENU_ENTRY");
-  initialize_option (&options->DUMP_TREE, GOT_integer, "DUMP_TREE");
-  initialize_option (&options->DUMP_TEXI, GOT_integer, "DUMP_TEXI");
-  initialize_option (&options->SHOW_BUILTIN_CSS_RULES, GOT_integer, 
"SHOW_BUILTIN_CSS_RULES");
-  initialize_option (&options->SORT_ELEMENT_COUNT, GOT_char, 
"SORT_ELEMENT_COUNT");
-  initialize_option (&options->SORT_ELEMENT_COUNT_WORDS, GOT_integer, 
"SORT_ELEMENT_COUNT_WORDS");
-  initialize_option (&options->TEXI2DVI, GOT_char, "TEXI2DVI");
-  initialize_option (&options->TREE_TRANSFORMATIONS, GOT_char, 
"TREE_TRANSFORMATIONS");
+  initialize_option (&options->CHECK_NORMAL_MENU_STRUCTURE, GOT_integer, 
"CHECK_NORMAL_MENU_STRUCTURE", 0);
+  initialize_option (&options->CHECK_MISSING_MENU_ENTRY, GOT_integer, 
"CHECK_MISSING_MENU_ENTRY", 0);
+  initialize_option (&options->DUMP_TREE, GOT_integer, "DUMP_TREE", 0);
+  initialize_option (&options->DUMP_TEXI, GOT_integer, "DUMP_TEXI", 0);
+  initialize_option (&options->SHOW_BUILTIN_CSS_RULES, GOT_integer, 
"SHOW_BUILTIN_CSS_RULES", 0);
+  initialize_option (&options->SORT_ELEMENT_COUNT, GOT_char, 
"SORT_ELEMENT_COUNT", 0);
+  initialize_option (&options->SORT_ELEMENT_COUNT_WORDS, GOT_integer, 
"SORT_ELEMENT_COUNT_WORDS", 0);
+  initialize_option (&options->TEXI2DVI, GOT_char, "TEXI2DVI", 0);
+  initialize_option (&options->TREE_TRANSFORMATIONS, GOT_char, 
"TREE_TRANSFORMATIONS", 0);
 
 /* unique_at_command */
 
-  initialize_option (&options->afivepaper, GOT_char, "afivepaper");
-  initialize_option (&options->afourpaper, GOT_char, "afourpaper");
-  initialize_option (&options->afourlatex, GOT_char, "afourlatex");
-  initialize_option (&options->afourwide, GOT_char, "afourwide");
-  initialize_option (&options->bsixpaper, GOT_char, "bsixpaper");
-  initialize_option (&options->documentdescription, GOT_char, 
"documentdescription");
-  initialize_option (&options->evenfootingmarks, GOT_char, "evenfootingmarks");
-  initialize_option (&options->evenheadingmarks, GOT_char, "evenheadingmarks");
-  initialize_option (&options->everyfootingmarks, GOT_char, 
"everyfootingmarks");
-  initialize_option (&options->everyheadingmarks, GOT_char, 
"everyheadingmarks");
-  initialize_option (&options->fonttextsize, GOT_integer, "fonttextsize");
-  initialize_option (&options->footnotestyle, GOT_char, "footnotestyle");
-  initialize_option (&options->novalidate, GOT_integer, "novalidate");
-  initialize_option (&options->oddfootingmarks, GOT_char, "oddfootingmarks");
-  initialize_option (&options->oddheadingmarks, GOT_char, "oddheadingmarks");
-  initialize_option (&options->pagesizes, GOT_char, "pagesizes");
-  initialize_option (&options->setchapternewpage, GOT_char, 
"setchapternewpage");
-  initialize_option (&options->setfilename, GOT_char, "setfilename");
-  initialize_option (&options->smallbook, GOT_char, "smallbook");
+  initialize_option (&options->afivepaper, GOT_char, "afivepaper", 0);
+  initialize_option (&options->afourpaper, GOT_char, "afourpaper", 0);
+  initialize_option (&options->afourlatex, GOT_char, "afourlatex", 0);
+  initialize_option (&options->afourwide, GOT_char, "afourwide", 0);
+  initialize_option (&options->bsixpaper, GOT_char, "bsixpaper", 0);
+  initialize_option (&options->documentdescription, GOT_char, 
"documentdescription", 0);
+  initialize_option (&options->evenfootingmarks, GOT_char, "evenfootingmarks", 
0);
+  initialize_option (&options->evenheadingmarks, GOT_char, "evenheadingmarks", 
0);
+  initialize_option (&options->everyfootingmarks, GOT_char, 
"everyfootingmarks", 0);
+  initialize_option (&options->everyheadingmarks, GOT_char, 
"everyheadingmarks", 0);
+  initialize_option (&options->fonttextsize, GOT_integer, "fonttextsize", 0);
+  initialize_option (&options->footnotestyle, GOT_char, "footnotestyle", 0);
+  initialize_option (&options->novalidate, GOT_integer, "novalidate", 0);
+  initialize_option (&options->oddfootingmarks, GOT_char, "oddfootingmarks", 
0);
+  initialize_option (&options->oddheadingmarks, GOT_char, "oddheadingmarks", 
0);
+  initialize_option (&options->pagesizes, GOT_char, "pagesizes", 0);
+  initialize_option (&options->setchapternewpage, GOT_char, 
"setchapternewpage", 0);
+  initialize_option (&options->setfilename, GOT_char, "setfilename", 0);
+  initialize_option (&options->smallbook, GOT_char, "smallbook", 0);
 }
 
 void
diff --git a/tp/maintain/regenerate_C_options_info.pl 
b/tp/maintain/regenerate_C_options_info.pl
index a61dfb0be9..21bcdefc2a 100755
--- a/tp/maintain/regenerate_C_options_info.pl
+++ b/tp/maintain/regenerate_C_options_info.pl
@@ -26,8 +26,9 @@ use File::Basename;
 
 my %option_categories;
 
-# Not used much for now, could be useful to distinguish converter
-# from other customization options, parser options for instance
+my %parser_option_categories;
+
+# Not used much for now
 my %converter_option_categories;
 
 my %commands_options;
@@ -46,7 +47,9 @@ while (<STDIN>) {
 
       if (!exists($option_categories{$category})) {
         $option_categories{$category} = [];
-        if ($category !~ /^parser/) {
+        if ($category =~ /^parser/) {
+          $parser_option_categories{$category} = 1;
+        } else {
           $converter_option_categories{$category} = 1;
         }
       }
@@ -104,7 +107,9 @@ open(CDEF, $converter_defaults_file)
   or die "open $converter_defaults_file: $!";
 
 my %converter_defaults;
+my %parser_options;
 my $format;
+my $in_parser_options;
 my $line = 1;
 while (<CDEF>) {
   if (not (/^ *#/ or /^ *$/)) {
@@ -113,6 +118,11 @@ while (<CDEF>) {
       if (!defined($converter_defaults{$format})) {
         $converter_defaults{$format} = [];
       }
+      if ($format =~ /parser/) {
+        $in_parser_options = 1;
+      } else {
+        $in_parser_options = 0;
+      }
     } elsif (defined($format)) {
       if (/^ *([A-Za-z][A-Za-z0-9_]*)( +(.*))?$/) {
         my $option = $1;
@@ -125,6 +135,9 @@ while (<CDEF>) {
           print STDERR "$converter_defaults_file: $line: unknown option 
$option\n";
         } else {
           push @{$converter_defaults{$format}}, [$option, $value];
+          if ($in_parser_options) {
+            $parser_options{$option} = 1;
+          }
         }
       }
     }
@@ -216,10 +229,20 @@ print CODE "void\ninitialize_options (OPTIONS 
*options)\n{\n";
 print CODE "  options->BIT_user_function_number = 0;\n";
 
 foreach my $category (sort(keys(%option_categories))) {
+  my $flags;
+  if ($parser_option_categories{$category}) {
+    $flags = 'OF_parser_option';
+  } else {
+    $flags = 0;
+  }
   print CODE "\n/* ${category} */\n\n";
   foreach my $option_info (@{$option_categories{$category}}) {
     my ($option, $value, $type) = @$option_info;
-    print CODE "  initialize_option (&options->$option, GOT_$type, 
\"$option\");\n";
+    my $option_flags = $flags;
+    if ($parser_options{$option}) {
+      $option_flags = 'OF_parser_option';
+    }
+    print CODE "  initialize_option (&options->$option, GOT_$type, 
\"$option\", $option_flags);\n";
   }
 }
 



reply via email to

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