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 17:56:18 -0500 (EST)

branch: master
commit 01f781148da7d78b802dd0fc062f49f662a0cd57
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Dec 8 11:27:14 2024 +0100

    * tp/maintain/regenerate_C_options_info.pl,
    tp/Texinfo/options_data.txt: add parser customization options.
    
    * tp/Texinfo/Convert/converters_defaults.txt (common_parser):
    setup common_parser options.
---
 ChangeLog                                  |   8 +
 tp/Texinfo/Convert/converters_defaults.txt |  28 +-
 tp/Texinfo/Options.pm                      |  20 ++
 tp/Texinfo/XS/convert/converters_options.c |  24 ++
 tp/Texinfo/XS/convert/converters_options.h |   4 +
 tp/Texinfo/XS/main/options_data.h          |  10 +-
 tp/Texinfo/XS/main/options_defaults.c      |  24 ++
 tp/Texinfo/XS/main/options_defaults.h      |   4 +
 tp/Texinfo/XS/main/options_init_free.c     | 435 ++++++++++++++++-------------
 tp/Texinfo/options_data.txt                |  12 +
 tp/maintain/regenerate_C_options_info.pl   |  13 +-
 11 files changed, 378 insertions(+), 204 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9e8738a218..94de9be65b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2024-12-08  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/maintain/regenerate_C_options_info.pl,
+       tp/Texinfo/options_data.txt: add parser customization options.
+
+       * tp/Texinfo/Convert/converters_defaults.txt (common_parser):
+       setup common_parser options.
+
 2024-12-07  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/convert/texinfo.c, tp/Texinfo/XS/teximakehtml.c
diff --git a/tp/Texinfo/Convert/converters_defaults.txt 
b/tp/Texinfo/Convert/converters_defaults.txt
index b435e50305..672256ffa0 100644
--- a/tp/Texinfo/Convert/converters_defaults.txt
+++ b/tp/Texinfo/Convert/converters_defaults.txt
@@ -15,9 +15,35 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# this information is used to setup converter options for both C and
+# this information is used to setup customization options for both C and
 # Perl.
 
+# for Texinfo::Parser
+# variables not specific of Parser, used in other contexts.  Spread over
+# the different categories set below.  The default values are in general
+# the same as elsewhere, but occasionally may be specific of the Parser.
+- common_parser
+
+# INCLUDE_DIRECTORIES [.]
+# EXPANDED_FORMATS    []
+# not 'en' as it is better to specify that there is no
+# need for translation since the strings are in english
+# rather than ask for translations to en
+documentlanguage           undef
+# if >= 10, tree is printed in texi2any.pl after parsing.
+# If >= 100 tree is printed every line.
+DEBUG                      0
+# if not 'menu' no menu error related.
+FORMAT_MENU                menu
+# use document encoding for input file names encoding if set
+DOC_ENCODING_FOR_INPUT_FILE_NAME   1
+# encoding of command line strings used to decode file names for error messages
+COMMAND_LINE_ENCODING      undef
+# used for input file name encoding
+INPUT_FILE_NAME_ENCODING   undef
+# used for file name encoding
+LOCALE_ENCODING            undef
+
 # for Texinfo::Convert::Converter
 - converter
 
diff --git a/tp/Texinfo/Options.pm b/tp/Texinfo/Options.pm
index 2543dda37d..d478b40d3f 100644
--- a/tp/Texinfo/Options.pm
+++ b/tp/Texinfo/Options.pm
@@ -210,6 +210,14 @@ our %multiple_at_command_options = (
   'xrefautomaticsectiontitle'        => 'off',
 );
 
+our %parser_options = (
+  'IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME' => 1,
+  'CPP_LINE_DIRECTIVES'              => 1,
+  'MAX_MACRO_CALL_NESTING'           => 100000,
+  'NO_INDEX'                         => 0,
+  'NO_USER_COMMANDS'                 => 0,
+);
+
 our %program_cmdline_options = (
   'MACRO_EXPAND'                     => undef,
   'INTERNAL_LINKS'                   => undef,
@@ -271,6 +279,18 @@ my %converter_common_regular_options_defaults = (
 
 $regular_options_types{'common'} = \%converter_common_regular_options_defaults;
 
+my %converter_common_parser_regular_options_defaults = (
+  'documentlanguage'                 => undef,
+  'DEBUG'                            => 0,
+  'FORMAT_MENU'                      => 'menu',
+  'DOC_ENCODING_FOR_INPUT_FILE_NAME' => 1,
+  'COMMAND_LINE_ENCODING'            => undef,
+  'INPUT_FILE_NAME_ENCODING'         => undef,
+  'LOCALE_ENCODING'                  => undef,
+);
+
+$regular_options_types{'common_parser'} = 
\%converter_common_parser_regular_options_defaults;
+
 my %converter_converter_regular_options_defaults = (
   'documentlanguage'                 => undef,
 );
diff --git a/tp/Texinfo/XS/convert/converters_options.c 
b/tp/Texinfo/XS/convert/converters_options.c
index 5294551b56..1803054727 100644
--- a/tp/Texinfo/XS/convert/converters_options.c
+++ b/tp/Texinfo/XS/convert/converters_options.c
@@ -34,6 +34,30 @@ add_common_regular_options_defaults (OPTIONS_LIST 
*options_list)
   add_option_value (options_list, "PROGRAM", -2, "");
 }
 
+void
+set_common_parser_regular_options_defaults (OPTIONS *options)
+{
+  option_set_conf (&options->documentlanguage, -2, 0);
+  option_set_conf (&options->DEBUG, 0, 0);
+  option_set_conf (&options->FORMAT_MENU, -2, "menu");
+  option_set_conf (&options->DOC_ENCODING_FOR_INPUT_FILE_NAME, 1, 0);
+  option_set_conf (&options->COMMAND_LINE_ENCODING, -2, 0);
+  option_set_conf (&options->INPUT_FILE_NAME_ENCODING, -2, 0);
+  option_set_conf (&options->LOCALE_ENCODING, -2, 0);
+}
+
+void
+add_common_parser_regular_options_defaults (OPTIONS_LIST *options_list)
+{
+  add_option_value (options_list, "documentlanguage", -2, 0);
+  add_option_value (options_list, "DEBUG", 0, 0);
+  add_option_value (options_list, "FORMAT_MENU", -2, "menu");
+  add_option_value (options_list, "DOC_ENCODING_FOR_INPUT_FILE_NAME", 1, 0);
+  add_option_value (options_list, "COMMAND_LINE_ENCODING", -2, 0);
+  add_option_value (options_list, "INPUT_FILE_NAME_ENCODING", -2, 0);
+  add_option_value (options_list, "LOCALE_ENCODING", -2, 0);
+}
+
 void
 set_converter_regular_options_defaults (OPTIONS *options)
 {
diff --git a/tp/Texinfo/XS/convert/converters_options.h 
b/tp/Texinfo/XS/convert/converters_options.h
index 0f68ae91d8..40ab470dbc 100644
--- a/tp/Texinfo/XS/convert/converters_options.h
+++ b/tp/Texinfo/XS/convert/converters_options.h
@@ -19,6 +19,10 @@ void set_common_regular_options_defaults (OPTIONS *options);
 
 void add_common_regular_options_defaults (OPTIONS_LIST *options_list);
 
+void set_common_parser_regular_options_defaults (OPTIONS *options);
+
+void add_common_parser_regular_options_defaults (OPTIONS_LIST *options_list);
+
 void set_converter_regular_options_defaults (OPTIONS *options);
 
 void add_converter_regular_options_defaults (OPTIONS_LIST *options_list);
diff --git a/tp/Texinfo/XS/main/options_data.h 
b/tp/Texinfo/XS/main/options_data.h
index a9fd1a63ea..f61f5bc019 100644
--- a/tp/Texinfo/XS/main/options_data.h
+++ b/tp/Texinfo/XS/main/options_data.h
@@ -14,7 +14,7 @@
 #undef PACKAGE_URL
 #undef PACKAGE_VERSION
 
-#define TXI_OPTIONS_NR 228
+#define TXI_OPTIONS_NR 233
 
 typedef struct OPTIONS {
     size_t BIT_user_function_number;
@@ -227,6 +227,14 @@ typedef struct OPTIONS {
     OPTION urefbreakstyle;
     OPTION xrefautomaticsectiontitle;
 
+/* parser */
+
+    OPTION IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME;
+    OPTION CPP_LINE_DIRECTIVES;
+    OPTION MAX_MACRO_CALL_NESTING;
+    OPTION NO_INDEX;
+    OPTION NO_USER_COMMANDS;
+
 /* program_cmdline */
 
     OPTION MACRO_EXPAND;
diff --git a/tp/Texinfo/XS/main/options_defaults.c 
b/tp/Texinfo/XS/main/options_defaults.c
index 5b496ded22..8a0947b791 100644
--- a/tp/Texinfo/XS/main/options_defaults.c
+++ b/tp/Texinfo/XS/main/options_defaults.c
@@ -495,6 +495,29 @@ add_multiple_at_command_options_defaults (OPTIONS_LIST 
*options_list)
 }
 
 
+/* parser */
+
+void
+set_parser_options_defaults (OPTIONS *options)
+{
+  option_set_conf (&options->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME, 1, 0);
+  option_set_conf (&options->CPP_LINE_DIRECTIVES, 1, 0);
+  option_set_conf (&options->MAX_MACRO_CALL_NESTING, 100000, 0);
+  option_set_conf (&options->NO_INDEX, 0, 0);
+  option_set_conf (&options->NO_USER_COMMANDS, 0, 0);
+}
+
+void
+add_parser_options_defaults (OPTIONS_LIST *options_list)
+{
+  add_option_value (options_list, "IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME", 1, 
0);
+  add_option_value (options_list, "CPP_LINE_DIRECTIVES", 1, 0);
+  add_option_value (options_list, "MAX_MACRO_CALL_NESTING", 100000, 0);
+  add_option_value (options_list, "NO_INDEX", 0, 0);
+  add_option_value (options_list, "NO_USER_COMMANDS", 0, 0);
+}
+
+
 /* program_cmdline */
 
 void
@@ -611,6 +634,7 @@ set_all_options_defaults (OPTIONS *options)
   set_converter_customization_options_defaults (options);
   set_converter_other_options_defaults (options);
   set_multiple_at_command_options_defaults (options);
+  set_parser_options_defaults (options);
   set_program_cmdline_options_defaults (options);
   set_program_customization_options_defaults (options);
   set_unique_at_command_options_defaults (options);
diff --git a/tp/Texinfo/XS/main/options_defaults.h 
b/tp/Texinfo/XS/main/options_defaults.h
index bad5644f1e..32c38db76c 100644
--- a/tp/Texinfo/XS/main/options_defaults.h
+++ b/tp/Texinfo/XS/main/options_defaults.h
@@ -35,6 +35,10 @@ void set_multiple_at_command_options_defaults (OPTIONS 
*options);
 
 void add_multiple_at_command_options_defaults (OPTIONS_LIST *options_list);
 
+void set_parser_options_defaults (OPTIONS *options);
+
+void add_parser_options_defaults (OPTIONS_LIST *options_list);
+
 void set_program_cmdline_options_defaults (OPTIONS *options);
 
 void add_program_cmdline_options_defaults (OPTIONS_LIST *options_list);
diff --git a/tp/Texinfo/XS/main/options_init_free.c 
b/tp/Texinfo/XS/main/options_init_free.c
index 7ccbc11561..f56c2c7c7e 100644
--- a/tp/Texinfo/XS/main/options_init_free.c
+++ b/tp/Texinfo/XS/main/options_init_free.c
@@ -224,6 +224,14 @@ initialize_options (OPTIONS *options)
   initialize_option (&options->urefbreakstyle, GOT_char, "urefbreakstyle");
   initialize_option (&options->xrefautomaticsectiontitle, GOT_char, 
"xrefautomaticsectiontitle");
 
+/* 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");
+
 /* program_cmdline */
 
   initialize_option (&options->MACRO_EXPAND, GOT_bytes, "MACRO_EXPAND");
@@ -481,6 +489,14 @@ free_options (OPTIONS *options)
   free_option (&options->urefbreakstyle);
   free_option (&options->xrefautomaticsectiontitle);
 
+/* parser */
+
+  free_option (&options->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME);
+  free_option (&options->CPP_LINE_DIRECTIVES);
+  free_option (&options->MAX_MACRO_CALL_NESTING);
+  free_option (&options->NO_INDEX);
+  free_option (&options->NO_USER_COMMANDS);
+
 /* program_cmdline */
 
   free_option (&options->MACRO_EXPAND);
@@ -739,6 +755,14 @@ clear_options (OPTIONS *options)
   clear_option (&options->urefbreakstyle);
   clear_option (&options->xrefautomaticsectiontitle);
 
+/* parser */
+
+  clear_option (&options->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME);
+  clear_option (&options->CPP_LINE_DIRECTIVES);
+  clear_option (&options->MAX_MACRO_CALL_NESTING);
+  clear_option (&options->NO_INDEX);
+  clear_option (&options->NO_USER_COMMANDS);
+
 /* program_cmdline */
 
   clear_option (&options->MACRO_EXPAND);
@@ -997,6 +1021,14 @@ copy_options (OPTIONS *destination, const OPTIONS *source)
   copy_option (&destination->urefbreakstyle, &source->urefbreakstyle);
   copy_option (&destination->xrefautomaticsectiontitle, 
&source->xrefautomaticsectiontitle);
 
+/* parser */
+
+  copy_option (&destination->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME, 
&source->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME);
+  copy_option (&destination->CPP_LINE_DIRECTIVES, 
&source->CPP_LINE_DIRECTIVES);
+  copy_option (&destination->MAX_MACRO_CALL_NESTING, 
&source->MAX_MACRO_CALL_NESTING);
+  copy_option (&destination->NO_INDEX, &source->NO_INDEX);
+  copy_option (&destination->NO_USER_COMMANDS, &source->NO_USER_COMMANDS);
+
 /* program_cmdline */
 
   copy_option (&destination->MACRO_EXPAND, &source->MACRO_EXPAND);
@@ -1074,205 +1106,210 @@ setup_sortable_options (OPTION **to_sort, OPTIONS 
*options)
   to_sort[26] = &options->CONTENTS_OUTPUT_LOCATION;   /* 
converter_customization */
   to_sort[27] = &options->CONVERT_TO_LATEX_IN_MATH;   /* 
converter_customization */
   to_sort[28] = &options->COPIABLE_LINKS;   /* converter_customization */
-  to_sort[29] = &options->CSS_FILES;   /* array_cmdline */
-  to_sort[30] = &options->CSS_REFS;   /* array_cmdline */
-  to_sort[31] = &options->DATE_IN_HEADER;   /* converter_customization */
-  to_sort[32] = &options->DEBUG;   /* converter_customization */
-  to_sort[33] = &options->DEFAULT_RULE;   /* converter_customization */
-  to_sort[34] = &options->DEF_TABLE;   /* converter_customization */
-  to_sort[35] = &options->DOCTYPE;   /* converter_customization */
-  to_sort[36] = &options->DOCUMENTLANGUAGE_COLLATION;   /* 
converter_customization */
-  to_sort[37] = &options->DOC_ENCODING_FOR_INPUT_FILE_NAME;   /* 
converter_customization */
-  to_sort[38] = &options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME;   /* 
converter_customization */
-  to_sort[39] = &options->DO_ABOUT;   /* converter_customization */
-  to_sort[40] = &options->DUMP_TEXI;   /* program_customization */
-  to_sort[41] = &options->DUMP_TREE;   /* program_customization */
-  to_sort[42] = &options->ENABLE_ENCODING;   /* converter_cmdline */
-  to_sort[43] = &options->END_USEPACKAGE;   /* converter_customization */
-  to_sort[44] = &options->EPUB_CREATE_CONTAINER_FILE;   /* 
converter_customization */
-  to_sort[45] = &options->EPUB_KEEP_CONTAINER_FOLDER;   /* 
converter_customization */
-  to_sort[46] = &options->ERROR_LIMIT;   /* program_cmdline */
-  to_sort[47] = &options->EXPANDED_FORMATS;   /* array_cmdline */
-  to_sort[48] = &options->EXTENSION;   /* converter_customization */
-  to_sort[49] = &options->EXTERNAL_CROSSREF_EXTENSION;   /* 
converter_customization */
-  to_sort[50] = &options->EXTERNAL_CROSSREF_SPLIT;   /* 
converter_customization */
-  to_sort[51] = &options->EXTERNAL_DIR;   /* converter_customization */
-  to_sort[52] = &options->EXTRA_HEAD;   /* converter_customization */
-  to_sort[53] = &options->FILLCOLUMN;   /* converter_cmdline */
-  to_sort[54] = &options->FOOTNOTE_END_HEADER_LEVEL;   /* 
converter_customization */
-  to_sort[55] = &options->FOOTNOTE_SEPARATE_HEADER_LEVEL;   /* 
converter_customization */
-  to_sort[56] = &options->FORCE;   /* program_cmdline */
-  to_sort[57] = &options->FORMAT_MENU;   /* program_cmdline */
-  to_sort[58] = &options->HANDLER_FATAL_ERROR_LEVEL;   /* 
converter_customization */
-  to_sort[59] = &options->HEADERS;   /* converter_cmdline */
-  to_sort[60] = &options->HEADER_IN_TABLE;   /* converter_customization */
-  to_sort[61] = &options->HIGHLIGHT_SYNTAX;   /* converter_customization */
-  to_sort[62] = &options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE;   /* 
converter_customization */
-  to_sort[63] = &options->HTMLXREF_FILE;   /* converter_customization */
-  to_sort[64] = &options->HTMLXREF_MODE;   /* converter_customization */
-  to_sort[65] = &options->HTML_MATH;   /* converter_customization */
-  to_sort[66] = &options->HTML_ROOT_ELEMENT_ATTRIBUTES;   /* 
converter_customization */
-  to_sort[67] = &options->ICONS;   /* converter_customization */
-  to_sort[68] = &options->IGNORE_REF_TO_TOP_NODE_UP;   /* 
converter_customization */
-  to_sort[69] = &options->IMAGE_LINK_PREFIX;   /* converter_customization */
-  to_sort[70] = &options->INCLUDE_DIRECTORIES;   /* array_cmdline */
-  to_sort[71] = &options->INDENTED_BLOCK_COMMANDS_IN_TABLE;   /* 
converter_customization */
-  to_sort[72] = &options->INDEX_ENTRY_COLON;   /* converter_customization */
-  to_sort[73] = &options->INDEX_SPECIAL_CHARS_WARNING;   /* 
converter_customization */
-  to_sort[74] = &options->INFO_JS_DIR;   /* converter_customization */
-  to_sort[75] = &options->INFO_SPECIAL_CHARS_QUOTE;   /* 
converter_customization */
-  to_sort[76] = &options->INFO_SPECIAL_CHARS_WARNING;   /* 
converter_customization */
-  to_sort[77] = &options->INLINE_CSS_STYLE;   /* converter_customization */
-  to_sort[78] = &options->INPUT_FILE_NAME_ENCODING;   /* 
converter_customization */
-  to_sort[79] = &options->INTERNAL_LINKS;   /* program_cmdline */
-  to_sort[80] = &options->JS_WEBLABELS;   /* converter_customization */
-  to_sort[81] = &options->JS_WEBLABELS_FILE;   /* converter_customization */
-  to_sort[82] = &options->L2H_CLEAN;   /* converter_customization */
-  to_sort[83] = &options->L2H_FILE;   /* converter_customization */
-  to_sort[84] = &options->L2H_HTML_VERSION;   /* converter_customization */
-  to_sort[85] = &options->L2H_L2H;   /* converter_customization */
-  to_sort[86] = &options->L2H_SKIP;   /* converter_customization */
-  to_sort[87] = &options->L2H_TMP;   /* converter_customization */
-  to_sort[88] = &options->LATEX_FLOATS_FILE_EXTENSION;   /* 
converter_customization */
-  to_sort[89] = &options->LINKS_BUTTONS;   /* converter_other */
-  to_sort[90] = &options->LOCALE_ENCODING;   /* converter_customization */
-  to_sort[91] = &options->MACRO_EXPAND;   /* program_cmdline */
-  to_sort[92] = &options->MATHJAX_CONFIGURATION;   /* converter_customization 
*/
-  to_sort[93] = &options->MATHJAX_SCRIPT;   /* converter_customization */
-  to_sort[94] = &options->MATHJAX_SOURCE;   /* converter_customization */
-  to_sort[95] = &options->MAX_HEADER_LEVEL;   /* converter_customization */
-  to_sort[96] = &options->MENU_ENTRY_COLON;   /* converter_customization */
-  to_sort[97] = &options->MENU_SYMBOL;   /* converter_customization */
-  to_sort[98] = &options->MESSAGE_ENCODING;   /* converter_customization */
-  to_sort[99] = &options->MISC_BUTTONS;   /* converter_other */
-  to_sort[100] = &options->MONOLITHIC;   /* converter_customization */
-  to_sort[101] = &options->NODE_FILES;   /* converter_cmdline */
-  to_sort[102] = &options->NODE_FOOTER_BUTTONS;   /* converter_other */
-  to_sort[103] = &options->NODE_NAME_IN_INDEX;   /* converter_customization */
-  to_sort[104] = &options->NODE_NAME_IN_MENU;   /* converter_customization */
-  to_sort[105] = &options->NO_CSS;   /* converter_customization */
-  to_sort[106] = &options->NO_CUSTOM_HTML_ATTRIBUTE;   /* 
converter_customization */
-  to_sort[107] = &options->NO_NUMBER_FOOTNOTE_SYMBOL;   /* 
converter_customization */
-  to_sort[108] = &options->NO_TOP_NODE_OUTPUT;   /* converter_customization */
-  to_sort[109] = &options->NO_WARN;   /* program_cmdline */
-  to_sort[110] = &options->NUMBER_FOOTNOTES;   /* converter_cmdline */
-  to_sort[111] = &options->NUMBER_SECTIONS;   /* converter_cmdline */
-  to_sort[112] = &options->OPEN_DOUBLE_QUOTE_SYMBOL;   /* 
converter_customization */
-  to_sort[113] = &options->OPEN_QUOTE_SYMBOL;   /* converter_customization */
-  to_sort[114] = &options->OUTFILE;   /* converter_cmdline */
-  to_sort[115] = &options->OUTPUT_CHARACTERS;   /* converter_customization */
-  to_sort[116] = &options->OUTPUT_ENCODING_NAME;   /* converter_customization 
*/
-  to_sort[117] = &options->OUTPUT_FILE_NAME_ENCODING;   /* 
converter_customization */
-  to_sort[118] = &options->OUTPUT_PERL_ENCODING;   /* converter_customization 
*/
-  to_sort[119] = &options->PACKAGE;   /* converter_customization */
-  to_sort[120] = &options->PACKAGE_AND_VERSION;   /* converter_customization */
-  to_sort[121] = &options->PACKAGE_NAME;   /* converter_customization */
-  to_sort[122] = &options->PACKAGE_URL;   /* converter_customization */
-  to_sort[123] = &options->PACKAGE_VERSION;   /* converter_customization */
-  to_sort[124] = &options->PASSIVE_ICONS;   /* converter_other */
-  to_sort[125] = &options->PREFIX;   /* converter_customization */
-  to_sort[126] = &options->PRE_BODY_CLOSE;   /* converter_customization */
-  to_sort[127] = &options->PROGRAM;   /* converter_customization */
-  to_sort[128] = &options->PROGRAM_NAME_IN_ABOUT;   /* converter_customization 
*/
-  to_sort[129] = &options->PROGRAM_NAME_IN_FOOTER;   /* 
converter_customization */
-  to_sort[130] = &options->SECTION_BUTTONS;   /* converter_other */
-  to_sort[131] = &options->SECTION_FOOTER_BUTTONS;   /* converter_other */
-  to_sort[132] = &options->SECTION_NAME_IN_TITLE;   /* converter_customization 
*/
-  to_sort[133] = &options->SHORT_TOC_LINK_TO_TOC;   /* converter_customization 
*/
-  to_sort[134] = &options->SHOW_BUILTIN_CSS_RULES;   /* program_customization 
*/
-  to_sort[135] = &options->SHOW_TITLE;   /* converter_customization */
-  to_sort[136] = &options->SORT_ELEMENT_COUNT;   /* program_customization */
-  to_sort[137] = &options->SORT_ELEMENT_COUNT_WORDS;   /* 
program_customization */
-  to_sort[138] = &options->SPLIT;   /* converter_cmdline */
-  to_sort[139] = &options->SPLIT_SIZE;   /* converter_cmdline */
-  to_sort[140] = &options->SUBDIR;   /* converter_cmdline */
-  to_sort[141] = &options->T4H_LATEX_CONVERSION;   /* converter_customization 
*/
-  to_sort[142] = &options->T4H_MATH_CONVERSION;   /* converter_customization */
-  to_sort[143] = &options->T4H_TEX_CONVERSION;   /* converter_customization */
-  to_sort[144] = &options->TEST;   /* converter_customization */
-  to_sort[145] = &options->TEXI2DVI;   /* program_customization */
-  to_sort[146] = &options->TEXI2HTML;   /* converter_customization */
-  to_sort[147] = &options->TEXINFO_DTD_VERSION;   /* converter_customization */
-  to_sort[148] = &options->TEXINFO_LANGUAGE_DIRECTORIES;   /* array_cmdline */
-  to_sort[149] = &options->TEXINFO_OUTPUT_FORMAT;   /* converter_customization 
*/
-  to_sort[150] = &options->TEXTCONTENT_COMMENT;   /* converter_customization */
-  to_sort[151] = &options->TOC_LINKS;   /* converter_customization */
-  to_sort[152] = &options->TOP_BUTTONS;   /* converter_other */
-  to_sort[153] = &options->TOP_FILE;   /* converter_customization */
-  to_sort[154] = &options->TOP_FOOTER_BUTTONS;   /* converter_other */
-  to_sort[155] = &options->TOP_NODE_FILE_TARGET;   /* converter_customization 
*/
-  to_sort[156] = &options->TOP_NODE_UP;   /* converter_customization */
-  to_sort[157] = &options->TOP_NODE_UP_URL;   /* converter_customization */
-  to_sort[158] = &options->TRACE_INCLUDES;   /* program_cmdline */
-  to_sort[159] = &options->TRANSLITERATE_FILE_NAMES;   /* converter_cmdline */
-  to_sort[160] = &options->TREE_TRANSFORMATIONS;   /* program_customization */
-  to_sort[161] = &options->TXI_MARKUP_NO_SECTION_EXTENT;   /* 
converter_customization */
-  to_sort[162] = &options->USE_ACCESSKEY;   /* converter_customization */
-  to_sort[163] = &options->USE_ISO;   /* converter_customization */
-  to_sort[164] = &options->USE_LINKS;   /* converter_customization */
-  to_sort[165] = &options->USE_NEXT_HEADING_FOR_LONE_NODE;   /* 
converter_customization */
-  to_sort[166] = &options->USE_NODES;   /* converter_customization */
-  to_sort[167] = &options->USE_NODE_DIRECTIONS;   /* converter_customization */
-  to_sort[168] = &options->USE_NUMERIC_ENTITY;   /* converter_customization */
-  to_sort[169] = &options->USE_REL_REV;   /* converter_customization */
-  to_sort[170] = &options->USE_SETFILENAME_EXTENSION;   /* 
converter_customization */
-  to_sort[171] = &options->USE_TITLEPAGE_FOR_TITLE;   /* 
converter_customization */
-  to_sort[172] = &options->USE_UNICODE_COLLATION;   /* converter_customization 
*/
-  to_sort[173] = &options->USE_UNIDECODE;   /* converter_customization */
-  to_sort[174] = &options->USE_XML_SYNTAX;   /* converter_customization */
-  to_sort[175] = &options->VERBOSE;   /* converter_cmdline */
-  to_sort[176] = &options->VERTICAL_HEAD_NAVIGATION;   /* 
converter_customization */
-  to_sort[177] = &options->WORDS_IN_PAGE;   /* converter_customization */
-  to_sort[178] = &options->XREF_USE_FLOAT_LABEL;   /* converter_customization 
*/
-  to_sort[179] = &options->XREF_USE_NODE_NAME_ARG;   /* 
converter_customization */
-  to_sort[180] = &options->XS_EXTERNAL_CONVERSION;   /* 
converter_customization */
-  to_sort[181] = &options->XS_EXTERNAL_FORMATTING;   /* 
converter_customization */
-  to_sort[182] = &options->XS_STRXFRM_COLLATION_LOCALE;   /* 
converter_customization */
-  to_sort[183] = &options->_INLINE_STYLE_WIDTH;   /* converter_customization */
-  to_sort[184] = &options->afivepaper;   /* unique_at_command */
-  to_sort[185] = &options->afourlatex;   /* unique_at_command */
-  to_sort[186] = &options->afourpaper;   /* unique_at_command */
-  to_sort[187] = &options->afourwide;   /* unique_at_command */
-  to_sort[188] = &options->allowcodebreaks;   /* multiple_at_command */
-  to_sort[189] = &options->bsixpaper;   /* unique_at_command */
-  to_sort[190] = &options->clickstyle;   /* multiple_at_command */
-  to_sort[191] = &options->codequotebacktick;   /* multiple_at_command */
-  to_sort[192] = &options->codequoteundirected;   /* multiple_at_command */
-  to_sort[193] = &options->contents;   /* multiple_at_command */
-  to_sort[194] = &options->deftypefnnewline;   /* multiple_at_command */
-  to_sort[195] = &options->documentdescription;   /* unique_at_command */
-  to_sort[196] = &options->documentencoding;   /* multiple_at_command */
-  to_sort[197] = &options->documentlanguage;   /* multiple_at_command */
-  to_sort[198] = &options->evenfooting;   /* multiple_at_command */
-  to_sort[199] = &options->evenfootingmarks;   /* unique_at_command */
-  to_sort[200] = &options->evenheading;   /* multiple_at_command */
-  to_sort[201] = &options->evenheadingmarks;   /* unique_at_command */
-  to_sort[202] = &options->everyfooting;   /* multiple_at_command */
-  to_sort[203] = &options->everyfootingmarks;   /* unique_at_command */
-  to_sort[204] = &options->everyheading;   /* multiple_at_command */
-  to_sort[205] = &options->everyheadingmarks;   /* unique_at_command */
-  to_sort[206] = &options->exampleindent;   /* multiple_at_command */
-  to_sort[207] = &options->firstparagraphindent;   /* multiple_at_command */
-  to_sort[208] = &options->fonttextsize;   /* unique_at_command */
-  to_sort[209] = &options->footnotestyle;   /* unique_at_command */
-  to_sort[210] = &options->frenchspacing;   /* multiple_at_command */
-  to_sort[211] = &options->headings;   /* multiple_at_command */
-  to_sort[212] = &options->kbdinputstyle;   /* multiple_at_command */
-  to_sort[213] = &options->microtype;   /* multiple_at_command */
-  to_sort[214] = &options->novalidate;   /* unique_at_command */
-  to_sort[215] = &options->oddfooting;   /* multiple_at_command */
-  to_sort[216] = &options->oddfootingmarks;   /* unique_at_command */
-  to_sort[217] = &options->oddheading;   /* multiple_at_command */
-  to_sort[218] = &options->oddheadingmarks;   /* unique_at_command */
-  to_sort[219] = &options->pagesizes;   /* unique_at_command */
-  to_sort[220] = &options->paragraphindent;   /* multiple_at_command */
-  to_sort[221] = &options->setchapternewpage;   /* unique_at_command */
-  to_sort[222] = &options->setfilename;   /* unique_at_command */
-  to_sort[223] = &options->shortcontents;   /* multiple_at_command */
-  to_sort[224] = &options->smallbook;   /* unique_at_command */
-  to_sort[225] = &options->summarycontents;   /* multiple_at_command */
-  to_sort[226] = &options->urefbreakstyle;   /* multiple_at_command */
-  to_sort[227] = &options->xrefautomaticsectiontitle;   /* multiple_at_command 
*/
+  to_sort[29] = &options->CPP_LINE_DIRECTIVES;   /* parser */
+  to_sort[30] = &options->CSS_FILES;   /* array_cmdline */
+  to_sort[31] = &options->CSS_REFS;   /* array_cmdline */
+  to_sort[32] = &options->DATE_IN_HEADER;   /* converter_customization */
+  to_sort[33] = &options->DEBUG;   /* converter_customization */
+  to_sort[34] = &options->DEFAULT_RULE;   /* converter_customization */
+  to_sort[35] = &options->DEF_TABLE;   /* converter_customization */
+  to_sort[36] = &options->DOCTYPE;   /* converter_customization */
+  to_sort[37] = &options->DOCUMENTLANGUAGE_COLLATION;   /* 
converter_customization */
+  to_sort[38] = &options->DOC_ENCODING_FOR_INPUT_FILE_NAME;   /* 
converter_customization */
+  to_sort[39] = &options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME;   /* 
converter_customization */
+  to_sort[40] = &options->DO_ABOUT;   /* converter_customization */
+  to_sort[41] = &options->DUMP_TEXI;   /* program_customization */
+  to_sort[42] = &options->DUMP_TREE;   /* program_customization */
+  to_sort[43] = &options->ENABLE_ENCODING;   /* converter_cmdline */
+  to_sort[44] = &options->END_USEPACKAGE;   /* converter_customization */
+  to_sort[45] = &options->EPUB_CREATE_CONTAINER_FILE;   /* 
converter_customization */
+  to_sort[46] = &options->EPUB_KEEP_CONTAINER_FOLDER;   /* 
converter_customization */
+  to_sort[47] = &options->ERROR_LIMIT;   /* program_cmdline */
+  to_sort[48] = &options->EXPANDED_FORMATS;   /* array_cmdline */
+  to_sort[49] = &options->EXTENSION;   /* converter_customization */
+  to_sort[50] = &options->EXTERNAL_CROSSREF_EXTENSION;   /* 
converter_customization */
+  to_sort[51] = &options->EXTERNAL_CROSSREF_SPLIT;   /* 
converter_customization */
+  to_sort[52] = &options->EXTERNAL_DIR;   /* converter_customization */
+  to_sort[53] = &options->EXTRA_HEAD;   /* converter_customization */
+  to_sort[54] = &options->FILLCOLUMN;   /* converter_cmdline */
+  to_sort[55] = &options->FOOTNOTE_END_HEADER_LEVEL;   /* 
converter_customization */
+  to_sort[56] = &options->FOOTNOTE_SEPARATE_HEADER_LEVEL;   /* 
converter_customization */
+  to_sort[57] = &options->FORCE;   /* program_cmdline */
+  to_sort[58] = &options->FORMAT_MENU;   /* program_cmdline */
+  to_sort[59] = &options->HANDLER_FATAL_ERROR_LEVEL;   /* 
converter_customization */
+  to_sort[60] = &options->HEADERS;   /* converter_cmdline */
+  to_sort[61] = &options->HEADER_IN_TABLE;   /* converter_customization */
+  to_sort[62] = &options->HIGHLIGHT_SYNTAX;   /* converter_customization */
+  to_sort[63] = &options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE;   /* 
converter_customization */
+  to_sort[64] = &options->HTMLXREF_FILE;   /* converter_customization */
+  to_sort[65] = &options->HTMLXREF_MODE;   /* converter_customization */
+  to_sort[66] = &options->HTML_MATH;   /* converter_customization */
+  to_sort[67] = &options->HTML_ROOT_ELEMENT_ATTRIBUTES;   /* 
converter_customization */
+  to_sort[68] = &options->ICONS;   /* converter_customization */
+  to_sort[69] = &options->IGNORE_REF_TO_TOP_NODE_UP;   /* 
converter_customization */
+  to_sort[70] = &options->IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME;   /* parser 
*/
+  to_sort[71] = &options->IMAGE_LINK_PREFIX;   /* converter_customization */
+  to_sort[72] = &options->INCLUDE_DIRECTORIES;   /* array_cmdline */
+  to_sort[73] = &options->INDENTED_BLOCK_COMMANDS_IN_TABLE;   /* 
converter_customization */
+  to_sort[74] = &options->INDEX_ENTRY_COLON;   /* converter_customization */
+  to_sort[75] = &options->INDEX_SPECIAL_CHARS_WARNING;   /* 
converter_customization */
+  to_sort[76] = &options->INFO_JS_DIR;   /* converter_customization */
+  to_sort[77] = &options->INFO_SPECIAL_CHARS_QUOTE;   /* 
converter_customization */
+  to_sort[78] = &options->INFO_SPECIAL_CHARS_WARNING;   /* 
converter_customization */
+  to_sort[79] = &options->INLINE_CSS_STYLE;   /* converter_customization */
+  to_sort[80] = &options->INPUT_FILE_NAME_ENCODING;   /* 
converter_customization */
+  to_sort[81] = &options->INTERNAL_LINKS;   /* program_cmdline */
+  to_sort[82] = &options->JS_WEBLABELS;   /* converter_customization */
+  to_sort[83] = &options->JS_WEBLABELS_FILE;   /* converter_customization */
+  to_sort[84] = &options->L2H_CLEAN;   /* converter_customization */
+  to_sort[85] = &options->L2H_FILE;   /* converter_customization */
+  to_sort[86] = &options->L2H_HTML_VERSION;   /* converter_customization */
+  to_sort[87] = &options->L2H_L2H;   /* converter_customization */
+  to_sort[88] = &options->L2H_SKIP;   /* converter_customization */
+  to_sort[89] = &options->L2H_TMP;   /* converter_customization */
+  to_sort[90] = &options->LATEX_FLOATS_FILE_EXTENSION;   /* 
converter_customization */
+  to_sort[91] = &options->LINKS_BUTTONS;   /* converter_other */
+  to_sort[92] = &options->LOCALE_ENCODING;   /* converter_customization */
+  to_sort[93] = &options->MACRO_EXPAND;   /* program_cmdline */
+  to_sort[94] = &options->MATHJAX_CONFIGURATION;   /* converter_customization 
*/
+  to_sort[95] = &options->MATHJAX_SCRIPT;   /* converter_customization */
+  to_sort[96] = &options->MATHJAX_SOURCE;   /* converter_customization */
+  to_sort[97] = &options->MAX_HEADER_LEVEL;   /* converter_customization */
+  to_sort[98] = &options->MAX_MACRO_CALL_NESTING;   /* parser */
+  to_sort[99] = &options->MENU_ENTRY_COLON;   /* converter_customization */
+  to_sort[100] = &options->MENU_SYMBOL;   /* converter_customization */
+  to_sort[101] = &options->MESSAGE_ENCODING;   /* converter_customization */
+  to_sort[102] = &options->MISC_BUTTONS;   /* converter_other */
+  to_sort[103] = &options->MONOLITHIC;   /* converter_customization */
+  to_sort[104] = &options->NODE_FILES;   /* converter_cmdline */
+  to_sort[105] = &options->NODE_FOOTER_BUTTONS;   /* converter_other */
+  to_sort[106] = &options->NODE_NAME_IN_INDEX;   /* converter_customization */
+  to_sort[107] = &options->NODE_NAME_IN_MENU;   /* converter_customization */
+  to_sort[108] = &options->NO_CSS;   /* converter_customization */
+  to_sort[109] = &options->NO_CUSTOM_HTML_ATTRIBUTE;   /* 
converter_customization */
+  to_sort[110] = &options->NO_INDEX;   /* parser */
+  to_sort[111] = &options->NO_NUMBER_FOOTNOTE_SYMBOL;   /* 
converter_customization */
+  to_sort[112] = &options->NO_TOP_NODE_OUTPUT;   /* converter_customization */
+  to_sort[113] = &options->NO_USER_COMMANDS;   /* parser */
+  to_sort[114] = &options->NO_WARN;   /* program_cmdline */
+  to_sort[115] = &options->NUMBER_FOOTNOTES;   /* converter_cmdline */
+  to_sort[116] = &options->NUMBER_SECTIONS;   /* converter_cmdline */
+  to_sort[117] = &options->OPEN_DOUBLE_QUOTE_SYMBOL;   /* 
converter_customization */
+  to_sort[118] = &options->OPEN_QUOTE_SYMBOL;   /* converter_customization */
+  to_sort[119] = &options->OUTFILE;   /* converter_cmdline */
+  to_sort[120] = &options->OUTPUT_CHARACTERS;   /* converter_customization */
+  to_sort[121] = &options->OUTPUT_ENCODING_NAME;   /* converter_customization 
*/
+  to_sort[122] = &options->OUTPUT_FILE_NAME_ENCODING;   /* 
converter_customization */
+  to_sort[123] = &options->OUTPUT_PERL_ENCODING;   /* converter_customization 
*/
+  to_sort[124] = &options->PACKAGE;   /* converter_customization */
+  to_sort[125] = &options->PACKAGE_AND_VERSION;   /* converter_customization */
+  to_sort[126] = &options->PACKAGE_NAME;   /* converter_customization */
+  to_sort[127] = &options->PACKAGE_URL;   /* converter_customization */
+  to_sort[128] = &options->PACKAGE_VERSION;   /* converter_customization */
+  to_sort[129] = &options->PASSIVE_ICONS;   /* converter_other */
+  to_sort[130] = &options->PREFIX;   /* converter_customization */
+  to_sort[131] = &options->PRE_BODY_CLOSE;   /* converter_customization */
+  to_sort[132] = &options->PROGRAM;   /* converter_customization */
+  to_sort[133] = &options->PROGRAM_NAME_IN_ABOUT;   /* converter_customization 
*/
+  to_sort[134] = &options->PROGRAM_NAME_IN_FOOTER;   /* 
converter_customization */
+  to_sort[135] = &options->SECTION_BUTTONS;   /* converter_other */
+  to_sort[136] = &options->SECTION_FOOTER_BUTTONS;   /* converter_other */
+  to_sort[137] = &options->SECTION_NAME_IN_TITLE;   /* converter_customization 
*/
+  to_sort[138] = &options->SHORT_TOC_LINK_TO_TOC;   /* converter_customization 
*/
+  to_sort[139] = &options->SHOW_BUILTIN_CSS_RULES;   /* program_customization 
*/
+  to_sort[140] = &options->SHOW_TITLE;   /* converter_customization */
+  to_sort[141] = &options->SORT_ELEMENT_COUNT;   /* program_customization */
+  to_sort[142] = &options->SORT_ELEMENT_COUNT_WORDS;   /* 
program_customization */
+  to_sort[143] = &options->SPLIT;   /* converter_cmdline */
+  to_sort[144] = &options->SPLIT_SIZE;   /* converter_cmdline */
+  to_sort[145] = &options->SUBDIR;   /* converter_cmdline */
+  to_sort[146] = &options->T4H_LATEX_CONVERSION;   /* converter_customization 
*/
+  to_sort[147] = &options->T4H_MATH_CONVERSION;   /* converter_customization */
+  to_sort[148] = &options->T4H_TEX_CONVERSION;   /* converter_customization */
+  to_sort[149] = &options->TEST;   /* converter_customization */
+  to_sort[150] = &options->TEXI2DVI;   /* program_customization */
+  to_sort[151] = &options->TEXI2HTML;   /* converter_customization */
+  to_sort[152] = &options->TEXINFO_DTD_VERSION;   /* converter_customization */
+  to_sort[153] = &options->TEXINFO_LANGUAGE_DIRECTORIES;   /* array_cmdline */
+  to_sort[154] = &options->TEXINFO_OUTPUT_FORMAT;   /* converter_customization 
*/
+  to_sort[155] = &options->TEXTCONTENT_COMMENT;   /* converter_customization */
+  to_sort[156] = &options->TOC_LINKS;   /* converter_customization */
+  to_sort[157] = &options->TOP_BUTTONS;   /* converter_other */
+  to_sort[158] = &options->TOP_FILE;   /* converter_customization */
+  to_sort[159] = &options->TOP_FOOTER_BUTTONS;   /* converter_other */
+  to_sort[160] = &options->TOP_NODE_FILE_TARGET;   /* converter_customization 
*/
+  to_sort[161] = &options->TOP_NODE_UP;   /* converter_customization */
+  to_sort[162] = &options->TOP_NODE_UP_URL;   /* converter_customization */
+  to_sort[163] = &options->TRACE_INCLUDES;   /* program_cmdline */
+  to_sort[164] = &options->TRANSLITERATE_FILE_NAMES;   /* converter_cmdline */
+  to_sort[165] = &options->TREE_TRANSFORMATIONS;   /* program_customization */
+  to_sort[166] = &options->TXI_MARKUP_NO_SECTION_EXTENT;   /* 
converter_customization */
+  to_sort[167] = &options->USE_ACCESSKEY;   /* converter_customization */
+  to_sort[168] = &options->USE_ISO;   /* converter_customization */
+  to_sort[169] = &options->USE_LINKS;   /* converter_customization */
+  to_sort[170] = &options->USE_NEXT_HEADING_FOR_LONE_NODE;   /* 
converter_customization */
+  to_sort[171] = &options->USE_NODES;   /* converter_customization */
+  to_sort[172] = &options->USE_NODE_DIRECTIONS;   /* converter_customization */
+  to_sort[173] = &options->USE_NUMERIC_ENTITY;   /* converter_customization */
+  to_sort[174] = &options->USE_REL_REV;   /* converter_customization */
+  to_sort[175] = &options->USE_SETFILENAME_EXTENSION;   /* 
converter_customization */
+  to_sort[176] = &options->USE_TITLEPAGE_FOR_TITLE;   /* 
converter_customization */
+  to_sort[177] = &options->USE_UNICODE_COLLATION;   /* converter_customization 
*/
+  to_sort[178] = &options->USE_UNIDECODE;   /* converter_customization */
+  to_sort[179] = &options->USE_XML_SYNTAX;   /* converter_customization */
+  to_sort[180] = &options->VERBOSE;   /* converter_cmdline */
+  to_sort[181] = &options->VERTICAL_HEAD_NAVIGATION;   /* 
converter_customization */
+  to_sort[182] = &options->WORDS_IN_PAGE;   /* converter_customization */
+  to_sort[183] = &options->XREF_USE_FLOAT_LABEL;   /* converter_customization 
*/
+  to_sort[184] = &options->XREF_USE_NODE_NAME_ARG;   /* 
converter_customization */
+  to_sort[185] = &options->XS_EXTERNAL_CONVERSION;   /* 
converter_customization */
+  to_sort[186] = &options->XS_EXTERNAL_FORMATTING;   /* 
converter_customization */
+  to_sort[187] = &options->XS_STRXFRM_COLLATION_LOCALE;   /* 
converter_customization */
+  to_sort[188] = &options->_INLINE_STYLE_WIDTH;   /* converter_customization */
+  to_sort[189] = &options->afivepaper;   /* unique_at_command */
+  to_sort[190] = &options->afourlatex;   /* unique_at_command */
+  to_sort[191] = &options->afourpaper;   /* unique_at_command */
+  to_sort[192] = &options->afourwide;   /* unique_at_command */
+  to_sort[193] = &options->allowcodebreaks;   /* multiple_at_command */
+  to_sort[194] = &options->bsixpaper;   /* unique_at_command */
+  to_sort[195] = &options->clickstyle;   /* multiple_at_command */
+  to_sort[196] = &options->codequotebacktick;   /* multiple_at_command */
+  to_sort[197] = &options->codequoteundirected;   /* multiple_at_command */
+  to_sort[198] = &options->contents;   /* multiple_at_command */
+  to_sort[199] = &options->deftypefnnewline;   /* multiple_at_command */
+  to_sort[200] = &options->documentdescription;   /* unique_at_command */
+  to_sort[201] = &options->documentencoding;   /* multiple_at_command */
+  to_sort[202] = &options->documentlanguage;   /* multiple_at_command */
+  to_sort[203] = &options->evenfooting;   /* multiple_at_command */
+  to_sort[204] = &options->evenfootingmarks;   /* unique_at_command */
+  to_sort[205] = &options->evenheading;   /* multiple_at_command */
+  to_sort[206] = &options->evenheadingmarks;   /* unique_at_command */
+  to_sort[207] = &options->everyfooting;   /* multiple_at_command */
+  to_sort[208] = &options->everyfootingmarks;   /* unique_at_command */
+  to_sort[209] = &options->everyheading;   /* multiple_at_command */
+  to_sort[210] = &options->everyheadingmarks;   /* unique_at_command */
+  to_sort[211] = &options->exampleindent;   /* multiple_at_command */
+  to_sort[212] = &options->firstparagraphindent;   /* multiple_at_command */
+  to_sort[213] = &options->fonttextsize;   /* unique_at_command */
+  to_sort[214] = &options->footnotestyle;   /* unique_at_command */
+  to_sort[215] = &options->frenchspacing;   /* multiple_at_command */
+  to_sort[216] = &options->headings;   /* multiple_at_command */
+  to_sort[217] = &options->kbdinputstyle;   /* multiple_at_command */
+  to_sort[218] = &options->microtype;   /* multiple_at_command */
+  to_sort[219] = &options->novalidate;   /* unique_at_command */
+  to_sort[220] = &options->oddfooting;   /* multiple_at_command */
+  to_sort[221] = &options->oddfootingmarks;   /* unique_at_command */
+  to_sort[222] = &options->oddheading;   /* multiple_at_command */
+  to_sort[223] = &options->oddheadingmarks;   /* unique_at_command */
+  to_sort[224] = &options->pagesizes;   /* unique_at_command */
+  to_sort[225] = &options->paragraphindent;   /* multiple_at_command */
+  to_sort[226] = &options->setchapternewpage;   /* unique_at_command */
+  to_sort[227] = &options->setfilename;   /* unique_at_command */
+  to_sort[228] = &options->shortcontents;   /* multiple_at_command */
+  to_sort[229] = &options->smallbook;   /* unique_at_command */
+  to_sort[230] = &options->summarycontents;   /* multiple_at_command */
+  to_sort[231] = &options->urefbreakstyle;   /* multiple_at_command */
+  to_sort[232] = &options->xrefautomaticsectiontitle;   /* multiple_at_command 
*/
 }
 
 
diff --git a/tp/Texinfo/options_data.txt b/tp/Texinfo/options_data.txt
index 217bc0a8bc..0541434918 100644
--- a/tp/Texinfo/options_data.txt
+++ b/tp/Texinfo/options_data.txt
@@ -28,6 +28,18 @@
 # no need for quoting/escaping.
 
 
+# Parser only options
+IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME  parser 1 integer
+# handle cpp like synchronization lines
+CPP_LINE_DIRECTIVES                     parser 1 integer
+# max number of nested macro calls
+MAX_MACRO_CALL_NESTING                  parser 100000 integer
+# if set, do not record index entries and ignore index related @-commands
+NO_INDEX                                parser 0 integer
+# if set, ignore @*macro, @def*index, @alias and @definfoenclose
+NO_USER_COMMANDS                        parser 0 integer
+
+
 # @-commands that can be used multiple time in a document and default
 # values.
 # also used in util/txicustomvars
diff --git a/tp/maintain/regenerate_C_options_info.pl 
b/tp/maintain/regenerate_C_options_info.pl
index 41174492c1..a61dfb0be9 100755
--- a/tp/maintain/regenerate_C_options_info.pl
+++ b/tp/maintain/regenerate_C_options_info.pl
@@ -26,6 +26,10 @@ 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 %converter_option_categories;
+
 my %commands_options;
 
 my %options;
@@ -42,6 +46,9 @@ while (<STDIN>) {
 
       if (!exists($option_categories{$category})) {
         $option_categories{$category} = [];
+        if ($category !~ /^parser/) {
+          $converter_option_categories{$category} = 1;
+        }
       }
       push @{$option_categories{$category}}, [$option, $value, $type];
       #print STDERR "$option, $category, $value, $type\n";
@@ -490,7 +497,7 @@ foreach my $format (@sorted_formats) {
   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 ($category, $main_default, $type) = @$option_info;
     my ($int_value, $char_value) = get_value($type, $value);
     print CDCF "  option_set_conf (&options->${option}, $int_value, 
$char_value);\n";
   }
@@ -513,7 +520,7 @@ print CDCF 'void
 html_fill_options_directions (OPTIONS *options, const CONVERTER *converter)
 {
 ';
-foreach my $category (sort(keys(%option_categories))) {
+foreach my $category (sort(keys(%converter_option_categories))) {
   foreach my $option_info (@{$option_categories{$category}}) {
     my ($option, $value, $type) = @$option_info;
     if ($type eq 'buttons') {
@@ -542,7 +549,7 @@ print GET 'void
 html_fill_sv_options (OPTIONS *options, const CONVERTER *converter)
 {
 ';
-foreach my $category (sort(keys(%option_categories))) {
+foreach my $category (sort(keys(%converter_option_categories))) {
   foreach my $option_info (@{$option_categories{$category}}) {
     my ($option, $value, $type) = @$option_info;
     if ($type eq 'buttons') {



reply via email to

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