[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Fri, 4 Oct 2024 04:39:54 -0400 (EDT) |
branch: master
commit e080c9333de2d009d35fe28fdac30e0c1ef8f0f2
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Fri Oct 4 10:39:54 2024 +0200
Add generated code files to version control
---
.gitignore | 14 -
ChangeLog | 4 +
tp/Texinfo/XS/convert/cmd_converter.c | 394 ++
tp/Texinfo/XS/main/accent_tables_8bit_codepoints.c | 438 ++
tp/Texinfo/XS/main/cmd_normalization.c | 394 ++
tp/Texinfo/XS/main/cmd_structuring.c | 788 ++++
tp/Texinfo/XS/main/cmd_symbol.c | 394 ++
tp/Texinfo/XS/main/cmd_text.c | 1184 +++++
tp/Texinfo/XS/main/cmd_unicode.c | 788 ++++
tp/Texinfo/XS/main/command_data.c | 395 ++
tp/Texinfo/XS/main/global_commands_types.h | 83 +
tp/Texinfo/XS/main/global_multi_commands_case.c | 36 +
tp/Texinfo/XS/main/global_unique_commands_case.c | 33 +
tp/Texinfo/XS/main/options_get_perl.c | 4866 ++++++++++++++++++++
tp/Texinfo/XS/main/options_init_free.c | 3143 +++++++++++++
tp/Texinfo/XS/main/options_types.h | 276 ++
16 files changed, 13216 insertions(+), 14 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8660dc334b..3b0e132f04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -349,19 +349,6 @@ tp/Texinfo/XS/gnulib/lib/sys/types.h
tp/Texinfo/XS/main/DocumentXS.c
tp/Texinfo/XS/main/IndicesXS.c
-tp/Texinfo/XS/main/accent_tables_8bit_codepoints.c
-tp/Texinfo/XS/main/command_data.c
-tp/Texinfo/XS/main/cmd_normalization.c
-tp/Texinfo/XS/main/cmd_unicode.c
-tp/Texinfo/XS/main/cmd_structuring.c
-tp/Texinfo/XS/main/cmd_symbol.c
-tp/Texinfo/XS/main/cmd_text.c
-tp/Texinfo/XS/main/global_commands_types.h
-tp/Texinfo/XS/main/global_multi_commands_case.c
-tp/Texinfo/XS/main/global_unique_commands_case.c
-tp/Texinfo/XS/main/options_get_perl.c
-tp/Texinfo/XS/main/options_init_free.c
-tp/Texinfo/XS/main/options_types.h
tp/Texinfo/XS/main/*.lo
@@ -376,7 +363,6 @@ tp/Texinfo/XS/parsetexi/*.la
tp/Texinfo/XS/parsetexi/*.lo
tp/Texinfo/XS/convert/ConvertXS.c
-tp/Texinfo/XS/convert/cmd_converter.c
tp/Texinfo/XS/convert/.libs
tp/Texinfo/XS/convert/*.la
diff --git a/ChangeLog b/ChangeLog
index b19d4d0560..eb67e6d6bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-10-04 Patrice Dumas <pertusus@free.fr>
+
+ Add generated code files to version control
+
2024-10-04 Patrice Dumas <pertusus@free.fr>
* tp/maintain/setup_converters_code_tables.pl: use the basename to
diff --git a/tp/Texinfo/XS/convert/cmd_converter.c
b/tp/Texinfo/XS/convert/cmd_converter.c
new file mode 100644
index 0000000000..f62f725cb6
--- /dev/null
+++ b/tp/Texinfo/XS/convert/cmd_converter.c
@@ -0,0 +1,394 @@
+/* Automatically generated from setup_converters_code_tables.pl */
+
+const char *xml_text_entity_no_arg_commands[] = {
+0,
+0,
+0,
+0,
+0,
+0,
+"&", /* & */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"Å", /* AA */
+"Æ", /* AE */
+"Ð", /* DH */
+0,
+"Ł", /* L */
+0,
+"Ø", /* O */
+"Œ", /* OE */
+"Þ", /* TH */
+0,
+0,
+0,
+0,
+0,
+"å", /* aa */
+0,
+0,
+"æ", /* ae */
+0,
+0,
+0,
+0,
+0,
+0,
+"&", /* ampchar */
+0,
+0,
+0,
+0,
+0,
+0,
+"→", /* arrow */
+0,
+0,
+0,
+0,
+0,
+0,
+"•", /* bullet */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"→", /* click */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"©", /* copyright */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"ð", /* dh */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"…", /* dots */
+0,
+0,
+0,
+0,
+0,
+0,
+"≡", /* equiv */
+"error-->", /* error */
+0,
+"€", /* euro */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"¡", /* exclamdown */
+0,
+"→", /* expansion */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"≥", /* geq */
+0,
+"«", /* guillemetleft */
+"»", /* guillemetright */
+"«", /* guillemotleft */
+"»", /* guillemotright */
+"‹", /* guilsinglleft */
+"›", /* guilsinglright */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"ł", /* l */
+0,
+0,
+"≤", /* leq */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"−", /* minus */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"ø", /* o */
+0,
+0,
+0,
+0,
+"œ", /* oe */
+0,
+0,
+"ª", /* ordf */
+"º", /* ordm */
+0,
+0,
+0,
+0,
+0,
+0,
+"∗", /* point */
+"£", /* pounds */
+0,
+0,
+0,
+"¿", /* questiondown */
+0,
+"„", /* quotedblbase */
+"“", /* quotedblleft */
+"”", /* quotedblright */
+"‘", /* quoteleft */
+"’", /* quoteright */
+"‚", /* quotesinglbase */
+0,
+0,
+0,
+0,
+0,
+0,
+"®", /* registeredsymbol */
+"⇒", /* result */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"ß", /* ss */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"°", /* textdegree */
+"þ", /* th */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+" ", /* tie */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+};
+
diff --git a/tp/Texinfo/XS/main/accent_tables_8bit_codepoints.c
b/tp/Texinfo/XS/main/accent_tables_8bit_codepoints.c
new file mode 100644
index 0000000000..14a8e82c6c
--- /dev/null
+++ b/tp/Texinfo/XS/main/accent_tables_8bit_codepoints.c
@@ -0,0 +1,438 @@
+/* Automatically generated from setup_accent_tables.pl */
+
+const struct ENCODING_CODEPOINTS unicode_to_eight_bit[] = {
+{"iso-8859-1", 96, {
+ "00A0", /* A0 */
+ "00A1", /* A1 */
+ "00A2", /* A2 */
+ "00A3", /* A3 */
+ "00A4", /* A4 */
+ "00A5", /* A5 */
+ "00A6", /* A6 */
+ "00A7", /* A7 */
+ "00A8", /* A8 */
+ "00A9", /* A9 */
+ "00AA", /* AA */
+ "00AB", /* AB */
+ "00AC", /* AC */
+ "00AD", /* AD */
+ "00AE", /* AE */
+ "00AF", /* AF */
+ "00B0", /* B0 */
+ "00B1", /* B1 */
+ "00B2", /* B2 */
+ "00B3", /* B3 */
+ "00B4", /* B4 */
+ "00B5", /* B5 */
+ "00B6", /* B6 */
+ "00B7", /* B7 */
+ "00B8", /* B8 */
+ "00B9", /* B9 */
+ "00BA", /* BA */
+ "00BB", /* BB */
+ "00BC", /* BC */
+ "00BD", /* BD */
+ "00BE", /* BE */
+ "00BF", /* BF */
+ "00C0", /* C0 */
+ "00C1", /* C1 */
+ "00C2", /* C2 */
+ "00C3", /* C3 */
+ "00C4", /* C4 */
+ "00C5", /* C5 */
+ "00C6", /* C6 */
+ "00C7", /* C7 */
+ "00C8", /* C8 */
+ "00C9", /* C9 */
+ "00CA", /* CA */
+ "00CB", /* CB */
+ "00CC", /* CC */
+ "00CD", /* CD */
+ "00CE", /* CE */
+ "00CF", /* CF */
+ "00D0", /* D0 */
+ "00D1", /* D1 */
+ "00D2", /* D2 */
+ "00D3", /* D3 */
+ "00D4", /* D4 */
+ "00D5", /* D5 */
+ "00D6", /* D6 */
+ "00D7", /* D7 */
+ "00D8", /* D8 */
+ "00D9", /* D9 */
+ "00DA", /* DA */
+ "00DB", /* DB */
+ "00DC", /* DC */
+ "00DD", /* DD */
+ "00DE", /* DE */
+ "00DF", /* DF */
+ "00E0", /* E0 */
+ "00E1", /* E1 */
+ "00E2", /* E2 */
+ "00E3", /* E3 */
+ "00E4", /* E4 */
+ "00E5", /* E5 */
+ "00E6", /* E6 */
+ "00E7", /* E7 */
+ "00E8", /* E8 */
+ "00E9", /* E9 */
+ "00EA", /* EA */
+ "00EB", /* EB */
+ "00EC", /* EC */
+ "00ED", /* ED */
+ "00EE", /* EE */
+ "00EF", /* EF */
+ "00F0", /* F0 */
+ "00F1", /* F1 */
+ "00F2", /* F2 */
+ "00F3", /* F3 */
+ "00F4", /* F4 */
+ "00F5", /* F5 */
+ "00F6", /* F6 */
+ "00F7", /* F7 */
+ "00F8", /* F8 */
+ "00F9", /* F9 */
+ "00FA", /* FA */
+ "00FB", /* FB */
+ "00FC", /* FC */
+ "00FD", /* FD */
+ "00FE", /* FE */
+ "00FF", /* FF */
+}},
+{"iso-8859-15", 96, {
+ "00A0", /* A0 */
+ "00A1", /* A1 */
+ "00A2", /* A2 */
+ "00A3", /* A3 */
+ "00A5", /* A5 */
+ "00A7", /* A7 */
+ "00A9", /* A9 */
+ "00AA", /* AA */
+ "00AB", /* AB */
+ "00AC", /* AC */
+ "00AD", /* AD */
+ "00AE", /* AE */
+ "00AF", /* AF */
+ "00B0", /* B0 */
+ "00B1", /* B1 */
+ "00B2", /* B2 */
+ "00B3", /* B3 */
+ "00B5", /* B5 */
+ "00B6", /* B6 */
+ "00B7", /* B7 */
+ "00B9", /* B9 */
+ "00BA", /* BA */
+ "00BB", /* BB */
+ "00BF", /* BF */
+ "00C0", /* C0 */
+ "00C1", /* C1 */
+ "00C2", /* C2 */
+ "00C3", /* C3 */
+ "00C4", /* C4 */
+ "00C5", /* C5 */
+ "00C6", /* C6 */
+ "00C7", /* C7 */
+ "00C8", /* C8 */
+ "00C9", /* C9 */
+ "00CA", /* CA */
+ "00CB", /* CB */
+ "00CC", /* CC */
+ "00CD", /* CD */
+ "00CE", /* CE */
+ "00CF", /* CF */
+ "00D0", /* D0 */
+ "00D1", /* D1 */
+ "00D2", /* D2 */
+ "00D3", /* D3 */
+ "00D4", /* D4 */
+ "00D5", /* D5 */
+ "00D6", /* D6 */
+ "00D7", /* D7 */
+ "00D8", /* D8 */
+ "00D9", /* D9 */
+ "00DA", /* DA */
+ "00DB", /* DB */
+ "00DC", /* DC */
+ "00DD", /* DD */
+ "00DE", /* DE */
+ "00DF", /* DF */
+ "00E0", /* E0 */
+ "00E1", /* E1 */
+ "00E2", /* E2 */
+ "00E3", /* E3 */
+ "00E4", /* E4 */
+ "00E5", /* E5 */
+ "00E6", /* E6 */
+ "00E7", /* E7 */
+ "00E8", /* E8 */
+ "00E9", /* E9 */
+ "00EA", /* EA */
+ "00EB", /* EB */
+ "00EC", /* EC */
+ "00ED", /* ED */
+ "00EE", /* EE */
+ "00EF", /* EF */
+ "00F0", /* F0 */
+ "00F1", /* F1 */
+ "00F2", /* F2 */
+ "00F3", /* F3 */
+ "00F4", /* F4 */
+ "00F5", /* F5 */
+ "00F6", /* F6 */
+ "00F7", /* F7 */
+ "00F8", /* F8 */
+ "00F9", /* F9 */
+ "00FA", /* FA */
+ "00FB", /* FB */
+ "00FC", /* FC */
+ "00FD", /* FD */
+ "00FE", /* FE */
+ "00FF", /* FF */
+ "0152", /* BC */
+ "0153", /* BD */
+ "0160", /* A6 */
+ "0161", /* A8 */
+ "0178", /* BE */
+ "017D", /* B4 */
+ "017E", /* B8 */
+ "20AC", /* A4 */
+}},
+{"iso-8859-2", 95, {
+ "00A0", /* A0 */
+ "00A4", /* A4 */
+ "00A7", /* A7 */
+ "00A8", /* A8 */
+ "00AD", /* AD */
+ "00B0", /* B0 */
+ "00B4", /* B4 */
+ "00B8", /* B8 */
+ "00C1", /* C1 */
+ "00C2", /* C2 */
+ "00C4", /* C4 */
+ "00C7", /* C7 */
+ "00C9", /* C9 */
+ "00CB", /* CB */
+ "00CD", /* CD */
+ "00CE", /* CE */
+ "00D3", /* D3 */
+ "00D4", /* D4 */
+ "00D6", /* D6 */
+ "00D7", /* D7 */
+ "00DA", /* DA */
+ "00DC", /* DC */
+ "00DD", /* DD */
+ "00DF", /* DF */
+ "00E1", /* E1 */
+ "00E2", /* E2 */
+ "00E4", /* E4 */
+ "00E7", /* E7 */
+ "00E9", /* E9 */
+ "00EB", /* EB */
+ "00ED", /* ED */
+ "00EE", /* EE */
+ "00F3", /* F3 */
+ "00F4", /* F4 */
+ "00F6", /* F6 */
+ "00F7", /* F7 */
+ "00FA", /* FA */
+ "00FC", /* FC */
+ "00FD", /* FD */
+ "0102", /* C3 */
+ "0103", /* E3 */
+ "0104", /* A1 */
+ "0105", /* B1 */
+ "0106", /* C6 */
+ "0107", /* E6 */
+ "010C", /* C8 */
+ "010D", /* E8 */
+ "010E", /* CF */
+ "010F", /* EF */
+ "0110", /* D0 */
+ "0111", /* F0 */
+ "0118", /* CA */
+ "0119", /* EA */
+ "011A", /* CC */
+ "011B", /* EC */
+ "0139", /* C5 */
+ "013A", /* E5 */
+ "013D", /* A5 */
+ "013E", /* B5 */
+ "0141", /* A3 */
+ "0142", /* B3 */
+ "0143", /* D1 */
+ "0144", /* F1 */
+ "0147", /* D2 */
+ "0148", /* F2 */
+ "0150", /* D5 */
+ "0151", /* F5 */
+ "0154", /* C0 */
+ "0155", /* E0 */
+ "0158", /* D8 */
+ "0159", /* F8 */
+ "015A", /* A6 */
+ "015B", /* B6 */
+ "015E", /* AA */
+ "015F", /* BA */
+ "0161", /* B9 */
+ "0162", /* DE */
+ "0163", /* FE */
+ "0164", /* AB */
+ "0165", /* BB */
+ "016E", /* D9 */
+ "016F", /* F9 */
+ "0170", /* DB */
+ "0171", /* FB */
+ "0179", /* AC */
+ "017A", /* BC */
+ "017B", /* AF */
+ "017C", /* BF */
+ "017D", /* AE */
+ "017E", /* BE */
+ "02C7", /* B7 */
+ "02D8", /* A2 */
+ "02D9", /* FF */
+ "02DB", /* B2 */
+ "02DD", /* BD */
+}},
+{"koi8-r", 64, {
+ "0410", /* E1 */
+ "0411", /* E2 */
+ "0412", /* F7 */
+ "0413", /* E7 */
+ "0414", /* E4 */
+ "0415", /* E5 */
+ "0416", /* F6 */
+ "0417", /* FA */
+ "0418", /* E9 */
+ "0419", /* EA */
+ "041A", /* EB */
+ "041B", /* EC */
+ "041C", /* ED */
+ "041D", /* EE */
+ "041E", /* EF */
+ "041F", /* F0 */
+ "0420", /* F2 */
+ "0421", /* F3 */
+ "0422", /* F4 */
+ "0423", /* F5 */
+ "0424", /* E6 */
+ "0425", /* E8 */
+ "0426", /* E3 */
+ "0427", /* FE */
+ "0428", /* FB */
+ "0429", /* FD */
+ "042A", /* FF */
+ "042B", /* F9 */
+ "042C", /* F8 */
+ "042D", /* FC */
+ "042E", /* C0 */
+ "042F", /* F1 */
+ "0430", /* C1 */
+ "0431", /* C2 */
+ "0432", /* D7 */
+ "0433", /* C7 */
+ "0434", /* C4 */
+ "0435", /* C5 */
+ "0436", /* D6 */
+ "0437", /* DA */
+ "0438", /* C9 */
+ "0439", /* CA */
+ "043A", /* CB */
+ "043B", /* CC */
+ "043C", /* CD */
+ "043D", /* CE */
+ "043E", /* CF */
+ "043F", /* D0 */
+ "0440", /* D2 */
+ "0441", /* D3 */
+ "0442", /* D4 */
+ "0443", /* D5 */
+ "0444", /* C6 */
+ "0445", /* C8 */
+ "0446", /* C3 */
+ "0447", /* DE */
+ "0448", /* DB */
+ "0449", /* DD */
+ "044A", /* DF */
+ "044B", /* D9 */
+ "044C", /* D8 */
+ "044D", /* DC */
+ "044F", /* D1 */
+ "04D7", /* B3 */
+}},
+{"koi8-u", 72, {
+ "0404", /* B4 */
+ "0406", /* B6 */
+ "0407", /* B7 */
+ "0410", /* E1 */
+ "0411", /* E2 */
+ "0412", /* F7 */
+ "0413", /* E7 */
+ "0414", /* E4 */
+ "0415", /* E5 */
+ "0416", /* F6 */
+ "0417", /* FA */
+ "0418", /* E9 */
+ "0419", /* EA */
+ "041A", /* EB */
+ "041B", /* EC */
+ "041C", /* ED */
+ "041D", /* EE */
+ "041E", /* EF */
+ "041F", /* F0 */
+ "0420", /* F2 */
+ "0421", /* F3 */
+ "0422", /* F4 */
+ "0423", /* F5 */
+ "0424", /* E6 */
+ "0425", /* E8 */
+ "0426", /* E3 */
+ "0427", /* FE */
+ "0428", /* FB */
+ "0429", /* FD */
+ "042A", /* FF */
+ "042B", /* F9 */
+ "042C", /* F8 */
+ "042D", /* FC */
+ "042E", /* C0 */
+ "042F", /* F1 */
+ "0430", /* C1 */
+ "0431", /* C2 */
+ "0432", /* D7 */
+ "0433", /* C7 */
+ "0434", /* C4 */
+ "0435", /* C5 */
+ "0436", /* D6 */
+ "0437", /* DA */
+ "0438", /* C9 */
+ "0439", /* CA */
+ "043A", /* CB */
+ "043B", /* CC */
+ "043C", /* CD */
+ "043D", /* CE */
+ "043E", /* CF */
+ "043F", /* D0 */
+ "0440", /* D2 */
+ "0441", /* D3 */
+ "0442", /* D4 */
+ "0443", /* D5 */
+ "0444", /* C6 */
+ "0445", /* C8 */
+ "0446", /* C3 */
+ "0447", /* DE */
+ "0448", /* DB */
+ "0449", /* DD */
+ "044A", /* DF */
+ "044B", /* D9 */
+ "044C", /* D8 */
+ "044D", /* DC */
+ "044F", /* D1 */
+ "0454", /* A4 */
+ "0456", /* A6 */
+ "0457", /* A7 */
+ "0490", /* BD */
+ "0491", /* AD */
+ "04D7", /* B3 */
+}},
+};
+
diff --git a/tp/Texinfo/XS/main/cmd_normalization.c
b/tp/Texinfo/XS/main/cmd_normalization.c
new file mode 100644
index 0000000000..2ed2aea307
--- /dev/null
+++ b/tp/Texinfo/XS/main/cmd_normalization.c
@@ -0,0 +1,394 @@
+/* Automatically generated from setup_converters_code_tables.pl */
+
+const char *command_normalization_text[] = {
+0,
+" ", /* \t */
+" ", /* \n */
+" ", /* \x20 */
+"!", /* ! */
+0,
+"&", /* & */
+0,
+" ", /* * */
+0,
+"", /* - */
+".", /* . */
+"", /* / */
+"", /* : */
+0,
+"?", /* ? */
+"@", /* @ */
+"\xc3\x85", /* AA */
+"\xc3\x86", /* AE */
+"\xc3\x90", /* DH */
+0,
+"\xc5\x81", /* L */
+"LaTeX", /* LaTeX */
+"\xc3\x98", /* O */
+"\xc5\x92", /* OE */
+"\xc3\x9e", /* TH */
+"TeX", /* TeX */
+0,
+"\x5c", /* \\ */
+0,
+0,
+"\xc3\xa5", /* aa */
+0,
+0,
+"\xc3\xa6", /* ae */
+0,
+0,
+0,
+0,
+0,
+0,
+"&", /* ampchar */
+0,
+0,
+0,
+0,
+0,
+0,
+"\xe2\x86\x92", /* arrow */
+0,
+"@", /* atchar */
+0,
+0,
+"\x5c", /* backslashchar */
+0,
+"\xe2\x80\xa2", /* bullet */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+",", /* comma */
+0,
+0,
+0,
+0,
+"\xc2\xa9", /* copyright */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xc3\xb0", /* dh */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xe2\x80\xa6", /* dots */
+0,
+0,
+0,
+"...", /* enddots */
+0,
+0,
+"\xe2\x89\xa1", /* equiv */
+"error-->", /* error */
+0,
+"\xe2\x82\xac", /* euro */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xc2\xa1", /* exclamdown */
+0,
+"\xe2\x86\xa6", /* expansion */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xe2\x89\xa5", /* geq */
+0,
+"\xc2\xab", /* guillemetleft */
+"\xc2\xbb", /* guillemetright */
+"\xc2\xab", /* guillemotleft */
+"\xc2\xbb", /* guillemotright */
+"\xe2\x80\xb9", /* guilsinglleft */
+"\xe2\x80\xba", /* guilsinglright */
+"#", /* hashchar */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xc5\x82", /* l */
+0,
+"{", /* lbracechar */
+"\xe2\x89\xa4", /* leq */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xe2\x88\x92", /* minus */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xc3\xb8", /* o */
+0,
+0,
+0,
+0,
+"\xc5\x93", /* oe */
+0,
+0,
+"\xc2\xaa", /* ordf */
+"\xc2\xba", /* ordm */
+0,
+0,
+0,
+0,
+0,
+0,
+"\xe2\x8b\x86", /* point */
+"\xc2\xa3", /* pounds */
+"\xe2\x8a\xa3", /* print */
+0,
+0,
+"\xc2\xbf", /* questiondown */
+0,
+"\xe2\x80\x9e", /* quotedblbase */
+"\xe2\x80\x9c", /* quotedblleft */
+"\xe2\x80\x9d", /* quotedblright */
+"\xe2\x80\x98", /* quoteleft */
+"\xe2\x80\x99", /* quoteright */
+"\xe2\x80\x9a", /* quotesinglbase */
+0,
+0,
+0,
+"}", /* rbracechar */
+0,
+0,
+"\xc2\xae", /* registeredsymbol */
+"\xe2\x87\x92", /* result */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xc3\x9f", /* ss */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\xc2\xb0", /* textdegree */
+"\xc3\xbe", /* th */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+" ", /* tie */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"{", /* { */
+"", /* | */
+"}", /* } */
+0,
+};
+
diff --git a/tp/Texinfo/XS/main/cmd_structuring.c
b/tp/Texinfo/XS/main/cmd_structuring.c
new file mode 100644
index 0000000000..f08fb02bbd
--- /dev/null
+++ b/tp/Texinfo/XS/main/cmd_structuring.c
@@ -0,0 +1,788 @@
+/* Automatically generated from setup_converters_code_tables.pl */
+
+#include "command_ids.h"
+
+int const command_structuring_level[] = {
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+1, /* appendix */
+2, /* appendixsec */
+2, /* appendixsection */
+3, /* appendixsubsec */
+4, /* appendixsubsubsec */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+1, /* centerchap */
+1, /* chapheading */
+1, /* chapter */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+2, /* heading */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+1, /* majorheading */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+0, /* part */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+2, /* section */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+3, /* subheading */
+3, /* subsection */
+4, /* subsubheading */
+4, /* subsubsection */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+0, /* top */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+1, /* unnumbered */
+2, /* unnumberedsec */
+3, /* unnumberedsubsec */
+4, /* unnumberedsubsubsec */
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+-1,
+};
+
+enum command_id const level_to_structuring_command[][5] = {
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_NONE, CM_appendix, CM_appendixsec, CM_appendixsubsec,
CM_appendixsubsubsec, }, /* appendix */
+{CM_NONE, CM_appendix, CM_appendixsec, CM_appendixsubsec,
CM_appendixsubsubsec, }, /* appendixsec */
+{CM_NONE, CM_appendix, CM_appendixsec, CM_appendixsubsec,
CM_appendixsubsubsec, }, /* appendixsection */
+{CM_NONE, CM_appendix, CM_appendixsec, CM_appendixsubsec,
CM_appendixsubsubsec, }, /* appendixsubsec */
+{CM_NONE, CM_appendix, CM_appendixsec, CM_appendixsubsec,
CM_appendixsubsubsec, }, /* appendixsubsubsec */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_top, CM_unnumbered, CM_unnumberedsec, CM_unnumberedsubsec,
CM_unnumberedsubsubsec, }, /* centerchap */
+{CM_NONE, CM_chapheading, CM_heading, CM_subheading, CM_subsubheading, }, /*
chapheading */
+{CM_NONE, CM_chapter, CM_section, CM_subsection, CM_subsubsection, }, /*
chapter */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_NONE, CM_chapheading, CM_heading, CM_subheading, CM_subsubheading, }, /*
heading */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_NONE, CM_chapheading, CM_heading, CM_subheading, CM_subsubheading, }, /*
majorheading */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_NONE, CM_chapter, CM_section, CM_subsection, CM_subsubsection, }, /*
section */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_NONE, CM_chapheading, CM_heading, CM_subheading, CM_subsubheading, }, /*
subheading */
+{CM_NONE, CM_chapter, CM_section, CM_subsection, CM_subsubsection, }, /*
subsection */
+{CM_NONE, CM_chapheading, CM_heading, CM_subheading, CM_subsubheading, }, /*
subsubheading */
+{CM_NONE, CM_chapter, CM_section, CM_subsection, CM_subsubsection, }, /*
subsubsection */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_top, CM_unnumbered, CM_unnumberedsec, CM_unnumberedsubsec,
CM_unnumberedsubsubsec, }, /* top */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{CM_top, CM_unnumbered, CM_unnumberedsec, CM_unnumberedsubsec,
CM_unnumberedsubsubsec, }, /* unnumbered */
+{CM_top, CM_unnumbered, CM_unnumberedsec, CM_unnumberedsubsec,
CM_unnumberedsubsubsec, }, /* unnumberedsec */
+{CM_top, CM_unnumbered, CM_unnumberedsec, CM_unnumberedsubsec,
CM_unnumberedsubsubsec, }, /* unnumberedsubsec */
+{CM_top, CM_unnumbered, CM_unnumberedsec, CM_unnumberedsubsec,
CM_unnumberedsubsubsec, }, /* unnumberedsubsubsec */
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+{0, 0, 0, 0, 0},
+};
+
diff --git a/tp/Texinfo/XS/main/cmd_symbol.c b/tp/Texinfo/XS/main/cmd_symbol.c
new file mode 100644
index 0000000000..0233a5fd6e
--- /dev/null
+++ b/tp/Texinfo/XS/main/cmd_symbol.c
@@ -0,0 +1,394 @@
+/* Automatically generated from setup_converters_code_tables.pl */
+
+const char *nobrace_symbol_text[] = {
+0,
+" ", /* \t */
+" ", /* \n */
+" ", /* \x20 */
+"!", /* ! */
+0,
+"&", /* & */
+0,
+"\n", /* * */
+0,
+"", /* - */
+".", /* . */
+"", /* / */
+"", /* : */
+0,
+"?", /* ? */
+"@", /* @ */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\x5c", /* \\ */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"{", /* { */
+"", /* | */
+"}", /* } */
+0,
+};
+
diff --git a/tp/Texinfo/XS/main/cmd_text.c b/tp/Texinfo/XS/main/cmd_text.c
new file mode 100644
index 0000000000..ac62d03620
--- /dev/null
+++ b/tp/Texinfo/XS/main/cmd_text.c
@@ -0,0 +1,1184 @@
+/* Automatically generated from setup_converters_code_tables.pl */
+
+#include <config.h>
+
+#include "convert_to_text.h"
+
+const char *nobrace_symbol_text[] = {
+0,
+" ", /* \t */
+" ", /* \n */
+" ", /* \x20 */
+"!", /* ! */
+0,
+"&", /* & */
+0,
+"\n", /* * */
+0,
+"", /* - */
+".", /* . */
+"", /* / */
+"", /* : */
+0,
+"?", /* ? */
+"@", /* @ */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"\x5c", /* \\ */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"{", /* { */
+"", /* | */
+"}", /* } */
+0,
+};
+
+/* Automatically generated from setup_converters_code_tables.pl */
+
+const char *text_brace_no_arg_commands[] = {
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"AA", /* AA */
+"AE", /* AE */
+"D", /* DH */
+0,
+"/L", /* L */
+"LaTeX", /* LaTeX */
+"/O", /* O */
+"OE", /* OE */
+"TH", /* TH */
+"TeX", /* TeX */
+0,
+0,
+0,
+0,
+"aa", /* aa */
+0,
+0,
+"ae", /* ae */
+0,
+0,
+0,
+0,
+0,
+0,
+"&", /* ampchar */
+0,
+0,
+0,
+0,
+0,
+0,
+"->", /* arrow */
+0,
+"@", /* atchar */
+0,
+0,
+"\x5c", /* backslashchar */
+0,
+"*", /* bullet */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"", /* click */
+0,
+0,
+0,
+0,
+0,
+0,
+",", /* comma */
+0,
+0,
+0,
+0,
+"(C)", /* copyright */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"d", /* dh */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"...", /* dots */
+0,
+0,
+0,
+"...", /* enddots */
+0,
+0,
+"==", /* equiv */
+"error-->", /* error */
+0,
+"Euro", /* euro */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"!", /* exclamdown */
+0,
+"==>", /* expansion */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+">=", /* geq */
+0,
+"<<", /* guillemetleft */
+">>", /* guillemetright */
+"<<", /* guillemotleft */
+">>", /* guillemotright */
+"<", /* guilsinglleft */
+">", /* guilsinglright */
+"#", /* hashchar */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"/l", /* l */
+0,
+"{", /* lbracechar */
+"<=", /* leq */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"-", /* minus */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"/o", /* o */
+0,
+0,
+0,
+0,
+"oe", /* oe */
+0,
+0,
+"a", /* ordf */
+"o", /* ordm */
+0,
+0,
+0,
+0,
+0,
+0,
+"-!-", /* point */
+"#", /* pounds */
+"-|", /* print */
+0,
+0,
+"?", /* questiondown */
+0,
+",,", /* quotedblbase */
+"\x22", /* quotedblleft */
+"\x22", /* quotedblright */
+"`", /* quoteleft */
+"'", /* quoteright */
+",", /* quotesinglbase */
+0,
+0,
+0,
+"}", /* rbracechar */
+0,
+0,
+"(R)", /* registeredsymbol */
+"=>", /* result */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"ss", /* ss */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"o", /* textdegree */
+"th", /* th */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+" ", /* tie */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+};
+
+const char *sort_brace_no_arg_commands[] = {
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"L", /* L */
+0,
+"O", /* O */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"C", /* copyright */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"l", /* l */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"o", /* o */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"R", /* registeredsymbol */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+"t", /* today */
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+};
+
diff --git a/tp/Texinfo/XS/main/cmd_unicode.c b/tp/Texinfo/XS/main/cmd_unicode.c
new file mode 100644
index 0000000000..16636f6809
--- /dev/null
+++ b/tp/Texinfo/XS/main/cmd_unicode.c
@@ -0,0 +1,788 @@
+/* Automatically generated from setup_converters_code_tables.pl */
+
+#include "unicode.h"
+
+const DIACRITIC_UNICODE unicode_diacritics[] = {
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x88", "776", "0308"}, /* \" */
+{0, 0, 0},
+{"\xcc\x81", "769", "0301"}, /* ' */
+{0, 0, 0},
+{"\xcc\xa7", "807", "0327"}, /* , */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x84", "772", "0304"}, /* = */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x8b", "779", "030B"}, /* H */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x82", "770", "0302"}, /* ^ */
+{"\xcc\x80", "768", "0300"}, /* ` */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x87", "775", "0307"}, /* dotaccent */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\xa8", "808", "0328"}, /* ogonek */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x8a", "778", "030A"}, /* ringaccent */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcd\xa1", "865", "0361"}, /* tieaccent */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x86", "774", "0306"}, /* u */
+{"\xcc\xb2", "818", "0332"}, /* ubaraccent */
+{"\xcc\xa3", "803", "0323"}, /* udotaccent */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x8c", "780", "030C"}, /* v */
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{0, 0, 0},
+{"\xcc\x83", "771", "0303"}, /* ~ */
+};
+
+const COMMAND_UNICODE unicode_character_brace_no_arg_commands[] = {
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00C5", "\xc3\x85", "\\00C5 ", 0}, /* AA */
+{"00C6", "\xc3\x86", "\\00C6 ", 0}, /* AE */
+{"00D0", "\xc3\x90", "\\00D0 ", 0}, /* DH */
+{0, 0, 0, -1},
+{"0141", "\xc5\x81", "\\0141 ", 0}, /* L */
+{0, 0, 0, -1},
+{"00D8", "\xc3\x98", "\\00D8 ", 0}, /* O */
+{"0152", "\xc5\x92", "\\0152 ", 0}, /* OE */
+{"00DE", "\xc3\x9e", "\\00DE ", 0}, /* TH */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00E5", "\xc3\xa5", "\\00E5 ", 0}, /* aa */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00E6", "\xc3\xa6", "\\00E6 ", 0}, /* ae */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"0026", "&", "\\0026 ", 0}, /* ampchar */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"2192", "\xe2\x86\x92", "\\2192 ", 1}, /* arrow */
+{0, 0, 0, -1},
+{"0040", "@", "\\0040 ", 0}, /* atchar */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"005C", "\x5c", "\\005C ", 0}, /* backslashchar */
+{0, 0, 0, -1},
+{"2022", "\xe2\x80\xa2", "\\2022 ", 1}, /* bullet */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"2192", "\xe2\x86\x92", "\\2192 ", 1}, /* click */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"002C", ",", "\\002C ", 0}, /* comma */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00A9", "\xc2\xa9", "\\00A9 ", 1}, /* copyright */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00F0", "\xc3\xb0", "\\00F0 ", 0}, /* dh */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"2026", "\xe2\x80\xa6", "\\2026 ", 1}, /* dots */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"2261", "\xe2\x89\xa1", "\\2261 ", 1}, /* equiv */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"20AC", "\xe2\x82\xac", "\\20AC ", 0}, /* euro */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00A1", "\xc2\xa1", "\\00A1 ", 0}, /* exclamdown */
+{0, 0, 0, -1},
+{"21A6", "\xe2\x86\xa6", "\\21A6 ", 1}, /* expansion */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"2265", "\xe2\x89\xa5", "\\2265 ", 0}, /* geq */
+{0, 0, 0, -1},
+{"00AB", "\xc2\xab", "\\00AB ", 0}, /* guillemetleft */
+{"00BB", "\xc2\xbb", "\\00BB ", 0}, /* guillemetright */
+{"00AB", "\xc2\xab", "\\00AB ", 0}, /* guillemotleft */
+{"00BB", "\xc2\xbb", "\\00BB ", 0}, /* guillemotright */
+{"2039", "\xe2\x80\xb9", "\\2039 ", 0}, /* guilsinglleft */
+{"203A", "\xe2\x80\xba", "\\203A ", 0}, /* guilsinglright */
+{"0023", "#", "\\0023 ", 0}, /* hashchar */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"0142", "\xc5\x82", "\\0142 ", 0}, /* l */
+{0, 0, 0, -1},
+{"007B", "{", "\\007B ", 0}, /* lbracechar */
+{"2264", "\xe2\x89\xa4", "\\2264 ", 0}, /* leq */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"2212", "\xe2\x88\x92", "\\2212 ", 1}, /* minus */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00F8", "\xc3\xb8", "\\00F8 ", 0}, /* o */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"0153", "\xc5\x93", "\\0153 ", 0}, /* oe */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00AA", "\xc2\xaa", "\\00AA ", 0}, /* ordf */
+{"00BA", "\xc2\xba", "\\00BA ", 0}, /* ordm */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"22C6", "\xe2\x8b\x86", "\\22C6 ", 1}, /* point */
+{"00A3", "\xc2\xa3", "\\00A3 ", 0}, /* pounds */
+{"22A3", "\xe2\x8a\xa3", "\\22A3 ", 1}, /* print */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00BF", "\xc2\xbf", "\\00BF ", 0}, /* questiondown */
+{0, 0, 0, -1},
+{"201E", "\xe2\x80\x9e", "\\201E ", 0}, /* quotedblbase */
+{"201C", "\xe2\x80\x9c", "\\201C ", 1}, /* quotedblleft */
+{"201D", "\xe2\x80\x9d", "\\201D ", 1}, /* quotedblright */
+{"2018", "\xe2\x80\x98", "\\2018 ", 1}, /* quoteleft */
+{"2019", "\xe2\x80\x99", "\\2019 ", 1}, /* quoteright */
+{"201A", "\xe2\x80\x9a", "\\201A ", 0}, /* quotesinglbase */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"007D", "}", "\\007D ", 0}, /* rbracechar */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00AE", "\xc2\xae", "\\00AE ", 1}, /* registeredsymbol */
+{"21D2", "\xe2\x87\x92", "\\21D2 ", 1}, /* result */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00DF", "\xc3\x9f", "\\00DF ", 0}, /* ss */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{"00B0", "\xc2\xb0", "\\00B0 ", 0}, /* textdegree */
+{"00FE", "\xc3\xbe", "\\00FE ", 0}, /* th */
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+{0, 0, 0, -1},
+};
+
diff --git a/tp/Texinfo/XS/main/command_data.c
b/tp/Texinfo/XS/main/command_data.c
new file mode 100644
index 0000000000..7e2b2647db
--- /dev/null
+++ b/tp/Texinfo/XS/main/command_data.c
@@ -0,0 +1,395 @@
+/* This file automatically generated by command_data.awk */
+
+#include "builtin_commands.h"
+
+COMMAND builtin_command_data[] = {
+0, 0, 0, 0, 0,
+"\t", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"\n", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"\x20", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"!", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"\"", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"&", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"'", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"*", CF_nobrace | CF_preamble | CF_no_paragraph, CF_formatted_nobrace,
NOBRACE_symbol, 0,
+",", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"-", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+".", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"/", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+":", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"=", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"?", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"@", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"AA", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"AE", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"DH", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"H", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"L", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"LaTeX", CF_brace, 0, BRACE_noarg, 0,
+"O", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"OE", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"TH", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"TeX", CF_brace, 0, BRACE_noarg, 0,
+"U", CF_brace, 0, BRACE_arguments, 1,
+"\\", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"^", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"`", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"aa", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"abbr", CF_brace | CF_contain_basic_inline, CF_explained, BRACE_arguments, 2,
+"acronym", CF_brace | CF_contain_basic_inline, CF_explained, BRACE_arguments,
2,
+"ae", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"afivepaper", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"afourlatex", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"afourpaper", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"afourwide", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"alias", CF_line | CF_no_paragraph | CF_preamble | CF_contain_plain_text, 0,
LINE_specific, 2,
+"allowcodebreaks", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"ampchar", CF_brace, 0, BRACE_noarg, 0,
+"anchor", CF_brace | CF_contain_basic_inline | CF_no_paragraph,
CF_non_formatted_brace, BRACE_arguments, 1,
+"appendix", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading, CF_formatted_line | CF_appendix, LINE_line, 1,
+"appendixsec", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading, CF_formatted_line | CF_appendix, LINE_line, 1,
+"appendixsection", CF_line | CF_no_paragraph | CF_root |
CF_contain_basic_inline | CF_sectioning_heading, CF_formatted_line |
CF_appendix, LINE_line, 1,
+"appendixsubsec", CF_line | CF_no_paragraph | CF_root |
CF_contain_basic_inline | CF_sectioning_heading, CF_formatted_line |
CF_appendix, LINE_line, 1,
+"appendixsubsubsec", CF_line | CF_no_paragraph | CF_root |
CF_contain_basic_inline | CF_sectioning_heading, CF_formatted_line |
CF_appendix, LINE_line, 1,
+"arrow", CF_brace, 0, BRACE_noarg, 0,
+"asis", CF_brace, 0, BRACE_style_other, 1,
+"atchar", CF_brace, 0, BRACE_noarg, 0,
+"author", CF_line | CF_no_paragraph | CF_global | CF_contain_basic_inline,
CF_formatted_line, LINE_line, 1,
+"b", CF_brace, 0, BRACE_style_other, 1,
+"backslashchar", CF_brace, 0, BRACE_noarg, 0,
+"bsixpaper", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"bullet", CF_brace, 0, BRACE_noarg, 0,
+"bye", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 0,
+"c", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 1,
+"caption", CF_brace | CF_close_paragraph | CF_no_paragraph,
CF_non_formatted_brace, BRACE_context, 1,
+"cartouche", CF_block | CF_no_paragraph | CF_close_paragraph, 0, BLOCK_other,
1,
+"center", CF_line | CF_no_paragraph | CF_close_paragraph, CF_formatted_line,
LINE_line, 1,
+"centerchap", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading | CF_deprecated, CF_formatted_line | CF_unnumbered,
LINE_line, 1,
+"chapheading", CF_line | CF_no_paragraph | CF_contain_basic_inline |
CF_sectioning_heading | CF_close_paragraph | CF_global, CF_formatted_line,
LINE_line, 1,
+"chapter", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading, CF_formatted_line, LINE_line, 1,
+"cindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"cite", CF_brace, 0, BRACE_style_other, 1,
+"clear", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 1,
+"click", CF_brace, 0, BRACE_noarg, 0,
+"clicksequence", CF_brace, 0, BRACE_style_other, 1,
+"clickstyle", CF_line | CF_no_paragraph | CF_global | CF_preamble, 0,
LINE_lineraw, 1,
+"code", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"codequotebacktick", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"codequoteundirected", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"columnfractions", CF_line | CF_no_paragraph | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"comma", CF_brace, 0, BRACE_noarg, 0,
+"command", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"comment", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 1,
+"contents", CF_line | CF_no_paragraph | CF_close_paragraph | CF_global |
CF_preamble, 0, LINE_lineraw, 0,
+"copying", CF_block | CF_no_paragraph | CF_close_paragraph | CF_global_unique
| CF_preamble, 0, BLOCK_region, 0,
+"copyright", CF_brace, 0, BRACE_noarg, 0,
+"cpindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"defblock", CF_block | CF_no_paragraph | CF_close_paragraph, 0, BLOCK_def, 0,
+"defcodeindex", CF_line | CF_no_paragraph | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"defcv", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"defcvx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"deffn", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"deffnx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"defindex", CF_line | CF_no_paragraph | CF_preamble | CF_contain_plain_text,
0, LINE_specific, 1,
+"definfoenclose", CF_line | CF_no_paragraph | CF_preamble |
CF_contain_plain_text | CF_deprecated, 0, LINE_specific, 3,
+"definfoenclose_command", CF_internal | CF_brace, 0, BRACE_style_other, 1,
+"defivar", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defivarx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"defline", CF_line | CF_no_paragraph | CF_def | CF_close_paragraph, 0,
LINE_line, 1,
+"defmac", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defmacx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"defmethod", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defmethodx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"defop", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"defopt", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defoptx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"defopx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"defspec", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defspecx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"deftp", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"deftpx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"deftypecv", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypecvx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"deftypefn", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypefnnewline", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"deftypefnx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"deftypefun", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypefunx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"deftypeivar", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypeivarx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"deftypeline", CF_line | CF_no_paragraph | CF_def | CF_close_paragraph, 0,
LINE_line, 1,
+"deftypemethod", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline
| CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypemethodx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline
| CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"deftypeop", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypeopx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"deftypevar", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypevarx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"deftypevr", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"deftypevrx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"defun", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defunx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"defvar", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, BLOCK_def, 0,
+"defvarx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_def_alias | CF_close_paragraph, 0, LINE_line, 1,
+"defvr", CF_block | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, BLOCK_def, 0,
+"defvrx", CF_line | CF_no_paragraph | CF_def | CF_contain_basic_inline |
CF_close_paragraph, 0, LINE_line, 1,
+"detailmenu", CF_block | CF_no_paragraph | CF_close_paragraph | CF_global, 0,
BLOCK_menu, 0,
+"dfn", CF_brace, 0, BRACE_style_other, 1,
+"dh", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"dircategory", CF_line | CF_no_paragraph | CF_close_paragraph | CF_preamble |
CF_contain_basic_inline, 0, LINE_line, 1,
+"direntry", CF_block | CF_no_paragraph | CF_close_paragraph | CF_preamble, 0,
BLOCK_menu, 0,
+"display", CF_block | CF_no_paragraph | CF_close_paragraph | CF_preformatted,
0, BLOCK_preformatted, 0,
+"displaymath", CF_block | CF_no_paragraph | CF_close_paragraph | CF_math, 0,
BLOCK_math, 0,
+"dmn", CF_brace | CF_contain_plain_text, 0, BRACE_other, 1,
+"docbook", CF_block | CF_no_paragraph | CF_preamble, 0, BLOCK_format_raw, 0,
+"documentdescription", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_global_unique | CF_preamble, 0, BLOCK_region, 0,
+"documentencoding", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_text, 1,
+"documentlanguage", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_text, 1,
+"dotaccent", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"dotless", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"dots", CF_brace, 0, BRACE_noarg, 0,
+"email", CF_brace | CF_contain_basic_inline, 0, BRACE_arguments, 2,
+"emph", CF_brace, 0, BRACE_style_other, 1,
+"end", CF_line | CF_no_paragraph | CF_preamble | CF_contain_plain_text, 0,
LINE_text, 1,
+"enddots", CF_brace, 0, BRACE_noarg, 0,
+"enumerate", CF_block | CF_no_paragraph | CF_close_paragraph | CF_blockitem |
CF_contain_basic_inline, 0, BLOCK_item_container, 1,
+"env", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"equiv", CF_brace, 0, BRACE_noarg, 0,
+"error", CF_brace, 0, BRACE_noarg, 0,
+"errormsg", CF_brace | CF_preamble | CF_contain_basic_inline |
CF_no_paragraph, CF_non_formatted_brace, BRACE_arguments, 1,
+"euro", CF_brace, 0, BRACE_noarg, 0,
+"evenfooting", CF_line | CF_no_paragraph | CF_global_unique | CF_heading_spec
| CF_preamble | CF_contain_basic_inline, 0, LINE_line, 1,
+"evenfootingmarks", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble
| CF_contain_plain_text, 0, LINE_specific, 1,
+"evenheading", CF_line | CF_no_paragraph | CF_global_unique | CF_heading_spec
| CF_preamble | CF_contain_basic_inline, 0, LINE_line, 1,
+"evenheadingmarks", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble
| CF_contain_plain_text, 0, LINE_specific, 1,
+"everyfooting", CF_line | CF_no_paragraph | CF_global_unique | CF_heading_spec
| CF_preamble | CF_contain_basic_inline, 0, LINE_line, 1,
+"everyfootingmarks", CF_line | CF_no_paragraph | CF_global_unique |
CF_preamble | CF_contain_plain_text, 0, LINE_specific, 1,
+"everyheading", CF_line | CF_no_paragraph | CF_global_unique | CF_heading_spec
| CF_preamble | CF_contain_basic_inline, 0, LINE_line, 1,
+"everyheadingmarks", CF_line | CF_no_paragraph | CF_global_unique |
CF_preamble | CF_contain_plain_text, 0, LINE_specific, 1,
+"example", CF_block | CF_no_paragraph | CF_close_paragraph | CF_preformatted |
CF_preformatted_code | CF_variadic | CF_contain_basic_inline, 0,
BLOCK_preformatted, 0,
+"exampleindent", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"exclamdown", CF_brace, 0, BRACE_noarg, 0,
+"exdent", CF_line | CF_no_paragraph | CF_close_paragraph, CF_formatted_line,
LINE_line, 1,
+"expansion", CF_brace, 0, BRACE_noarg, 0,
+"file", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"finalout", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 0,
+"findex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"firstparagraphindent", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"float", CF_block | CF_no_paragraph | CF_close_paragraph | CF_global |
CF_contain_basic_inline, 0, BLOCK_float, 2,
+"flushleft", CF_block | CF_no_paragraph | CF_close_paragraph, 0, 0, 0,
+"flushright", CF_block | CF_no_paragraph | CF_close_paragraph, 0, 0, 0,
+"fnindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"fonttextsize", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"footnote", CF_brace | CF_global, 0, BRACE_context, 1,
+"footnotestyle", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"format", CF_block | CF_no_paragraph | CF_close_paragraph | CF_preformatted,
0, BLOCK_preformatted, 0,
+"frenchspacing", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"ftable", CF_block | CF_no_paragraph | CF_close_paragraph | CF_blockitem |
CF_contain_basic_inline, 0, BLOCK_item_line, 1,
+"geq", CF_brace, 0, BRACE_noarg, 0,
+"group", CF_block | CF_no_paragraph | CF_close_paragraph, 0, 0, 0,
+"guillemetleft", CF_brace, 0, BRACE_noarg, 0,
+"guillemetright", CF_brace, 0, BRACE_noarg, 0,
+"guillemotleft", CF_brace, 0, BRACE_noarg, 0,
+"guillemotright", CF_brace, 0, BRACE_noarg, 0,
+"guilsinglleft", CF_brace, 0, BRACE_noarg, 0,
+"guilsinglright", CF_brace, 0, BRACE_noarg, 0,
+"hashchar", CF_brace, 0, BRACE_noarg, 0,
+"heading", CF_line | CF_no_paragraph | CF_contain_basic_inline |
CF_sectioning_heading | CF_close_paragraph | CF_global, CF_formatted_line,
LINE_line, 1,
+"headings", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"headitem", CF_nobrace | CF_close_paragraph | CF_no_paragraph,
CF_formatted_nobrace, NOBRACE_skipspace, 0,
+"headitemfont", CF_brace, 0, BRACE_style_other, 1,
+"html", CF_block | CF_no_paragraph | CF_preamble, 0, BLOCK_format_raw, 0,
+"hyphenation", CF_brace | CF_global | CF_preamble | CF_contain_plain_text |
CF_no_paragraph, CF_non_formatted_brace, BRACE_arguments, 1,
+"i", CF_brace, 0, BRACE_style_other, 1,
+"ifclear", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 1,
+"ifcommanddefined", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 1,
+"ifcommandnotdefined", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 1,
+"ifdocbook", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifhtml", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifinfo", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"iflatex", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnotdocbook", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnothtml", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnotinfo", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnotlatex", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnotplaintext", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnottex", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifnotxml", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifplaintext", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifset", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 1,
+"iftex", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ifxml", CF_block | CF_no_paragraph, 0, BLOCK_conditional, 0,
+"ignore", CF_block | CF_no_paragraph | CF_preamble, CF_non_formatted_block,
BLOCK_raw, 0,
+"image", CF_brace | CF_contain_basic_inline | CF_no_paragraph, 0,
BRACE_arguments, 5,
+"include", CF_line | CF_no_paragraph | CF_preamble | CF_contain_plain_text, 0,
LINE_text, 1,
+"indent", CF_nobrace | CF_preamble | CF_no_paragraph, 0, NOBRACE_skipspace, 0,
+"indentedblock", CF_block | CF_no_paragraph | CF_close_paragraph, 0, 0, 0,
+"index_entry_command", CF_internal | CF_line | CF_index_entry_command |
CF_contain_basic_inline | CF_no_paragraph, 0, LINE_line, 1,
+"indicateurl", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"inforef", CF_brace | CF_ref | CF_contain_basic_inline | CF_deprecated, 0,
BRACE_arguments, 3,
+"inlinefmt", CF_brace | CF_preamble, CF_inline_format, BRACE_inline, 2,
+"inlinefmtifelse", CF_brace | CF_preamble, CF_inline_format, BRACE_inline, 3,
+"inlineifclear", CF_brace | CF_preamble, CF_inline_conditional, BRACE_inline,
2,
+"inlineifset", CF_brace | CF_preamble, CF_inline_conditional, BRACE_inline, 2,
+"inlineraw", CF_brace | CF_preamble, CF_inline_format, BRACE_inline, 2,
+"insertcopying", CF_line | CF_no_paragraph | CF_close_paragraph | CF_global,
CF_formattable_line, LINE_lineraw, 0,
+"item", CF_nobrace | CF_close_paragraph | CF_no_paragraph,
CF_formatted_nobrace, NOBRACE_skipspace, 0,
+"item_LINE", CF_line | CF_no_paragraph | CF_close_paragraph,
CF_formatted_line, LINE_line, 1,
+"itemize", CF_block | CF_no_paragraph | CF_close_paragraph | CF_blockitem |
CF_contain_basic_inline, 0, BLOCK_item_container, 1,
+"itemx", CF_line | CF_no_paragraph | CF_close_paragraph, CF_formatted_line,
LINE_line, 1,
+"kbd", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"kbdinputstyle", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"key", CF_brace | CF_contain_plain_text, CF_brace_code, BRACE_style_code, 1,
+"kindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"kyindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"l", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"latex", CF_block | CF_no_paragraph | CF_preamble, 0, BLOCK_format_raw, 0,
+"lbracechar", CF_brace, 0, BRACE_noarg, 0,
+"leq", CF_brace, 0, BRACE_noarg, 0,
+"linemacro", CF_block | CF_no_paragraph | CF_preamble, CF_non_formatted_block,
BLOCK_raw, 0,
+"link", CF_brace | CF_ref | CF_contain_basic_inline, 0, BRACE_arguments, 3,
+"lisp", CF_block | CF_no_paragraph | CF_close_paragraph | CF_preformatted |
CF_preformatted_code, 0, BLOCK_preformatted, 0,
+"listoffloats", CF_line | CF_no_paragraph | CF_close_paragraph | CF_global |
CF_contain_basic_inline, CF_formattable_line, LINE_line, 1,
+"lowersections", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 0,
+"macro", CF_block | CF_no_paragraph | CF_preamble, CF_non_formatted_block,
BLOCK_raw, 0,
+"majorheading", CF_line | CF_no_paragraph | CF_contain_basic_inline |
CF_sectioning_heading | CF_close_paragraph | CF_global, CF_formatted_line,
LINE_line, 1,
+"math", CF_brace | CF_math | CF_contain_basic_inline, 0, BRACE_context, 1,
+"menu", CF_block | CF_no_paragraph | CF_close_paragraph, 0, BLOCK_menu, 0,
+"microtype", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"minus", CF_brace, 0, BRACE_noarg, 0,
+"multitable", CF_block | CF_no_paragraph | CF_close_paragraph | CF_blockitem |
CF_contain_basic_inline, 0, BLOCK_multitable, 0,
+"need", CF_line | CF_no_paragraph | CF_close_paragraph |
CF_contain_plain_text, CF_formattable_line, LINE_specific, 1,
+"node", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline,
CF_formatted_line, LINE_line, 4,
+"nodedescription", CF_line | CF_no_paragraph | CF_close_paragraph |
CF_contain_basic_inline, 0, LINE_line, 1,
+"nodedescriptionblock", CF_block | CF_no_paragraph | CF_close_paragraph,
CF_non_formatted_block, 0, 0,
+"noindent", CF_nobrace | CF_preamble | CF_no_paragraph, 0, NOBRACE_skipspace,
0,
+"novalidate", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"o", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"oddfooting", CF_line | CF_no_paragraph | CF_global_unique | CF_heading_spec |
CF_preamble | CF_contain_basic_inline, 0, LINE_line, 1,
+"oddfootingmarks", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble
| CF_contain_plain_text, 0, LINE_specific, 1,
+"oddheading", CF_line | CF_no_paragraph | CF_global_unique | CF_heading_spec |
CF_preamble | CF_contain_basic_inline, 0, LINE_line, 1,
+"oddheadingmarks", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble
| CF_contain_plain_text, 0, LINE_specific, 1,
+"oe", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"ogonek", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"option", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"ordf", CF_brace, 0, BRACE_noarg, 0,
+"ordm", CF_brace, 0, BRACE_noarg, 0,
+"page", CF_line | CF_no_paragraph | CF_close_paragraph, CF_formatted_line,
LINE_lineraw, 0,
+"pagesizes", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble |
CF_contain_plain_text, 0, LINE_line, 1,
+"paragraphindent", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"part", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading | CF_global, CF_formatted_line | CF_unnumbered,
LINE_line, 1,
+"pgindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"pindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"point", CF_brace, 0, BRACE_noarg, 0,
+"pounds", CF_brace, 0, BRACE_noarg, 0,
+"print", CF_brace, 0, BRACE_noarg, 0,
+"printindex", CF_line | CF_no_paragraph | CF_close_paragraph | CF_global |
CF_contain_plain_text, CF_formattable_line, LINE_specific, 1,
+"pxref", CF_brace | CF_ref | CF_contain_basic_inline, 0, BRACE_arguments, 5,
+"questiondown", CF_brace, 0, BRACE_noarg, 0,
+"quotation", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_contain_basic_inline, 0, BLOCK_quotation, 1,
+"quotedblbase", CF_brace, 0, BRACE_noarg, 0,
+"quotedblleft", CF_brace, 0, BRACE_noarg, 0,
+"quotedblright", CF_brace, 0, BRACE_noarg, 0,
+"quoteleft", CF_brace, 0, BRACE_noarg, 0,
+"quoteright", CF_brace, 0, BRACE_noarg, 0,
+"quotesinglbase", CF_brace, 0, BRACE_noarg, 0,
+"r", CF_brace, 0, BRACE_style_no_code, 1,
+"raggedright", CF_block | CF_no_paragraph | CF_close_paragraph, 0, 0, 0,
+"raisesections", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 0,
+"rbracechar", CF_brace, 0, BRACE_noarg, 0,
+"ref", CF_brace | CF_ref | CF_contain_basic_inline, 0, BRACE_arguments, 5,
+"refill", CF_nobrace | CF_preamble | CF_deprecated | CF_no_paragraph, 0,
NOBRACE_other, 0,
+"registeredsymbol", CF_brace, 0, BRACE_noarg, 0,
+"result", CF_brace, 0, BRACE_noarg, 0,
+"ringaccent", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"rmacro", CF_block | CF_no_paragraph | CF_preamble, CF_non_formatted_block,
BLOCK_raw, 0,
+"samp", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"sansserif", CF_brace, 0, BRACE_style_other, 1,
+"sc", CF_brace, 0, BRACE_style_other, 1,
+"section", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading, CF_formatted_line, LINE_line, 1,
+"seealso", CF_brace | CF_contain_basic_inline, CF_in_index, BRACE_arguments, 1,
+"seeentry", CF_brace | CF_contain_basic_inline, CF_in_index, BRACE_arguments,
1,
+"set", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 2,
+"setchapternewpage", CF_line | CF_no_paragraph | CF_global_unique |
CF_preamble | CF_contain_plain_text, 0, LINE_specific, 1,
+"setfilename", CF_line | CF_no_paragraph | CF_close_paragraph |
CF_global_unique | CF_preamble | CF_contain_plain_text, 0, LINE_text, 1,
+"settitle", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble |
CF_contain_basic_inline, 0, LINE_line, 1,
+"shortcaption", CF_brace | CF_close_paragraph | CF_contain_basic_inline |
CF_no_paragraph, CF_non_formatted_brace, BRACE_context, 1,
+"shortcontents", CF_line | CF_no_paragraph | CF_close_paragraph | CF_global |
CF_preamble, 0, LINE_lineraw, 0,
+"shorttitlepage", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble |
CF_contain_basic_inline, 0, LINE_line, 1,
+"slanted", CF_brace, 0, BRACE_style_other, 1,
+"smallbook", CF_line | CF_no_paragraph | CF_global_unique | CF_preamble, 0,
LINE_lineraw, 0,
+"smalldisplay", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_preformatted, 0, BLOCK_preformatted, 0,
+"smallexample", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_preformatted | CF_preformatted_code, 0, BLOCK_preformatted, 0,
+"smallformat", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_preformatted, 0, BLOCK_preformatted, 0,
+"smallindentedblock", CF_block | CF_no_paragraph | CF_close_paragraph, 0, 0, 0,
+"smalllisp", CF_block | CF_no_paragraph | CF_close_paragraph | CF_preformatted
| CF_preformatted_code, 0, BLOCK_preformatted, 0,
+"smallquotation", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_contain_basic_inline, 0, BLOCK_quotation, 1,
+"sortas", CF_brace | CF_contain_plain_text, CF_in_index |
CF_non_formatted_brace, BRACE_arguments, 1,
+"sp", CF_line | CF_no_paragraph | CF_close_paragraph | CF_contain_plain_text,
CF_formattable_line, LINE_specific, 1,
+"ss", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"strong", CF_brace, 0, BRACE_style_other, 1,
+"sub", CF_brace, 0, BRACE_style_other, 1,
+"subentry", CF_line | CF_no_paragraph | CF_contain_basic_inline, CF_in_index,
LINE_line, 1,
+"subheading", CF_line | CF_no_paragraph | CF_contain_basic_inline |
CF_sectioning_heading | CF_close_paragraph | CF_global, CF_formatted_line,
LINE_line, 1,
+"subsection", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading, CF_formatted_line, LINE_line, 1,
+"subsubheading", CF_line | CF_no_paragraph | CF_contain_basic_inline |
CF_sectioning_heading | CF_close_paragraph | CF_global, CF_formatted_line,
LINE_line, 1,
+"subsubsection", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline
| CF_sectioning_heading, CF_formatted_line, LINE_line, 1,
+"subtitle", CF_line | CF_no_paragraph | CF_global | CF_contain_basic_inline,
CF_formatted_line, LINE_line, 1,
+"summarycontents", CF_line | CF_no_paragraph | CF_close_paragraph | CF_global
| CF_preamble, 0, LINE_lineraw, 0,
+"sup", CF_brace, 0, BRACE_style_other, 1,
+"syncodeindex", CF_line | CF_no_paragraph | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 2,
+"synindex", CF_line | CF_no_paragraph | CF_preamble | CF_contain_plain_text,
0, LINE_specific, 2,
+"t", CF_brace, CF_brace_code, BRACE_style_code, 1,
+"tab", CF_nobrace | CF_close_paragraph | CF_no_paragraph,
CF_formatted_nobrace, NOBRACE_skipspace, 0,
+"table", CF_block | CF_no_paragraph | CF_close_paragraph | CF_blockitem |
CF_contain_basic_inline, 0, BLOCK_item_line, 1,
+"tex", CF_block | CF_no_paragraph | CF_preamble, 0, BLOCK_format_raw, 0,
+"textdegree", CF_brace, 0, BRACE_noarg, 0,
+"th", CF_brace, CF_letter_no_arg, BRACE_noarg, 0,
+"thischapter", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thischaptername", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thischapternum", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thisfile", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thispage", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thissection", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thissectionname", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thissectionnum", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"thistitle", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_other, 0,
+"tie", CF_brace, 0, BRACE_noarg, 0,
+"tieaccent", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"tindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"title", CF_line | CF_no_paragraph | CF_global_unique |
CF_contain_basic_inline, CF_formatted_line, LINE_line, 1,
+"titlefont", CF_brace | CF_close_paragraph | CF_global |
CF_contain_basic_inline | CF_no_paragraph, 0, BRACE_other, 1,
+"titlepage", CF_block | CF_no_paragraph | CF_close_paragraph |
CF_global_unique | CF_preamble, 0, BLOCK_region, 0,
+"today", CF_brace, 0, BRACE_noarg, 0,
+"top", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading | CF_global_unique, CF_formatted_line | CF_unnumbered,
LINE_line, 1,
+"tpindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"txiinternalvalue", CF_internal | CF_brace, 0, BRACE_special, 1,
+"u", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"ubaraccent", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"udotaccent", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"unmacro", CF_line | CF_no_paragraph | CF_preamble, 0, LINE_lineraw, 1,
+"unnumbered", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline |
CF_sectioning_heading, CF_formatted_line | CF_unnumbered, LINE_line, 1,
+"unnumberedsec", CF_line | CF_no_paragraph | CF_root | CF_contain_basic_inline
| CF_sectioning_heading, CF_formatted_line | CF_unnumbered, LINE_line, 1,
+"unnumberedsubsec", CF_line | CF_no_paragraph | CF_root |
CF_contain_basic_inline | CF_sectioning_heading, CF_formatted_line |
CF_unnumbered, LINE_line, 1,
+"unnumberedsubsubsec", CF_line | CF_no_paragraph | CF_root |
CF_contain_basic_inline | CF_sectioning_heading, CF_formatted_line |
CF_unnumbered, LINE_line, 1,
+"uref", CF_brace | CF_contain_basic_inline, 0, BRACE_arguments, 3,
+"urefbreakstyle", CF_line | CF_no_paragraph | CF_global | CF_preamble |
CF_contain_plain_text, 0, LINE_specific, 1,
+"url", CF_brace | CF_contain_basic_inline, 0, BRACE_arguments, 3,
+"v", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+"value", CF_brace, 0, BRACE_special, 1,
+"var", CF_brace, 0, BRACE_style_other, 1,
+"verb", CF_brace, CF_brace_code, BRACE_special, 1,
+"verbatim", CF_block | CF_no_paragraph | CF_close_paragraph, 0, BLOCK_raw, 0,
+"verbatiminclude", CF_line | CF_no_paragraph | CF_close_paragraph |
CF_contain_plain_text, CF_formattable_line, LINE_text, 1,
+"vindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"vrindex", CF_line | CF_no_paragraph | CF_index_entry_command |
CF_contain_basic_inline, 0, LINE_line, 1,
+"vskip", CF_line | CF_no_paragraph, CF_formattable_line, LINE_lineraw, 1,
+"vtable", CF_block | CF_no_paragraph | CF_close_paragraph | CF_blockitem |
CF_contain_basic_inline, 0, BLOCK_item_line, 1,
+"w", CF_brace | CF_contain_basic_inline, 0, BRACE_special, 1,
+"xml", CF_block | CF_no_paragraph | CF_preamble, 0, BLOCK_format_raw, 0,
+"xref", CF_brace | CF_ref | CF_contain_basic_inline, 0, BRACE_arguments, 5,
+"xrefautomaticsectiontitle", CF_line | CF_no_paragraph | CF_global |
CF_preamble | CF_contain_plain_text, 0, LINE_specific, 1,
+"{", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"|", CF_nobrace | CF_in_heading_spec, 0, NOBRACE_symbol, 0,
+"}", CF_nobrace, CF_formatted_nobrace, NOBRACE_symbol, 0,
+"~", CF_brace | CF_accent | CF_contain_plain_text, 0, BRACE_accent, 1,
+};
diff --git a/tp/Texinfo/XS/main/global_commands_types.h
b/tp/Texinfo/XS/main/global_commands_types.h
new file mode 100644
index 0000000000..4319ed2da7
--- /dev/null
+++ b/tp/Texinfo/XS/main/global_commands_types.h
@@ -0,0 +1,83 @@
+/* This file automatically generated by command_data.awk */
+#ifndef GLOBAL_COMMANDS_TYPES_H
+#define GLOBAL_COMMANDS_TYPES_H
+
+#include "tree_types.h"
+
+typedef struct GLOBAL_COMMANDS {
+ /* Elements that should be unique. */
+ ELEMENT *afivepaper;
+ ELEMENT *afourlatex;
+ ELEMENT *afourpaper;
+ ELEMENT *afourwide;
+ ELEMENT *bsixpaper;
+ ELEMENT *copying;
+ ELEMENT *documentdescription;
+ ELEMENT *evenfooting;
+ ELEMENT *evenfootingmarks;
+ ELEMENT *evenheading;
+ ELEMENT *evenheadingmarks;
+ ELEMENT *everyfooting;
+ ELEMENT *everyfootingmarks;
+ ELEMENT *everyheading;
+ ELEMENT *everyheadingmarks;
+ ELEMENT *fonttextsize;
+ ELEMENT *footnotestyle;
+ ELEMENT *novalidate;
+ ELEMENT *oddfooting;
+ ELEMENT *oddfootingmarks;
+ ELEMENT *oddheading;
+ ELEMENT *oddheadingmarks;
+ ELEMENT *pagesizes;
+ ELEMENT *setchapternewpage;
+ ELEMENT *setfilename;
+ ELEMENT *settitle;
+ ELEMENT *shorttitlepage;
+ ELEMENT *smallbook;
+ ELEMENT *title;
+ ELEMENT *titlepage;
+ ELEMENT *top;
+
+ /* Arrays of elements */
+ ELEMENT_LIST dircategory_direntry;
+
+ ELEMENT_LIST floats;
+ ELEMENT_LIST footnotes;
+
+ ELEMENT_LIST allowcodebreaks;
+ ELEMENT_LIST author;
+ ELEMENT_LIST chapheading;
+ ELEMENT_LIST clickstyle;
+ ELEMENT_LIST codequotebacktick;
+ ELEMENT_LIST codequoteundirected;
+ ELEMENT_LIST contents;
+ ELEMENT_LIST deftypefnnewline;
+ ELEMENT_LIST detailmenu;
+ ELEMENT_LIST documentencoding;
+ ELEMENT_LIST documentlanguage;
+ ELEMENT_LIST exampleindent;
+ ELEMENT_LIST firstparagraphindent;
+ ELEMENT_LIST frenchspacing;
+ ELEMENT_LIST heading;
+ ELEMENT_LIST headings;
+ ELEMENT_LIST hyphenation;
+ ELEMENT_LIST insertcopying;
+ ELEMENT_LIST kbdinputstyle;
+ ELEMENT_LIST listoffloats;
+ ELEMENT_LIST majorheading;
+ ELEMENT_LIST microtype;
+ ELEMENT_LIST paragraphindent;
+ ELEMENT_LIST part;
+ ELEMENT_LIST printindex;
+ ELEMENT_LIST shortcontents;
+ ELEMENT_LIST subheading;
+ ELEMENT_LIST subsubheading;
+ ELEMENT_LIST subtitle;
+ ELEMENT_LIST summarycontents;
+ ELEMENT_LIST titlefont;
+ ELEMENT_LIST urefbreakstyle;
+ ELEMENT_LIST xrefautomaticsectiontitle;
+
+} GLOBAL_COMMANDS;
+
+#endif
diff --git a/tp/Texinfo/XS/main/global_multi_commands_case.c
b/tp/Texinfo/XS/main/global_multi_commands_case.c
new file mode 100644
index 0000000000..165bd4fa6d
--- /dev/null
+++ b/tp/Texinfo/XS/main/global_multi_commands_case.c
@@ -0,0 +1,36 @@
+/* This file automatically generated by command_data.awk */
+/* global in command_data.txt */
+
+GLOBAL_CASE(allowcodebreaks);
+GLOBAL_CASE(author);
+GLOBAL_CASE(chapheading);
+GLOBAL_CASE(clickstyle);
+GLOBAL_CASE(codequotebacktick);
+GLOBAL_CASE(codequoteundirected);
+GLOBAL_CASE(contents);
+GLOBAL_CASE(deftypefnnewline);
+GLOBAL_CASE(detailmenu);
+GLOBAL_CASE(documentencoding);
+GLOBAL_CASE(documentlanguage);
+GLOBAL_CASE(exampleindent);
+GLOBAL_CASE(firstparagraphindent);
+GLOBAL_CASE(frenchspacing);
+GLOBAL_CASE(heading);
+GLOBAL_CASE(headings);
+GLOBAL_CASE(hyphenation);
+GLOBAL_CASE(insertcopying);
+GLOBAL_CASE(kbdinputstyle);
+GLOBAL_CASE(listoffloats);
+GLOBAL_CASE(majorheading);
+GLOBAL_CASE(microtype);
+GLOBAL_CASE(paragraphindent);
+GLOBAL_CASE(part);
+GLOBAL_CASE(printindex);
+GLOBAL_CASE(shortcontents);
+GLOBAL_CASE(subheading);
+GLOBAL_CASE(subsubheading);
+GLOBAL_CASE(subtitle);
+GLOBAL_CASE(summarycontents);
+GLOBAL_CASE(titlefont);
+GLOBAL_CASE(urefbreakstyle);
+GLOBAL_CASE(xrefautomaticsectiontitle);
diff --git a/tp/Texinfo/XS/main/global_unique_commands_case.c
b/tp/Texinfo/XS/main/global_unique_commands_case.c
new file mode 100644
index 0000000000..ee85a707b9
--- /dev/null
+++ b/tp/Texinfo/XS/main/global_unique_commands_case.c
@@ -0,0 +1,33 @@
+/* This file automatically generated by command_data.awk */
+/* global_unique in command_data.txt */
+
+GLOBAL_UNIQUE_CASE(afivepaper);
+GLOBAL_UNIQUE_CASE(afourlatex);
+GLOBAL_UNIQUE_CASE(afourpaper);
+GLOBAL_UNIQUE_CASE(afourwide);
+GLOBAL_UNIQUE_CASE(bsixpaper);
+GLOBAL_UNIQUE_CASE(copying);
+GLOBAL_UNIQUE_CASE(documentdescription);
+GLOBAL_UNIQUE_CASE(evenfooting);
+GLOBAL_UNIQUE_CASE(evenfootingmarks);
+GLOBAL_UNIQUE_CASE(evenheading);
+GLOBAL_UNIQUE_CASE(evenheadingmarks);
+GLOBAL_UNIQUE_CASE(everyfooting);
+GLOBAL_UNIQUE_CASE(everyfootingmarks);
+GLOBAL_UNIQUE_CASE(everyheading);
+GLOBAL_UNIQUE_CASE(everyheadingmarks);
+GLOBAL_UNIQUE_CASE(fonttextsize);
+GLOBAL_UNIQUE_CASE(footnotestyle);
+GLOBAL_UNIQUE_CASE(novalidate);
+GLOBAL_UNIQUE_CASE(oddfooting);
+GLOBAL_UNIQUE_CASE(oddfootingmarks);
+GLOBAL_UNIQUE_CASE(oddheading);
+GLOBAL_UNIQUE_CASE(oddheadingmarks);
+GLOBAL_UNIQUE_CASE(pagesizes);
+GLOBAL_UNIQUE_CASE(setchapternewpage);
+GLOBAL_UNIQUE_CASE(settitle);
+GLOBAL_UNIQUE_CASE(shorttitlepage);
+GLOBAL_UNIQUE_CASE(smallbook);
+GLOBAL_UNIQUE_CASE(title);
+GLOBAL_UNIQUE_CASE(titlepage);
+GLOBAL_UNIQUE_CASE(top);
diff --git a/tp/Texinfo/XS/main/options_get_perl.c
b/tp/Texinfo/XS/main/options_get_perl.c
new file mode 100644
index 0000000000..f1e440208a
--- /dev/null
+++ b/tp/Texinfo/XS/main/options_get_perl.c
@@ -0,0 +1,4866 @@
+/* Automatically generated from regenerate_C_options_info.pl */
+
+
+/* Avoid namespace conflicts. */
+#define context perl_context
+
+#define PERL_NO_GET_CONTEXT
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#undef context
+
+ /* See the NOTE in build_perl_info.c on use of functions related to
+ memory allocation */
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "options_types.h"
+#include "converter_types.h"
+#include "utils.h"
+#include "get_perl_info.h"
+#include "build_perl_info.h"
+
+int
+get_options_key_sv_option (OPTIONS *options, const char *key, SV *value, int
force, const CONVERTER *converter)
+{
+ dTHX;
+
+ if (0) {}
+
+/* array_cmdline */
+
+ else if (!strcmp (key, "CSS_FILES"))
+ {
+ if (force <= 0 && options->CSS_FILES.configured > 0)
+ return -1;
+
+ clear_strings_list (options->CSS_FILES.o.strlist);
+ add_svav_to_string_list (value, options->CSS_FILES.o.strlist, svt_byte);
+ }
+ else if (!strcmp (key, "CSS_REFS"))
+ {
+ if (force <= 0 && options->CSS_REFS.configured > 0)
+ return -1;
+
+ clear_strings_list (options->CSS_REFS.o.strlist);
+ add_svav_to_string_list (value, options->CSS_REFS.o.strlist, svt_char);
+ }
+ else if (!strcmp (key, "EXPANDED_FORMATS"))
+ {
+ if (force <= 0 && options->EXPANDED_FORMATS.configured > 0)
+ return -1;
+
+ clear_strings_list (options->EXPANDED_FORMATS.o.strlist);
+ add_svav_to_string_list (value, options->EXPANDED_FORMATS.o.strlist,
svt_byte);
+ }
+ else if (!strcmp (key, "INCLUDE_DIRECTORIES"))
+ {
+ if (force <= 0 && options->INCLUDE_DIRECTORIES.configured > 0)
+ return -1;
+
+ clear_strings_list (options->INCLUDE_DIRECTORIES.o.strlist);
+ add_svav_to_string_list (value, options->INCLUDE_DIRECTORIES.o.strlist,
svt_dir);
+ }
+ else if (!strcmp (key, "TEXINFO_LANGUAGE_DIRECTORIES"))
+ {
+ if (force <= 0 && options->TEXINFO_LANGUAGE_DIRECTORIES.configured > 0)
+ return -1;
+
+ clear_strings_list (options->TEXINFO_LANGUAGE_DIRECTORIES.o.strlist);
+ add_svav_to_string_list (value,
options->TEXINFO_LANGUAGE_DIRECTORIES.o.strlist, svt_dir);
+ }
+
+/* converter_cmdline */
+
+ else if (!strcmp (key, "SPLIT_SIZE"))
+ {
+ if (force <= 0 && options->SPLIT_SIZE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->SPLIT_SIZE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "SPLIT_SIZE", SvPVutf8_nolen (value));
+ options->SPLIT_SIZE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->SPLIT_SIZE.o.integer = -1;
+ }
+ else if (!strcmp (key, "FILLCOLUMN"))
+ {
+ if (force <= 0 && options->FILLCOLUMN.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->FILLCOLUMN.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "FILLCOLUMN", SvPVutf8_nolen (value));
+ options->FILLCOLUMN.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->FILLCOLUMN.o.integer = -1;
+ }
+ else if (!strcmp (key, "NUMBER_SECTIONS"))
+ {
+ if (force <= 0 && options->NUMBER_SECTIONS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NUMBER_SECTIONS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NUMBER_SECTIONS", SvPVutf8_nolen (value));
+ options->NUMBER_SECTIONS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NUMBER_SECTIONS.o.integer = -1;
+ }
+ else if (!strcmp (key, "NUMBER_FOOTNOTES"))
+ {
+ if (force <= 0 && options->NUMBER_FOOTNOTES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NUMBER_FOOTNOTES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NUMBER_FOOTNOTES", SvPVutf8_nolen (value));
+ options->NUMBER_FOOTNOTES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NUMBER_FOOTNOTES.o.integer = -1;
+ }
+ else if (!strcmp (key, "TRANSLITERATE_FILE_NAMES"))
+ {
+ if (force <= 0 && options->TRANSLITERATE_FILE_NAMES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TRANSLITERATE_FILE_NAMES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TRANSLITERATE_FILE_NAMES", SvPVutf8_nolen (value));
+ options->TRANSLITERATE_FILE_NAMES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TRANSLITERATE_FILE_NAMES.o.integer = -1;
+ }
+ else if (!strcmp (key, "SPLIT"))
+ {
+ if (force <= 0 && options->SPLIT.configured > 0)
+ return -1;
+
+ non_perl_free (options->SPLIT.o.string);
+ if (SvOK (value))
+ options->SPLIT.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->SPLIT.o.string = 0;
+ }
+ else if (!strcmp (key, "HEADERS"))
+ {
+ if (force <= 0 && options->HEADERS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->HEADERS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "HEADERS", SvPVutf8_nolen (value));
+ options->HEADERS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->HEADERS.o.integer = -1;
+ }
+ else if (!strcmp (key, "NODE_FILES"))
+ {
+ if (force <= 0 && options->NODE_FILES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NODE_FILES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NODE_FILES", SvPVutf8_nolen (value));
+ options->NODE_FILES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NODE_FILES.o.integer = -1;
+ }
+ else if (!strcmp (key, "VERBOSE"))
+ {
+ if (force <= 0 && options->VERBOSE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->VERBOSE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "VERBOSE", SvPVutf8_nolen (value));
+ options->VERBOSE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->VERBOSE.o.integer = -1;
+ }
+ else if (!strcmp (key, "OUTFILE"))
+ {
+ if (force <= 0 && options->OUTFILE.configured > 0)
+ return -1;
+
+ non_perl_free (options->OUTFILE.o.string);
+ if (SvOK (value))
+ options->OUTFILE.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->OUTFILE.o.string = 0;
+ }
+ else if (!strcmp (key, "SUBDIR"))
+ {
+ if (force <= 0 && options->SUBDIR.configured > 0)
+ return -1;
+
+ non_perl_free (options->SUBDIR.o.string);
+ if (SvOK (value))
+ options->SUBDIR.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->SUBDIR.o.string = 0;
+ }
+ else if (!strcmp (key, "ENABLE_ENCODING"))
+ {
+ if (force <= 0 && options->ENABLE_ENCODING.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->ENABLE_ENCODING.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "ENABLE_ENCODING", SvPVutf8_nolen (value));
+ options->ENABLE_ENCODING.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->ENABLE_ENCODING.o.integer = -1;
+ }
+
+/* converter_customization */
+
+ else if (!strcmp (key, "TOP_NODE_UP"))
+ {
+ if (force <= 0 && options->TOP_NODE_UP.configured > 0)
+ return -1;
+
+ non_perl_free (options->TOP_NODE_UP.o.string);
+ if (SvOK (value))
+ options->TOP_NODE_UP.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->TOP_NODE_UP.o.string = 0;
+ }
+ else if (!strcmp (key, "BASEFILENAME_LENGTH"))
+ {
+ if (force <= 0 && options->BASEFILENAME_LENGTH.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->BASEFILENAME_LENGTH.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "BASEFILENAME_LENGTH", SvPVutf8_nolen (value));
+ options->BASEFILENAME_LENGTH.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->BASEFILENAME_LENGTH.o.integer = -1;
+ }
+ else if (!strcmp (key, "DOC_ENCODING_FOR_INPUT_FILE_NAME"))
+ {
+ if (force <= 0 && options->DOC_ENCODING_FOR_INPUT_FILE_NAME.configured >
0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DOC_ENCODING_FOR_INPUT_FILE_NAME.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DOC_ENCODING_FOR_INPUT_FILE_NAME", SvPVutf8_nolen
(value));
+ options->DOC_ENCODING_FOR_INPUT_FILE_NAME.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DOC_ENCODING_FOR_INPUT_FILE_NAME.o.integer = -1;
+ }
+ else if (!strcmp (key, "DOC_ENCODING_FOR_OUTPUT_FILE_NAME"))
+ {
+ if (force <= 0 && options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.configured
> 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.o.integer = SvIV
(value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DOC_ENCODING_FOR_OUTPUT_FILE_NAME", SvPVutf8_nolen
(value));
+ options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.o.integer = -1;
+ }
+ else if (!strcmp (key, "IMAGE_LINK_PREFIX"))
+ {
+ if (force <= 0 && options->IMAGE_LINK_PREFIX.configured > 0)
+ return -1;
+
+ non_perl_free (options->IMAGE_LINK_PREFIX.o.string);
+ if (SvOK (value))
+ options->IMAGE_LINK_PREFIX.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->IMAGE_LINK_PREFIX.o.string = 0;
+ }
+ else if (!strcmp (key, "CASE_INSENSITIVE_FILENAMES"))
+ {
+ if (force <= 0 && options->CASE_INSENSITIVE_FILENAMES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->CASE_INSENSITIVE_FILENAMES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "CASE_INSENSITIVE_FILENAMES", SvPVutf8_nolen (value));
+ options->CASE_INSENSITIVE_FILENAMES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->CASE_INSENSITIVE_FILENAMES.o.integer = -1;
+ }
+ else if (!strcmp (key, "DEBUG"))
+ {
+ if (force <= 0 && options->DEBUG.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DEBUG.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DEBUG", SvPVutf8_nolen (value));
+ options->DEBUG.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DEBUG.o.integer = -1;
+ }
+ else if (!strcmp (key, "HANDLER_FATAL_ERROR_LEVEL"))
+ {
+ if (force <= 0 && options->HANDLER_FATAL_ERROR_LEVEL.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->HANDLER_FATAL_ERROR_LEVEL.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "HANDLER_FATAL_ERROR_LEVEL", SvPVutf8_nolen (value));
+ options->HANDLER_FATAL_ERROR_LEVEL.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->HANDLER_FATAL_ERROR_LEVEL.o.integer = -1;
+ }
+ else if (!strcmp (key, "TEST"))
+ {
+ if (force <= 0 && options->TEST.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TEST.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TEST", SvPVutf8_nolen (value));
+ options->TEST.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TEST.o.integer = -1;
+ }
+ else if (!strcmp (key, "TEXTCONTENT_COMMENT"))
+ {
+ if (force <= 0 && options->TEXTCONTENT_COMMENT.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TEXTCONTENT_COMMENT.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TEXTCONTENT_COMMENT", SvPVutf8_nolen (value));
+ options->TEXTCONTENT_COMMENT.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TEXTCONTENT_COMMENT.o.integer = -1;
+ }
+ else if (!strcmp (key, "TEXINFO_DTD_VERSION"))
+ {
+ if (force <= 0 && options->TEXINFO_DTD_VERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->TEXINFO_DTD_VERSION.o.string);
+ if (SvOK (value))
+ options->TEXINFO_DTD_VERSION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->TEXINFO_DTD_VERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "USE_UNICODE_COLLATION"))
+ {
+ if (force <= 0 && options->USE_UNICODE_COLLATION.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_UNICODE_COLLATION.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_UNICODE_COLLATION", SvPVutf8_nolen (value));
+ options->USE_UNICODE_COLLATION.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_UNICODE_COLLATION.o.integer = -1;
+ }
+ else if (!strcmp (key, "AFTER_BODY_OPEN"))
+ {
+ if (force <= 0 && options->AFTER_BODY_OPEN.configured > 0)
+ return -1;
+
+ non_perl_free (options->AFTER_BODY_OPEN.o.string);
+ if (SvOK (value))
+ options->AFTER_BODY_OPEN.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->AFTER_BODY_OPEN.o.string = 0;
+ }
+ else if (!strcmp (key, "AFTER_SHORT_TOC_LINES"))
+ {
+ if (force <= 0 && options->AFTER_SHORT_TOC_LINES.configured > 0)
+ return -1;
+
+ non_perl_free (options->AFTER_SHORT_TOC_LINES.o.string);
+ if (SvOK (value))
+ options->AFTER_SHORT_TOC_LINES.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->AFTER_SHORT_TOC_LINES.o.string = 0;
+ }
+ else if (!strcmp (key, "AFTER_TOC_LINES"))
+ {
+ if (force <= 0 && options->AFTER_TOC_LINES.configured > 0)
+ return -1;
+
+ non_perl_free (options->AFTER_TOC_LINES.o.string);
+ if (SvOK (value))
+ options->AFTER_TOC_LINES.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->AFTER_TOC_LINES.o.string = 0;
+ }
+ else if (!strcmp (key, "ASCII_DASHES_AND_QUOTES"))
+ {
+ if (force <= 0 && options->ASCII_DASHES_AND_QUOTES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->ASCII_DASHES_AND_QUOTES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "ASCII_DASHES_AND_QUOTES", SvPVutf8_nolen (value));
+ options->ASCII_DASHES_AND_QUOTES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->ASCII_DASHES_AND_QUOTES.o.integer = -1;
+ }
+ else if (!strcmp (key, "ASCII_GLYPH"))
+ {
+ if (force <= 0 && options->ASCII_GLYPH.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->ASCII_GLYPH.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "ASCII_GLYPH", SvPVutf8_nolen (value));
+ options->ASCII_GLYPH.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->ASCII_GLYPH.o.integer = -1;
+ }
+ else if (!strcmp (key, "ASCII_PUNCTUATION"))
+ {
+ if (force <= 0 && options->ASCII_PUNCTUATION.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->ASCII_PUNCTUATION.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "ASCII_PUNCTUATION", SvPVutf8_nolen (value));
+ options->ASCII_PUNCTUATION.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->ASCII_PUNCTUATION.o.integer = -1;
+ }
+ else if (!strcmp (key, "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN"))
+ {
+ if (force <= 0 && options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.configured
> 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.o.integer = SvIV
(value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN", SvPVutf8_nolen
(value));
+ options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.o.integer = -1;
+ }
+ else if (!strcmp (key, "AUTO_MENU_MAX_WIDTH"))
+ {
+ if (force <= 0 && options->AUTO_MENU_MAX_WIDTH.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->AUTO_MENU_MAX_WIDTH.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "AUTO_MENU_MAX_WIDTH", SvPVutf8_nolen (value));
+ options->AUTO_MENU_MAX_WIDTH.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->AUTO_MENU_MAX_WIDTH.o.integer = -1;
+ }
+ else if (!strcmp (key, "BEFORE_SHORT_TOC_LINES"))
+ {
+ if (force <= 0 && options->BEFORE_SHORT_TOC_LINES.configured > 0)
+ return -1;
+
+ non_perl_free (options->BEFORE_SHORT_TOC_LINES.o.string);
+ if (SvOK (value))
+ options->BEFORE_SHORT_TOC_LINES.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->BEFORE_SHORT_TOC_LINES.o.string = 0;
+ }
+ else if (!strcmp (key, "BEFORE_TOC_LINES"))
+ {
+ if (force <= 0 && options->BEFORE_TOC_LINES.configured > 0)
+ return -1;
+
+ non_perl_free (options->BEFORE_TOC_LINES.o.string);
+ if (SvOK (value))
+ options->BEFORE_TOC_LINES.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->BEFORE_TOC_LINES.o.string = 0;
+ }
+ else if (!strcmp (key, "BIG_RULE"))
+ {
+ if (force <= 0 && options->BIG_RULE.configured > 0)
+ return -1;
+
+ non_perl_free (options->BIG_RULE.o.string);
+ if (SvOK (value))
+ options->BIG_RULE.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->BIG_RULE.o.string = 0;
+ }
+ else if (!strcmp (key, "BODY_ELEMENT_ATTRIBUTES"))
+ {
+ if (force <= 0 && options->BODY_ELEMENT_ATTRIBUTES.configured > 0)
+ return -1;
+
+ non_perl_free (options->BODY_ELEMENT_ATTRIBUTES.o.string);
+ if (SvOK (value))
+ options->BODY_ELEMENT_ATTRIBUTES.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->BODY_ELEMENT_ATTRIBUTES.o.string = 0;
+ }
+ else if (!strcmp (key, "CLASS_BEGIN_USEPACKAGE"))
+ {
+ if (force <= 0 && options->CLASS_BEGIN_USEPACKAGE.configured > 0)
+ return -1;
+
+ non_perl_free (options->CLASS_BEGIN_USEPACKAGE.o.string);
+ if (SvOK (value))
+ options->CLASS_BEGIN_USEPACKAGE.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->CLASS_BEGIN_USEPACKAGE.o.string = 0;
+ }
+ else if (!strcmp (key, "COPIABLE_LINKS"))
+ {
+ if (force <= 0 && options->COPIABLE_LINKS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->COPIABLE_LINKS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "COPIABLE_LINKS", SvPVutf8_nolen (value));
+ options->COPIABLE_LINKS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->COPIABLE_LINKS.o.integer = -1;
+ }
+ else if (!strcmp (key, "CHAPTER_HEADER_LEVEL"))
+ {
+ if (force <= 0 && options->CHAPTER_HEADER_LEVEL.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->CHAPTER_HEADER_LEVEL.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "CHAPTER_HEADER_LEVEL", SvPVutf8_nolen (value));
+ options->CHAPTER_HEADER_LEVEL.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->CHAPTER_HEADER_LEVEL.o.integer = -1;
+ }
+ else if (!strcmp (key, "CHECK_HTMLXREF"))
+ {
+ if (force <= 0 && options->CHECK_HTMLXREF.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->CHECK_HTMLXREF.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "CHECK_HTMLXREF", SvPVutf8_nolen (value));
+ options->CHECK_HTMLXREF.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->CHECK_HTMLXREF.o.integer = -1;
+ }
+ else if (!strcmp (key, "CLOSE_DOUBLE_QUOTE_SYMBOL"))
+ {
+ if (force <= 0 && options->CLOSE_DOUBLE_QUOTE_SYMBOL.configured > 0)
+ return -1;
+
+ non_perl_free (options->CLOSE_DOUBLE_QUOTE_SYMBOL.o.string);
+ if (SvOK (value))
+ options->CLOSE_DOUBLE_QUOTE_SYMBOL.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->CLOSE_DOUBLE_QUOTE_SYMBOL.o.string = 0;
+ }
+ else if (!strcmp (key, "CLOSE_QUOTE_SYMBOL"))
+ {
+ if (force <= 0 && options->CLOSE_QUOTE_SYMBOL.configured > 0)
+ return -1;
+
+ non_perl_free (options->CLOSE_QUOTE_SYMBOL.o.string);
+ if (SvOK (value))
+ options->CLOSE_QUOTE_SYMBOL.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->CLOSE_QUOTE_SYMBOL.o.string = 0;
+ }
+ else if (!strcmp (key, "COLLATION_LANGUAGE"))
+ {
+ if (force <= 0 && options->COLLATION_LANGUAGE.configured > 0)
+ return -1;
+
+ non_perl_free (options->COLLATION_LANGUAGE.o.string);
+ if (SvOK (value))
+ options->COLLATION_LANGUAGE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->COLLATION_LANGUAGE.o.string = 0;
+ }
+ else if (!strcmp (key, "COMMAND_LINE_ENCODING"))
+ {
+ if (force <= 0 && options->COMMAND_LINE_ENCODING.configured > 0)
+ return -1;
+
+ non_perl_free (options->COMMAND_LINE_ENCODING.o.string);
+ if (SvOK (value))
+ options->COMMAND_LINE_ENCODING.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->COMMAND_LINE_ENCODING.o.string = 0;
+ }
+ else if (!strcmp (key, "INDENTED_BLOCK_COMMANDS_IN_TABLE"))
+ {
+ if (force <= 0 && options->INDENTED_BLOCK_COMMANDS_IN_TABLE.configured >
0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->INDENTED_BLOCK_COMMANDS_IN_TABLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "INDENTED_BLOCK_COMMANDS_IN_TABLE", SvPVutf8_nolen
(value));
+ options->INDENTED_BLOCK_COMMANDS_IN_TABLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->INDENTED_BLOCK_COMMANDS_IN_TABLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "CONTENTS_OUTPUT_LOCATION"))
+ {
+ if (force <= 0 && options->CONTENTS_OUTPUT_LOCATION.configured > 0)
+ return -1;
+
+ non_perl_free (options->CONTENTS_OUTPUT_LOCATION.o.string);
+ if (SvOK (value))
+ options->CONTENTS_OUTPUT_LOCATION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->CONTENTS_OUTPUT_LOCATION.o.string = 0;
+ }
+ else if (!strcmp (key, "CONVERT_TO_LATEX_IN_MATH"))
+ {
+ if (force <= 0 && options->CONVERT_TO_LATEX_IN_MATH.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->CONVERT_TO_LATEX_IN_MATH.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "CONVERT_TO_LATEX_IN_MATH", SvPVutf8_nolen (value));
+ options->CONVERT_TO_LATEX_IN_MATH.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->CONVERT_TO_LATEX_IN_MATH.o.integer = -1;
+ }
+ else if (!strcmp (key, "DATE_IN_HEADER"))
+ {
+ if (force <= 0 && options->DATE_IN_HEADER.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DATE_IN_HEADER.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DATE_IN_HEADER", SvPVutf8_nolen (value));
+ options->DATE_IN_HEADER.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DATE_IN_HEADER.o.integer = -1;
+ }
+ else if (!strcmp (key, "DEFAULT_RULE"))
+ {
+ if (force <= 0 && options->DEFAULT_RULE.configured > 0)
+ return -1;
+
+ non_perl_free (options->DEFAULT_RULE.o.string);
+ if (SvOK (value))
+ options->DEFAULT_RULE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->DEFAULT_RULE.o.string = 0;
+ }
+ else if (!strcmp (key, "DEF_TABLE"))
+ {
+ if (force <= 0 && options->DEF_TABLE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DEF_TABLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DEF_TABLE", SvPVutf8_nolen (value));
+ options->DEF_TABLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DEF_TABLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "DO_ABOUT"))
+ {
+ if (force <= 0 && options->DO_ABOUT.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DO_ABOUT.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DO_ABOUT", SvPVutf8_nolen (value));
+ options->DO_ABOUT.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DO_ABOUT.o.integer = -1;
+ }
+ else if (!strcmp (key, "DOCTYPE"))
+ {
+ if (force <= 0 && options->DOCTYPE.configured > 0)
+ return -1;
+
+ non_perl_free (options->DOCTYPE.o.string);
+ if (SvOK (value))
+ options->DOCTYPE.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->DOCTYPE.o.string = 0;
+ }
+ else if (!strcmp (key, "DOCUMENTLANGUAGE_COLLATION"))
+ {
+ if (force <= 0 && options->DOCUMENTLANGUAGE_COLLATION.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DOCUMENTLANGUAGE_COLLATION.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DOCUMENTLANGUAGE_COLLATION", SvPVutf8_nolen (value));
+ options->DOCUMENTLANGUAGE_COLLATION.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DOCUMENTLANGUAGE_COLLATION.o.integer = -1;
+ }
+ else if (!strcmp (key, "END_USEPACKAGE"))
+ {
+ if (force <= 0 && options->END_USEPACKAGE.configured > 0)
+ return -1;
+
+ non_perl_free (options->END_USEPACKAGE.o.string);
+ if (SvOK (value))
+ options->END_USEPACKAGE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->END_USEPACKAGE.o.string = 0;
+ }
+ else if (!strcmp (key, "EPUB_CREATE_CONTAINER_FILE"))
+ {
+ if (force <= 0 && options->EPUB_CREATE_CONTAINER_FILE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->EPUB_CREATE_CONTAINER_FILE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "EPUB_CREATE_CONTAINER_FILE", SvPVutf8_nolen (value));
+ options->EPUB_CREATE_CONTAINER_FILE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->EPUB_CREATE_CONTAINER_FILE.o.integer = -1;
+ }
+ else if (!strcmp (key, "EPUB_KEEP_CONTAINER_FOLDER"))
+ {
+ if (force <= 0 && options->EPUB_KEEP_CONTAINER_FOLDER.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->EPUB_KEEP_CONTAINER_FOLDER.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "EPUB_KEEP_CONTAINER_FOLDER", SvPVutf8_nolen (value));
+ options->EPUB_KEEP_CONTAINER_FOLDER.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->EPUB_KEEP_CONTAINER_FOLDER.o.integer = -1;
+ }
+ else if (!strcmp (key, "EXTENSION"))
+ {
+ if (force <= 0 && options->EXTENSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->EXTENSION.o.string);
+ if (SvOK (value))
+ options->EXTENSION.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->EXTENSION.o.string = 0;
+ }
+ else if (!strcmp (key, "EXTERNAL_CROSSREF_EXTENSION"))
+ {
+ if (force <= 0 && options->EXTERNAL_CROSSREF_EXTENSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->EXTERNAL_CROSSREF_EXTENSION.o.string);
+ if (SvOK (value))
+ options->EXTERNAL_CROSSREF_EXTENSION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->EXTERNAL_CROSSREF_EXTENSION.o.string = 0;
+ }
+ else if (!strcmp (key, "EXTERNAL_CROSSREF_SPLIT"))
+ {
+ if (force <= 0 && options->EXTERNAL_CROSSREF_SPLIT.configured > 0)
+ return -1;
+
+ non_perl_free (options->EXTERNAL_CROSSREF_SPLIT.o.string);
+ if (SvOK (value))
+ options->EXTERNAL_CROSSREF_SPLIT.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->EXTERNAL_CROSSREF_SPLIT.o.string = 0;
+ }
+ else if (!strcmp (key, "EXTERNAL_DIR"))
+ {
+ if (force <= 0 && options->EXTERNAL_DIR.configured > 0)
+ return -1;
+
+ non_perl_free (options->EXTERNAL_DIR.o.string);
+ if (SvOK (value))
+ options->EXTERNAL_DIR.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->EXTERNAL_DIR.o.string = 0;
+ }
+ else if (!strcmp (key, "EXTRA_HEAD"))
+ {
+ if (force <= 0 && options->EXTRA_HEAD.configured > 0)
+ return -1;
+
+ non_perl_free (options->EXTRA_HEAD.o.string);
+ if (SvOK (value))
+ options->EXTRA_HEAD.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->EXTRA_HEAD.o.string = 0;
+ }
+ else if (!strcmp (key, "FOOTNOTE_END_HEADER_LEVEL"))
+ {
+ if (force <= 0 && options->FOOTNOTE_END_HEADER_LEVEL.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->FOOTNOTE_END_HEADER_LEVEL.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "FOOTNOTE_END_HEADER_LEVEL", SvPVutf8_nolen (value));
+ options->FOOTNOTE_END_HEADER_LEVEL.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->FOOTNOTE_END_HEADER_LEVEL.o.integer = -1;
+ }
+ else if (!strcmp (key, "FOOTNOTE_SEPARATE_HEADER_LEVEL"))
+ {
+ if (force <= 0 && options->FOOTNOTE_SEPARATE_HEADER_LEVEL.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->FOOTNOTE_SEPARATE_HEADER_LEVEL.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "FOOTNOTE_SEPARATE_HEADER_LEVEL", SvPVutf8_nolen
(value));
+ options->FOOTNOTE_SEPARATE_HEADER_LEVEL.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->FOOTNOTE_SEPARATE_HEADER_LEVEL.o.integer = -1;
+ }
+ else if (!strcmp (key, "HEADER_IN_TABLE"))
+ {
+ if (force <= 0 && options->HEADER_IN_TABLE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->HEADER_IN_TABLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "HEADER_IN_TABLE", SvPVutf8_nolen (value));
+ options->HEADER_IN_TABLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->HEADER_IN_TABLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "HIGHLIGHT_SYNTAX"))
+ {
+ if (force <= 0 && options->HIGHLIGHT_SYNTAX.configured > 0)
+ return -1;
+
+ non_perl_free (options->HIGHLIGHT_SYNTAX.o.string);
+ if (SvOK (value))
+ options->HIGHLIGHT_SYNTAX.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->HIGHLIGHT_SYNTAX.o.string = 0;
+ }
+ else if (!strcmp (key, "HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE"))
+ {
+ if (force <= 0 && options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.configured
> 0)
+ return -1;
+
+ non_perl_free (options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.o.string);
+ if (SvOK (value))
+ options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.o.string = 0;
+ }
+ else if (!strcmp (key, "HTML_MATH"))
+ {
+ if (force <= 0 && options->HTML_MATH.configured > 0)
+ return -1;
+
+ non_perl_free (options->HTML_MATH.o.string);
+ if (SvOK (value))
+ options->HTML_MATH.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->HTML_MATH.o.string = 0;
+ }
+ else if (!strcmp (key, "HTML_ROOT_ELEMENT_ATTRIBUTES"))
+ {
+ if (force <= 0 && options->HTML_ROOT_ELEMENT_ATTRIBUTES.configured > 0)
+ return -1;
+
+ non_perl_free (options->HTML_ROOT_ELEMENT_ATTRIBUTES.o.string);
+ if (SvOK (value))
+ options->HTML_ROOT_ELEMENT_ATTRIBUTES.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->HTML_ROOT_ELEMENT_ATTRIBUTES.o.string = 0;
+ }
+ else if (!strcmp (key, "HTMLXREF_FILE"))
+ {
+ if (force <= 0 && options->HTMLXREF_FILE.configured > 0)
+ return -1;
+
+ non_perl_free (options->HTMLXREF_FILE.o.string);
+ if (SvOK (value))
+ options->HTMLXREF_FILE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->HTMLXREF_FILE.o.string = 0;
+ }
+ else if (!strcmp (key, "HTMLXREF_MODE"))
+ {
+ if (force <= 0 && options->HTMLXREF_MODE.configured > 0)
+ return -1;
+
+ non_perl_free (options->HTMLXREF_MODE.o.string);
+ if (SvOK (value))
+ options->HTMLXREF_MODE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->HTMLXREF_MODE.o.string = 0;
+ }
+ else if (!strcmp (key, "ICONS"))
+ {
+ if (force <= 0 && options->ICONS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->ICONS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "ICONS", SvPVutf8_nolen (value));
+ options->ICONS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->ICONS.o.integer = -1;
+ }
+ else if (!strcmp (key, "INDEX_ENTRY_COLON"))
+ {
+ if (force <= 0 && options->INDEX_ENTRY_COLON.configured > 0)
+ return -1;
+
+ non_perl_free (options->INDEX_ENTRY_COLON.o.string);
+ if (SvOK (value))
+ options->INDEX_ENTRY_COLON.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->INDEX_ENTRY_COLON.o.string = 0;
+ }
+ else if (!strcmp (key, "INDEX_SPECIAL_CHARS_WARNING"))
+ {
+ if (force <= 0 && options->INDEX_SPECIAL_CHARS_WARNING.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->INDEX_SPECIAL_CHARS_WARNING.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "INDEX_SPECIAL_CHARS_WARNING", SvPVutf8_nolen (value));
+ options->INDEX_SPECIAL_CHARS_WARNING.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->INDEX_SPECIAL_CHARS_WARNING.o.integer = -1;
+ }
+ else if (!strcmp (key, "INFO_JS_DIR"))
+ {
+ if (force <= 0 && options->INFO_JS_DIR.configured > 0)
+ return -1;
+
+ non_perl_free (options->INFO_JS_DIR.o.string);
+ if (SvOK (value))
+ options->INFO_JS_DIR.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->INFO_JS_DIR.o.string = 0;
+ }
+ else if (!strcmp (key, "INFO_SPECIAL_CHARS_QUOTE"))
+ {
+ if (force <= 0 && options->INFO_SPECIAL_CHARS_QUOTE.configured > 0)
+ return -1;
+
+ non_perl_free (options->INFO_SPECIAL_CHARS_QUOTE.o.string);
+ if (SvOK (value))
+ options->INFO_SPECIAL_CHARS_QUOTE.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->INFO_SPECIAL_CHARS_QUOTE.o.string = 0;
+ }
+ else if (!strcmp (key, "INFO_SPECIAL_CHARS_WARNING"))
+ {
+ if (force <= 0 && options->INFO_SPECIAL_CHARS_WARNING.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->INFO_SPECIAL_CHARS_WARNING.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "INFO_SPECIAL_CHARS_WARNING", SvPVutf8_nolen (value));
+ options->INFO_SPECIAL_CHARS_WARNING.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->INFO_SPECIAL_CHARS_WARNING.o.integer = -1;
+ }
+ else if (!strcmp (key, "IGNORE_REF_TO_TOP_NODE_UP"))
+ {
+ if (force <= 0 && options->IGNORE_REF_TO_TOP_NODE_UP.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->IGNORE_REF_TO_TOP_NODE_UP.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "IGNORE_REF_TO_TOP_NODE_UP", SvPVutf8_nolen (value));
+ options->IGNORE_REF_TO_TOP_NODE_UP.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->IGNORE_REF_TO_TOP_NODE_UP.o.integer = -1;
+ }
+ else if (!strcmp (key, "INLINE_CSS_STYLE"))
+ {
+ if (force <= 0 && options->INLINE_CSS_STYLE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->INLINE_CSS_STYLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "INLINE_CSS_STYLE", SvPVutf8_nolen (value));
+ options->INLINE_CSS_STYLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->INLINE_CSS_STYLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "INPUT_FILE_NAME_ENCODING"))
+ {
+ if (force <= 0 && options->INPUT_FILE_NAME_ENCODING.configured > 0)
+ return -1;
+
+ non_perl_free (options->INPUT_FILE_NAME_ENCODING.o.string);
+ if (SvOK (value))
+ options->INPUT_FILE_NAME_ENCODING.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->INPUT_FILE_NAME_ENCODING.o.string = 0;
+ }
+ else if (!strcmp (key, "JS_WEBLABELS"))
+ {
+ if (force <= 0 && options->JS_WEBLABELS.configured > 0)
+ return -1;
+
+ non_perl_free (options->JS_WEBLABELS.o.string);
+ if (SvOK (value))
+ options->JS_WEBLABELS.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->JS_WEBLABELS.o.string = 0;
+ }
+ else if (!strcmp (key, "JS_WEBLABELS_FILE"))
+ {
+ if (force <= 0 && options->JS_WEBLABELS_FILE.configured > 0)
+ return -1;
+
+ non_perl_free (options->JS_WEBLABELS_FILE.o.string);
+ if (SvOK (value))
+ options->JS_WEBLABELS_FILE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->JS_WEBLABELS_FILE.o.string = 0;
+ }
+ else if (!strcmp (key, "LATEX_FLOATS_FILE_EXTENSION"))
+ {
+ if (force <= 0 && options->LATEX_FLOATS_FILE_EXTENSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->LATEX_FLOATS_FILE_EXTENSION.o.string);
+ if (SvOK (value))
+ options->LATEX_FLOATS_FILE_EXTENSION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->LATEX_FLOATS_FILE_EXTENSION.o.string = 0;
+ }
+ else if (!strcmp (key, "LOCALE_ENCODING"))
+ {
+ if (force <= 0 && options->LOCALE_ENCODING.configured > 0)
+ return -1;
+
+ non_perl_free (options->LOCALE_ENCODING.o.string);
+ if (SvOK (value))
+ options->LOCALE_ENCODING.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->LOCALE_ENCODING.o.string = 0;
+ }
+ else if (!strcmp (key, "L2H_CLEAN"))
+ {
+ if (force <= 0 && options->L2H_CLEAN.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->L2H_CLEAN.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "L2H_CLEAN", SvPVutf8_nolen (value));
+ options->L2H_CLEAN.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->L2H_CLEAN.o.integer = -1;
+ }
+ else if (!strcmp (key, "L2H_FILE"))
+ {
+ if (force <= 0 && options->L2H_FILE.configured > 0)
+ return -1;
+
+ non_perl_free (options->L2H_FILE.o.string);
+ if (SvOK (value))
+ options->L2H_FILE.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->L2H_FILE.o.string = 0;
+ }
+ else if (!strcmp (key, "L2H_HTML_VERSION"))
+ {
+ if (force <= 0 && options->L2H_HTML_VERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->L2H_HTML_VERSION.o.string);
+ if (SvOK (value))
+ options->L2H_HTML_VERSION.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->L2H_HTML_VERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "L2H_L2H"))
+ {
+ if (force <= 0 && options->L2H_L2H.configured > 0)
+ return -1;
+
+ non_perl_free (options->L2H_L2H.o.string);
+ if (SvOK (value))
+ options->L2H_L2H.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->L2H_L2H.o.string = 0;
+ }
+ else if (!strcmp (key, "L2H_SKIP"))
+ {
+ if (force <= 0 && options->L2H_SKIP.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->L2H_SKIP.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "L2H_SKIP", SvPVutf8_nolen (value));
+ options->L2H_SKIP.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->L2H_SKIP.o.integer = -1;
+ }
+ else if (!strcmp (key, "L2H_TMP"))
+ {
+ if (force <= 0 && options->L2H_TMP.configured > 0)
+ return -1;
+
+ non_perl_free (options->L2H_TMP.o.string);
+ if (SvOK (value))
+ options->L2H_TMP.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->L2H_TMP.o.string = 0;
+ }
+ else if (!strcmp (key, "MATHJAX_CONFIGURATION"))
+ {
+ if (force <= 0 && options->MATHJAX_CONFIGURATION.configured > 0)
+ return -1;
+
+ non_perl_free (options->MATHJAX_CONFIGURATION.o.string);
+ if (SvOK (value))
+ options->MATHJAX_CONFIGURATION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->MATHJAX_CONFIGURATION.o.string = 0;
+ }
+ else if (!strcmp (key, "MATHJAX_SCRIPT"))
+ {
+ if (force <= 0 && options->MATHJAX_SCRIPT.configured > 0)
+ return -1;
+
+ non_perl_free (options->MATHJAX_SCRIPT.o.string);
+ if (SvOK (value))
+ options->MATHJAX_SCRIPT.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->MATHJAX_SCRIPT.o.string = 0;
+ }
+ else if (!strcmp (key, "MATHJAX_SOURCE"))
+ {
+ if (force <= 0 && options->MATHJAX_SOURCE.configured > 0)
+ return -1;
+
+ non_perl_free (options->MATHJAX_SOURCE.o.string);
+ if (SvOK (value))
+ options->MATHJAX_SOURCE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->MATHJAX_SOURCE.o.string = 0;
+ }
+ else if (!strcmp (key, "MAX_HEADER_LEVEL"))
+ {
+ if (force <= 0 && options->MAX_HEADER_LEVEL.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->MAX_HEADER_LEVEL.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "MAX_HEADER_LEVEL", SvPVutf8_nolen (value));
+ options->MAX_HEADER_LEVEL.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->MAX_HEADER_LEVEL.o.integer = -1;
+ }
+ else if (!strcmp (key, "MENU_ENTRY_COLON"))
+ {
+ if (force <= 0 && options->MENU_ENTRY_COLON.configured > 0)
+ return -1;
+
+ non_perl_free (options->MENU_ENTRY_COLON.o.string);
+ if (SvOK (value))
+ options->MENU_ENTRY_COLON.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->MENU_ENTRY_COLON.o.string = 0;
+ }
+ else if (!strcmp (key, "MENU_SYMBOL"))
+ {
+ if (force <= 0 && options->MENU_SYMBOL.configured > 0)
+ return -1;
+
+ non_perl_free (options->MENU_SYMBOL.o.string);
+ if (SvOK (value))
+ options->MENU_SYMBOL.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->MENU_SYMBOL.o.string = 0;
+ }
+ else if (!strcmp (key, "MESSAGE_ENCODING"))
+ {
+ if (force <= 0 && options->MESSAGE_ENCODING.configured > 0)
+ return -1;
+
+ non_perl_free (options->MESSAGE_ENCODING.o.string);
+ if (SvOK (value))
+ options->MESSAGE_ENCODING.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->MESSAGE_ENCODING.o.string = 0;
+ }
+ else if (!strcmp (key, "MONOLITHIC"))
+ {
+ if (force <= 0 && options->MONOLITHIC.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->MONOLITHIC.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "MONOLITHIC", SvPVutf8_nolen (value));
+ options->MONOLITHIC.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->MONOLITHIC.o.integer = -1;
+ }
+ else if (!strcmp (key, "NO_CSS"))
+ {
+ if (force <= 0 && options->NO_CSS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NO_CSS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NO_CSS", SvPVutf8_nolen (value));
+ options->NO_CSS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NO_CSS.o.integer = -1;
+ }
+ else if (!strcmp (key, "NO_NUMBER_FOOTNOTE_SYMBOL"))
+ {
+ if (force <= 0 && options->NO_NUMBER_FOOTNOTE_SYMBOL.configured > 0)
+ return -1;
+
+ non_perl_free (options->NO_NUMBER_FOOTNOTE_SYMBOL.o.string);
+ if (SvOK (value))
+ options->NO_NUMBER_FOOTNOTE_SYMBOL.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->NO_NUMBER_FOOTNOTE_SYMBOL.o.string = 0;
+ }
+ else if (!strcmp (key, "NO_CUSTOM_HTML_ATTRIBUTE"))
+ {
+ if (force <= 0 && options->NO_CUSTOM_HTML_ATTRIBUTE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NO_CUSTOM_HTML_ATTRIBUTE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NO_CUSTOM_HTML_ATTRIBUTE", SvPVutf8_nolen (value));
+ options->NO_CUSTOM_HTML_ATTRIBUTE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NO_CUSTOM_HTML_ATTRIBUTE.o.integer = -1;
+ }
+ else if (!strcmp (key, "NODE_NAME_IN_INDEX"))
+ {
+ if (force <= 0 && options->NODE_NAME_IN_INDEX.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NODE_NAME_IN_INDEX.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NODE_NAME_IN_INDEX", SvPVutf8_nolen (value));
+ options->NODE_NAME_IN_INDEX.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NODE_NAME_IN_INDEX.o.integer = -1;
+ }
+ else if (!strcmp (key, "NODE_NAME_IN_MENU"))
+ {
+ if (force <= 0 && options->NODE_NAME_IN_MENU.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NODE_NAME_IN_MENU.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NODE_NAME_IN_MENU", SvPVutf8_nolen (value));
+ options->NODE_NAME_IN_MENU.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NODE_NAME_IN_MENU.o.integer = -1;
+ }
+ else if (!strcmp (key, "NO_TOP_NODE_OUTPUT"))
+ {
+ if (force <= 0 && options->NO_TOP_NODE_OUTPUT.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NO_TOP_NODE_OUTPUT.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NO_TOP_NODE_OUTPUT", SvPVutf8_nolen (value));
+ options->NO_TOP_NODE_OUTPUT.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NO_TOP_NODE_OUTPUT.o.integer = -1;
+ }
+ else if (!strcmp (key, "OPEN_DOUBLE_QUOTE_SYMBOL"))
+ {
+ if (force <= 0 && options->OPEN_DOUBLE_QUOTE_SYMBOL.configured > 0)
+ return -1;
+
+ non_perl_free (options->OPEN_DOUBLE_QUOTE_SYMBOL.o.string);
+ if (SvOK (value))
+ options->OPEN_DOUBLE_QUOTE_SYMBOL.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->OPEN_DOUBLE_QUOTE_SYMBOL.o.string = 0;
+ }
+ else if (!strcmp (key, "OPEN_QUOTE_SYMBOL"))
+ {
+ if (force <= 0 && options->OPEN_QUOTE_SYMBOL.configured > 0)
+ return -1;
+
+ non_perl_free (options->OPEN_QUOTE_SYMBOL.o.string);
+ if (SvOK (value))
+ options->OPEN_QUOTE_SYMBOL.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->OPEN_QUOTE_SYMBOL.o.string = 0;
+ }
+ else if (!strcmp (key, "OUTPUT_CHARACTERS"))
+ {
+ if (force <= 0 && options->OUTPUT_CHARACTERS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->OUTPUT_CHARACTERS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "OUTPUT_CHARACTERS", SvPVutf8_nolen (value));
+ options->OUTPUT_CHARACTERS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->OUTPUT_CHARACTERS.o.integer = -1;
+ }
+ else if (!strcmp (key, "OUTPUT_ENCODING_NAME"))
+ {
+ if (force <= 0 && options->OUTPUT_ENCODING_NAME.configured > 0)
+ return -1;
+
+ non_perl_free (options->OUTPUT_ENCODING_NAME.o.string);
+ if (SvOK (value))
+ options->OUTPUT_ENCODING_NAME.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->OUTPUT_ENCODING_NAME.o.string = 0;
+ }
+ else if (!strcmp (key, "OUTPUT_FILE_NAME_ENCODING"))
+ {
+ if (force <= 0 && options->OUTPUT_FILE_NAME_ENCODING.configured > 0)
+ return -1;
+
+ non_perl_free (options->OUTPUT_FILE_NAME_ENCODING.o.string);
+ if (SvOK (value))
+ options->OUTPUT_FILE_NAME_ENCODING.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->OUTPUT_FILE_NAME_ENCODING.o.string = 0;
+ }
+ else if (!strcmp (key, "OUTPUT_PERL_ENCODING"))
+ {
+ if (force <= 0 && options->OUTPUT_PERL_ENCODING.configured > 0)
+ return -1;
+
+ non_perl_free (options->OUTPUT_PERL_ENCODING.o.string);
+ if (SvOK (value))
+ options->OUTPUT_PERL_ENCODING.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->OUTPUT_PERL_ENCODING.o.string = 0;
+ }
+ else if (!strcmp (key, "PACKAGE"))
+ {
+ if (force <= 0 && options->PACKAGE.configured > 0)
+ return -1;
+
+ non_perl_free (options->PACKAGE.o.string);
+ if (SvOK (value))
+ options->PACKAGE.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->PACKAGE.o.string = 0;
+ }
+ else if (!strcmp (key, "PACKAGE_AND_VERSION"))
+ {
+ if (force <= 0 && options->PACKAGE_AND_VERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->PACKAGE_AND_VERSION.o.string);
+ if (SvOK (value))
+ options->PACKAGE_AND_VERSION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->PACKAGE_AND_VERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "PACKAGE_NAME"))
+ {
+ if (force <= 0 && options->PACKAGE_NAME.configured > 0)
+ return -1;
+
+ non_perl_free (options->PACKAGE_NAME.o.string);
+ if (SvOK (value))
+ options->PACKAGE_NAME.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->PACKAGE_NAME.o.string = 0;
+ }
+ else if (!strcmp (key, "PACKAGE_URL"))
+ {
+ if (force <= 0 && options->PACKAGE_URL.configured > 0)
+ return -1;
+
+ non_perl_free (options->PACKAGE_URL.o.string);
+ if (SvOK (value))
+ options->PACKAGE_URL.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->PACKAGE_URL.o.string = 0;
+ }
+ else if (!strcmp (key, "PACKAGE_VERSION"))
+ {
+ if (force <= 0 && options->PACKAGE_VERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->PACKAGE_VERSION.o.string);
+ if (SvOK (value))
+ options->PACKAGE_VERSION.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->PACKAGE_VERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "PRE_BODY_CLOSE"))
+ {
+ if (force <= 0 && options->PRE_BODY_CLOSE.configured > 0)
+ return -1;
+
+ non_perl_free (options->PRE_BODY_CLOSE.o.string);
+ if (SvOK (value))
+ options->PRE_BODY_CLOSE.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->PRE_BODY_CLOSE.o.string = 0;
+ }
+ else if (!strcmp (key, "PREFIX"))
+ {
+ if (force <= 0 && options->PREFIX.configured > 0)
+ return -1;
+
+ non_perl_free (options->PREFIX.o.string);
+ if (SvOK (value))
+ options->PREFIX.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->PREFIX.o.string = 0;
+ }
+ else if (!strcmp (key, "PROGRAM"))
+ {
+ if (force <= 0 && options->PROGRAM.configured > 0)
+ return -1;
+
+ non_perl_free (options->PROGRAM.o.string);
+ if (SvOK (value))
+ options->PROGRAM.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->PROGRAM.o.string = 0;
+ }
+ else if (!strcmp (key, "PROGRAM_NAME_IN_ABOUT"))
+ {
+ if (force <= 0 && options->PROGRAM_NAME_IN_ABOUT.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->PROGRAM_NAME_IN_ABOUT.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "PROGRAM_NAME_IN_ABOUT", SvPVutf8_nolen (value));
+ options->PROGRAM_NAME_IN_ABOUT.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->PROGRAM_NAME_IN_ABOUT.o.integer = -1;
+ }
+ else if (!strcmp (key, "PROGRAM_NAME_IN_FOOTER"))
+ {
+ if (force <= 0 && options->PROGRAM_NAME_IN_FOOTER.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->PROGRAM_NAME_IN_FOOTER.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "PROGRAM_NAME_IN_FOOTER", SvPVutf8_nolen (value));
+ options->PROGRAM_NAME_IN_FOOTER.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->PROGRAM_NAME_IN_FOOTER.o.integer = -1;
+ }
+ else if (!strcmp (key, "SECTION_NAME_IN_TITLE"))
+ {
+ if (force <= 0 && options->SECTION_NAME_IN_TITLE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->SECTION_NAME_IN_TITLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "SECTION_NAME_IN_TITLE", SvPVutf8_nolen (value));
+ options->SECTION_NAME_IN_TITLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->SECTION_NAME_IN_TITLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "SHORT_TOC_LINK_TO_TOC"))
+ {
+ if (force <= 0 && options->SHORT_TOC_LINK_TO_TOC.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->SHORT_TOC_LINK_TO_TOC.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "SHORT_TOC_LINK_TO_TOC", SvPVutf8_nolen (value));
+ options->SHORT_TOC_LINK_TO_TOC.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->SHORT_TOC_LINK_TO_TOC.o.integer = -1;
+ }
+ else if (!strcmp (key, "SHOW_TITLE"))
+ {
+ if (force <= 0 && options->SHOW_TITLE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->SHOW_TITLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "SHOW_TITLE", SvPVutf8_nolen (value));
+ options->SHOW_TITLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->SHOW_TITLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "T4H_LATEX_CONVERSION"))
+ {
+ if (force <= 0 && options->T4H_LATEX_CONVERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->T4H_LATEX_CONVERSION.o.string);
+ if (SvOK (value))
+ options->T4H_LATEX_CONVERSION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->T4H_LATEX_CONVERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "T4H_MATH_CONVERSION"))
+ {
+ if (force <= 0 && options->T4H_MATH_CONVERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->T4H_MATH_CONVERSION.o.string);
+ if (SvOK (value))
+ options->T4H_MATH_CONVERSION.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->T4H_MATH_CONVERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "T4H_TEX_CONVERSION"))
+ {
+ if (force <= 0 && options->T4H_TEX_CONVERSION.configured > 0)
+ return -1;
+
+ non_perl_free (options->T4H_TEX_CONVERSION.o.string);
+ if (SvOK (value))
+ options->T4H_TEX_CONVERSION.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->T4H_TEX_CONVERSION.o.string = 0;
+ }
+ else if (!strcmp (key, "TEXI2HTML"))
+ {
+ if (force <= 0 && options->TEXI2HTML.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TEXI2HTML.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TEXI2HTML", SvPVutf8_nolen (value));
+ options->TEXI2HTML.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TEXI2HTML.o.integer = -1;
+ }
+ else if (!strcmp (key, "TEXINFO_OUTPUT_FORMAT"))
+ {
+ if (force <= 0 && options->TEXINFO_OUTPUT_FORMAT.configured > 0)
+ return -1;
+
+ non_perl_free (options->TEXINFO_OUTPUT_FORMAT.o.string);
+ if (SvOK (value))
+ options->TEXINFO_OUTPUT_FORMAT.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->TEXINFO_OUTPUT_FORMAT.o.string = 0;
+ }
+ else if (!strcmp (key, "TXI_MARKUP_NO_SECTION_EXTENT"))
+ {
+ if (force <= 0 && options->TXI_MARKUP_NO_SECTION_EXTENT.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TXI_MARKUP_NO_SECTION_EXTENT.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TXI_MARKUP_NO_SECTION_EXTENT", SvPVutf8_nolen (value));
+ options->TXI_MARKUP_NO_SECTION_EXTENT.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TXI_MARKUP_NO_SECTION_EXTENT.o.integer = -1;
+ }
+ else if (!strcmp (key, "TOC_LINKS"))
+ {
+ if (force <= 0 && options->TOC_LINKS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TOC_LINKS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TOC_LINKS", SvPVutf8_nolen (value));
+ options->TOC_LINKS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TOC_LINKS.o.integer = -1;
+ }
+ else if (!strcmp (key, "TOP_FILE"))
+ {
+ if (force <= 0 && options->TOP_FILE.configured > 0)
+ return -1;
+
+ non_perl_free (options->TOP_FILE.o.string);
+ if (SvOK (value))
+ options->TOP_FILE.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->TOP_FILE.o.string = 0;
+ }
+ else if (!strcmp (key, "TOP_NODE_FILE_TARGET"))
+ {
+ if (force <= 0 && options->TOP_NODE_FILE_TARGET.configured > 0)
+ return -1;
+
+ non_perl_free (options->TOP_NODE_FILE_TARGET.o.string);
+ if (SvOK (value))
+ options->TOP_NODE_FILE_TARGET.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->TOP_NODE_FILE_TARGET.o.string = 0;
+ }
+ else if (!strcmp (key, "TOP_NODE_UP_URL"))
+ {
+ if (force <= 0 && options->TOP_NODE_UP_URL.configured > 0)
+ return -1;
+
+ non_perl_free (options->TOP_NODE_UP_URL.o.string);
+ if (SvOK (value))
+ options->TOP_NODE_UP_URL.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->TOP_NODE_UP_URL.o.string = 0;
+ }
+ else if (!strcmp (key, "USE_ACCESSKEY"))
+ {
+ if (force <= 0 && options->USE_ACCESSKEY.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_ACCESSKEY.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_ACCESSKEY", SvPVutf8_nolen (value));
+ options->USE_ACCESSKEY.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_ACCESSKEY.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_ISO"))
+ {
+ if (force <= 0 && options->USE_ISO.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_ISO.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_ISO", SvPVutf8_nolen (value));
+ options->USE_ISO.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_ISO.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_LINKS"))
+ {
+ if (force <= 0 && options->USE_LINKS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_LINKS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_LINKS", SvPVutf8_nolen (value));
+ options->USE_LINKS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_LINKS.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_NEXT_HEADING_FOR_LONE_NODE"))
+ {
+ if (force <= 0 && options->USE_NEXT_HEADING_FOR_LONE_NODE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_NEXT_HEADING_FOR_LONE_NODE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_NEXT_HEADING_FOR_LONE_NODE", SvPVutf8_nolen
(value));
+ options->USE_NEXT_HEADING_FOR_LONE_NODE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_NEXT_HEADING_FOR_LONE_NODE.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_NODES"))
+ {
+ if (force <= 0 && options->USE_NODES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_NODES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_NODES", SvPVutf8_nolen (value));
+ options->USE_NODES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_NODES.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_NODE_DIRECTIONS"))
+ {
+ if (force <= 0 && options->USE_NODE_DIRECTIONS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_NODE_DIRECTIONS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_NODE_DIRECTIONS", SvPVutf8_nolen (value));
+ options->USE_NODE_DIRECTIONS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_NODE_DIRECTIONS.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_NUMERIC_ENTITY"))
+ {
+ if (force <= 0 && options->USE_NUMERIC_ENTITY.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_NUMERIC_ENTITY.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_NUMERIC_ENTITY", SvPVutf8_nolen (value));
+ options->USE_NUMERIC_ENTITY.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_NUMERIC_ENTITY.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_REL_REV"))
+ {
+ if (force <= 0 && options->USE_REL_REV.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_REL_REV.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_REL_REV", SvPVutf8_nolen (value));
+ options->USE_REL_REV.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_REL_REV.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_SETFILENAME_EXTENSION"))
+ {
+ if (force <= 0 && options->USE_SETFILENAME_EXTENSION.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_SETFILENAME_EXTENSION.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_SETFILENAME_EXTENSION", SvPVutf8_nolen (value));
+ options->USE_SETFILENAME_EXTENSION.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_SETFILENAME_EXTENSION.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_TITLEPAGE_FOR_TITLE"))
+ {
+ if (force <= 0 && options->USE_TITLEPAGE_FOR_TITLE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_TITLEPAGE_FOR_TITLE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_TITLEPAGE_FOR_TITLE", SvPVutf8_nolen (value));
+ options->USE_TITLEPAGE_FOR_TITLE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_TITLEPAGE_FOR_TITLE.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_UNIDECODE"))
+ {
+ if (force <= 0 && options->USE_UNIDECODE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_UNIDECODE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_UNIDECODE", SvPVutf8_nolen (value));
+ options->USE_UNIDECODE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_UNIDECODE.o.integer = -1;
+ }
+ else if (!strcmp (key, "USE_XML_SYNTAX"))
+ {
+ if (force <= 0 && options->USE_XML_SYNTAX.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->USE_XML_SYNTAX.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "USE_XML_SYNTAX", SvPVutf8_nolen (value));
+ options->USE_XML_SYNTAX.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->USE_XML_SYNTAX.o.integer = -1;
+ }
+ else if (!strcmp (key, "VERTICAL_HEAD_NAVIGATION"))
+ {
+ if (force <= 0 && options->VERTICAL_HEAD_NAVIGATION.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->VERTICAL_HEAD_NAVIGATION.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "VERTICAL_HEAD_NAVIGATION", SvPVutf8_nolen (value));
+ options->VERTICAL_HEAD_NAVIGATION.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->VERTICAL_HEAD_NAVIGATION.o.integer = -1;
+ }
+ else if (!strcmp (key, "WORDS_IN_PAGE"))
+ {
+ if (force <= 0 && options->WORDS_IN_PAGE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->WORDS_IN_PAGE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "WORDS_IN_PAGE", SvPVutf8_nolen (value));
+ options->WORDS_IN_PAGE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->WORDS_IN_PAGE.o.integer = -1;
+ }
+ else if (!strcmp (key, "XREF_USE_FLOAT_LABEL"))
+ {
+ if (force <= 0 && options->XREF_USE_FLOAT_LABEL.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->XREF_USE_FLOAT_LABEL.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "XREF_USE_FLOAT_LABEL", SvPVutf8_nolen (value));
+ options->XREF_USE_FLOAT_LABEL.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->XREF_USE_FLOAT_LABEL.o.integer = -1;
+ }
+ else if (!strcmp (key, "XREF_USE_NODE_NAME_ARG"))
+ {
+ if (force <= 0 && options->XREF_USE_NODE_NAME_ARG.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->XREF_USE_NODE_NAME_ARG.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "XREF_USE_NODE_NAME_ARG", SvPVutf8_nolen (value));
+ options->XREF_USE_NODE_NAME_ARG.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->XREF_USE_NODE_NAME_ARG.o.integer = -1;
+ }
+ else if (!strcmp (key, "XS_EXTERNAL_CONVERSION"))
+ {
+ if (force <= 0 && options->XS_EXTERNAL_CONVERSION.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->XS_EXTERNAL_CONVERSION.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "XS_EXTERNAL_CONVERSION", SvPVutf8_nolen (value));
+ options->XS_EXTERNAL_CONVERSION.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->XS_EXTERNAL_CONVERSION.o.integer = -1;
+ }
+ else if (!strcmp (key, "XS_EXTERNAL_FORMATTING"))
+ {
+ if (force <= 0 && options->XS_EXTERNAL_FORMATTING.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->XS_EXTERNAL_FORMATTING.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "XS_EXTERNAL_FORMATTING", SvPVutf8_nolen (value));
+ options->XS_EXTERNAL_FORMATTING.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->XS_EXTERNAL_FORMATTING.o.integer = -1;
+ }
+ else if (!strcmp (key, "XS_STRXFRM_COLLATION_LOCALE"))
+ {
+ if (force <= 0 && options->XS_STRXFRM_COLLATION_LOCALE.configured > 0)
+ return -1;
+
+ non_perl_free (options->XS_STRXFRM_COLLATION_LOCALE.o.string);
+ if (SvOK (value))
+ options->XS_STRXFRM_COLLATION_LOCALE.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->XS_STRXFRM_COLLATION_LOCALE.o.string = 0;
+ }
+ else if (!strcmp (key, "_INLINE_STYLE_WIDTH"))
+ {
+ if (force <= 0 && options->_INLINE_STYLE_WIDTH.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->_INLINE_STYLE_WIDTH.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "_INLINE_STYLE_WIDTH", SvPVutf8_nolen (value));
+ options->_INLINE_STYLE_WIDTH.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->_INLINE_STYLE_WIDTH.o.integer = -1;
+ }
+
+/* converter_other */
+
+ else if (!strcmp (key, "LINKS_BUTTONS"))
+ {
+ if (force <= 0 && options->LINKS_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->LINKS_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->LINKS_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->LINKS_BUTTONS.o.buttons);
+ }
+
+ options->LINKS_BUTTONS.o.buttons = html_get_button_specification_list
(converter, value);
+ if (options->LINKS_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->LINKS_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "TOP_BUTTONS"))
+ {
+ if (force <= 0 && options->TOP_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->TOP_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->TOP_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list (options->TOP_BUTTONS.o.buttons);
+ }
+
+ options->TOP_BUTTONS.o.buttons = html_get_button_specification_list
(converter, value);
+ if (options->TOP_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->TOP_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "TOP_FOOTER_BUTTONS"))
+ {
+ if (force <= 0 && options->TOP_FOOTER_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->TOP_FOOTER_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->TOP_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->TOP_FOOTER_BUTTONS.o.buttons);
+ }
+
+ options->TOP_FOOTER_BUTTONS.o.buttons =
html_get_button_specification_list (converter, value);
+ if (options->TOP_FOOTER_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->TOP_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "SECTION_BUTTONS"))
+ {
+ if (force <= 0 && options->SECTION_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->SECTION_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->SECTION_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->SECTION_BUTTONS.o.buttons);
+ }
+
+ options->SECTION_BUTTONS.o.buttons = html_get_button_specification_list
(converter, value);
+ if (options->SECTION_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->SECTION_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "CHAPTER_FOOTER_BUTTONS"))
+ {
+ if (force <= 0 && options->CHAPTER_FOOTER_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->CHAPTER_FOOTER_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->CHAPTER_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->CHAPTER_FOOTER_BUTTONS.o.buttons);
+ }
+
+ options->CHAPTER_FOOTER_BUTTONS.o.buttons =
html_get_button_specification_list (converter, value);
+ if (options->CHAPTER_FOOTER_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->CHAPTER_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "SECTION_FOOTER_BUTTONS"))
+ {
+ if (force <= 0 && options->SECTION_FOOTER_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->SECTION_FOOTER_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->SECTION_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->SECTION_FOOTER_BUTTONS.o.buttons);
+ }
+
+ options->SECTION_FOOTER_BUTTONS.o.buttons =
html_get_button_specification_list (converter, value);
+ if (options->SECTION_FOOTER_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->SECTION_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "NODE_FOOTER_BUTTONS"))
+ {
+ if (force <= 0 && options->NODE_FOOTER_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->NODE_FOOTER_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->NODE_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->NODE_FOOTER_BUTTONS.o.buttons);
+ }
+
+ options->NODE_FOOTER_BUTTONS.o.buttons =
html_get_button_specification_list (converter, value);
+ if (options->NODE_FOOTER_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->NODE_FOOTER_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "MISC_BUTTONS"))
+ {
+ if (force <= 0 && options->MISC_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->MISC_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->MISC_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->MISC_BUTTONS.o.buttons);
+ }
+
+ options->MISC_BUTTONS.o.buttons = html_get_button_specification_list
(converter, value);
+ if (options->MISC_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->MISC_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "CHAPTER_BUTTONS"))
+ {
+ if (force <= 0 && options->CHAPTER_BUTTONS.configured > 0)
+ return -1;
+
+ if (options->CHAPTER_BUTTONS.o.buttons)
+ {
+ options->BIT_user_function_number -=
options->CHAPTER_BUTTONS.o.buttons->BIT_user_function_number;
+ html_free_button_specification_list
(options->CHAPTER_BUTTONS.o.buttons);
+ }
+
+ options->CHAPTER_BUTTONS.o.buttons = html_get_button_specification_list
(converter, value);
+ if (options->CHAPTER_BUTTONS.o.buttons)
+ options->BIT_user_function_number +=
options->CHAPTER_BUTTONS.o.buttons->BIT_user_function_number;
+ }
+ else if (!strcmp (key, "ACTIVE_ICONS"))
+ {
+ if (force <= 0 && options->ACTIVE_ICONS.configured > 0)
+ return -1;
+
+ html_free_direction_icons (options->ACTIVE_ICONS.o.icons);
+ html_get_direction_icons_sv (converter, options->ACTIVE_ICONS.o.icons,
value);
+ }
+ else if (!strcmp (key, "PASSIVE_ICONS"))
+ {
+ if (force <= 0 && options->PASSIVE_ICONS.configured > 0)
+ return -1;
+
+ html_free_direction_icons (options->PASSIVE_ICONS.o.icons);
+ html_get_direction_icons_sv (converter, options->PASSIVE_ICONS.o.icons,
value);
+ }
+
+/* multiple_at_command */
+
+ else if (!strcmp (key, "allowcodebreaks"))
+ {
+ if (force <= 0 && options->allowcodebreaks.configured > 0)
+ return -1;
+
+ non_perl_free (options->allowcodebreaks.o.string);
+ if (SvOK (value))
+ options->allowcodebreaks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->allowcodebreaks.o.string = 0;
+ }
+ else if (!strcmp (key, "clickstyle"))
+ {
+ if (force <= 0 && options->clickstyle.configured > 0)
+ return -1;
+
+ non_perl_free (options->clickstyle.o.string);
+ if (SvOK (value))
+ options->clickstyle.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->clickstyle.o.string = 0;
+ }
+ else if (!strcmp (key, "codequotebacktick"))
+ {
+ if (force <= 0 && options->codequotebacktick.configured > 0)
+ return -1;
+
+ non_perl_free (options->codequotebacktick.o.string);
+ if (SvOK (value))
+ options->codequotebacktick.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->codequotebacktick.o.string = 0;
+ }
+ else if (!strcmp (key, "codequoteundirected"))
+ {
+ if (force <= 0 && options->codequoteundirected.configured > 0)
+ return -1;
+
+ non_perl_free (options->codequoteundirected.o.string);
+ if (SvOK (value))
+ options->codequoteundirected.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->codequoteundirected.o.string = 0;
+ }
+ else if (!strcmp (key, "contents"))
+ {
+ if (force <= 0 && options->contents.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->contents.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "contents", SvPVutf8_nolen (value));
+ options->contents.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->contents.o.integer = -1;
+ }
+ else if (!strcmp (key, "deftypefnnewline"))
+ {
+ if (force <= 0 && options->deftypefnnewline.configured > 0)
+ return -1;
+
+ non_perl_free (options->deftypefnnewline.o.string);
+ if (SvOK (value))
+ options->deftypefnnewline.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->deftypefnnewline.o.string = 0;
+ }
+ else if (!strcmp (key, "documentencoding"))
+ {
+ if (force <= 0 && options->documentencoding.configured > 0)
+ return -1;
+
+ non_perl_free (options->documentencoding.o.string);
+ if (SvOK (value))
+ options->documentencoding.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->documentencoding.o.string = 0;
+ }
+ else if (!strcmp (key, "documentlanguage"))
+ {
+ if (force <= 0 && options->documentlanguage.configured > 0)
+ return -1;
+
+ non_perl_free (options->documentlanguage.o.string);
+ if (SvOK (value))
+ options->documentlanguage.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->documentlanguage.o.string = 0;
+ }
+ else if (!strcmp (key, "evenfooting"))
+ {
+ if (force <= 0 && options->evenfooting.configured > 0)
+ return -1;
+
+ non_perl_free (options->evenfooting.o.string);
+ if (SvOK (value))
+ options->evenfooting.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->evenfooting.o.string = 0;
+ }
+ else if (!strcmp (key, "evenheading"))
+ {
+ if (force <= 0 && options->evenheading.configured > 0)
+ return -1;
+
+ non_perl_free (options->evenheading.o.string);
+ if (SvOK (value))
+ options->evenheading.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->evenheading.o.string = 0;
+ }
+ else if (!strcmp (key, "everyfooting"))
+ {
+ if (force <= 0 && options->everyfooting.configured > 0)
+ return -1;
+
+ non_perl_free (options->everyfooting.o.string);
+ if (SvOK (value))
+ options->everyfooting.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->everyfooting.o.string = 0;
+ }
+ else if (!strcmp (key, "everyheading"))
+ {
+ if (force <= 0 && options->everyheading.configured > 0)
+ return -1;
+
+ non_perl_free (options->everyheading.o.string);
+ if (SvOK (value))
+ options->everyheading.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->everyheading.o.string = 0;
+ }
+ else if (!strcmp (key, "exampleindent"))
+ {
+ if (force <= 0 && options->exampleindent.configured > 0)
+ return -1;
+
+ non_perl_free (options->exampleindent.o.string);
+ if (SvOK (value))
+ options->exampleindent.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->exampleindent.o.string = 0;
+ }
+ else if (!strcmp (key, "firstparagraphindent"))
+ {
+ if (force <= 0 && options->firstparagraphindent.configured > 0)
+ return -1;
+
+ non_perl_free (options->firstparagraphindent.o.string);
+ if (SvOK (value))
+ options->firstparagraphindent.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->firstparagraphindent.o.string = 0;
+ }
+ else if (!strcmp (key, "frenchspacing"))
+ {
+ if (force <= 0 && options->frenchspacing.configured > 0)
+ return -1;
+
+ non_perl_free (options->frenchspacing.o.string);
+ if (SvOK (value))
+ options->frenchspacing.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->frenchspacing.o.string = 0;
+ }
+ else if (!strcmp (key, "headings"))
+ {
+ if (force <= 0 && options->headings.configured > 0)
+ return -1;
+
+ non_perl_free (options->headings.o.string);
+ if (SvOK (value))
+ options->headings.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->headings.o.string = 0;
+ }
+ else if (!strcmp (key, "kbdinputstyle"))
+ {
+ if (force <= 0 && options->kbdinputstyle.configured > 0)
+ return -1;
+
+ non_perl_free (options->kbdinputstyle.o.string);
+ if (SvOK (value))
+ options->kbdinputstyle.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->kbdinputstyle.o.string = 0;
+ }
+ else if (!strcmp (key, "microtype"))
+ {
+ if (force <= 0 && options->microtype.configured > 0)
+ return -1;
+
+ non_perl_free (options->microtype.o.string);
+ if (SvOK (value))
+ options->microtype.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->microtype.o.string = 0;
+ }
+ else if (!strcmp (key, "oddheading"))
+ {
+ if (force <= 0 && options->oddheading.configured > 0)
+ return -1;
+
+ non_perl_free (options->oddheading.o.string);
+ if (SvOK (value))
+ options->oddheading.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->oddheading.o.string = 0;
+ }
+ else if (!strcmp (key, "oddfooting"))
+ {
+ if (force <= 0 && options->oddfooting.configured > 0)
+ return -1;
+
+ non_perl_free (options->oddfooting.o.string);
+ if (SvOK (value))
+ options->oddfooting.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->oddfooting.o.string = 0;
+ }
+ else if (!strcmp (key, "paragraphindent"))
+ {
+ if (force <= 0 && options->paragraphindent.configured > 0)
+ return -1;
+
+ non_perl_free (options->paragraphindent.o.string);
+ if (SvOK (value))
+ options->paragraphindent.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->paragraphindent.o.string = 0;
+ }
+ else if (!strcmp (key, "shortcontents"))
+ {
+ if (force <= 0 && options->shortcontents.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->shortcontents.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "shortcontents", SvPVutf8_nolen (value));
+ options->shortcontents.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->shortcontents.o.integer = -1;
+ }
+ else if (!strcmp (key, "summarycontents"))
+ {
+ if (force <= 0 && options->summarycontents.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->summarycontents.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "summarycontents", SvPVutf8_nolen (value));
+ options->summarycontents.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->summarycontents.o.integer = -1;
+ }
+ else if (!strcmp (key, "urefbreakstyle"))
+ {
+ if (force <= 0 && options->urefbreakstyle.configured > 0)
+ return -1;
+
+ non_perl_free (options->urefbreakstyle.o.string);
+ if (SvOK (value))
+ options->urefbreakstyle.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->urefbreakstyle.o.string = 0;
+ }
+ else if (!strcmp (key, "xrefautomaticsectiontitle"))
+ {
+ if (force <= 0 && options->xrefautomaticsectiontitle.configured > 0)
+ return -1;
+
+ non_perl_free (options->xrefautomaticsectiontitle.o.string);
+ if (SvOK (value))
+ options->xrefautomaticsectiontitle.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->xrefautomaticsectiontitle.o.string = 0;
+ }
+
+/* program_cmdline */
+
+ else if (!strcmp (key, "MACRO_EXPAND"))
+ {
+ if (force <= 0 && options->MACRO_EXPAND.configured > 0)
+ return -1;
+
+ non_perl_free (options->MACRO_EXPAND.o.string);
+ if (SvOK (value))
+ options->MACRO_EXPAND.o.string = non_perl_strdup (SvPVbyte_nolen
(value));
+ else
+ options->MACRO_EXPAND.o.string = 0;
+ }
+ else if (!strcmp (key, "INTERNAL_LINKS"))
+ {
+ if (force <= 0 && options->INTERNAL_LINKS.configured > 0)
+ return -1;
+
+ non_perl_free (options->INTERNAL_LINKS.o.string);
+ if (SvOK (value))
+ options->INTERNAL_LINKS.o.string = non_perl_strdup (SvPVbyte_nolen
(value));
+ else
+ options->INTERNAL_LINKS.o.string = 0;
+ }
+ else if (!strcmp (key, "ERROR_LIMIT"))
+ {
+ if (force <= 0 && options->ERROR_LIMIT.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->ERROR_LIMIT.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "ERROR_LIMIT", SvPVutf8_nolen (value));
+ options->ERROR_LIMIT.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->ERROR_LIMIT.o.integer = -1;
+ }
+ else if (!strcmp (key, "FORCE"))
+ {
+ if (force <= 0 && options->FORCE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->FORCE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "FORCE", SvPVutf8_nolen (value));
+ options->FORCE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->FORCE.o.integer = -1;
+ }
+ else if (!strcmp (key, "NO_WARN"))
+ {
+ if (force <= 0 && options->NO_WARN.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->NO_WARN.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "NO_WARN", SvPVutf8_nolen (value));
+ options->NO_WARN.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->NO_WARN.o.integer = -1;
+ }
+ else if (!strcmp (key, "SILENT"))
+ {
+ if (force <= 0 && options->SILENT.configured > 0)
+ return -1;
+
+ non_perl_free (options->SILENT.o.string);
+ if (SvOK (value))
+ options->SILENT.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->SILENT.o.string = 0;
+ }
+ else if (!strcmp (key, "TRACE_INCLUDES"))
+ {
+ if (force <= 0 && options->TRACE_INCLUDES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->TRACE_INCLUDES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "TRACE_INCLUDES", SvPVutf8_nolen (value));
+ options->TRACE_INCLUDES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->TRACE_INCLUDES.o.integer = -1;
+ }
+ else if (!strcmp (key, "FORMAT_MENU"))
+ {
+ if (force <= 0 && options->FORMAT_MENU.configured > 0)
+ return -1;
+
+ non_perl_free (options->FORMAT_MENU.o.string);
+ if (SvOK (value))
+ options->FORMAT_MENU.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->FORMAT_MENU.o.string = 0;
+ }
+
+/* program_customization */
+
+ else if (!strcmp (key, "CHECK_NORMAL_MENU_STRUCTURE"))
+ {
+ if (force <= 0 && options->CHECK_NORMAL_MENU_STRUCTURE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->CHECK_NORMAL_MENU_STRUCTURE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "CHECK_NORMAL_MENU_STRUCTURE", SvPVutf8_nolen (value));
+ options->CHECK_NORMAL_MENU_STRUCTURE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->CHECK_NORMAL_MENU_STRUCTURE.o.integer = -1;
+ }
+ else if (!strcmp (key, "CHECK_MISSING_MENU_ENTRY"))
+ {
+ if (force <= 0 && options->CHECK_MISSING_MENU_ENTRY.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->CHECK_MISSING_MENU_ENTRY.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "CHECK_MISSING_MENU_ENTRY", SvPVutf8_nolen (value));
+ options->CHECK_MISSING_MENU_ENTRY.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->CHECK_MISSING_MENU_ENTRY.o.integer = -1;
+ }
+ else if (!strcmp (key, "DUMP_TREE"))
+ {
+ if (force <= 0 && options->DUMP_TREE.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DUMP_TREE.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DUMP_TREE", SvPVutf8_nolen (value));
+ options->DUMP_TREE.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DUMP_TREE.o.integer = -1;
+ }
+ else if (!strcmp (key, "DUMP_TEXI"))
+ {
+ if (force <= 0 && options->DUMP_TEXI.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->DUMP_TEXI.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "DUMP_TEXI", SvPVutf8_nolen (value));
+ options->DUMP_TEXI.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->DUMP_TEXI.o.integer = -1;
+ }
+ else if (!strcmp (key, "SHOW_BUILTIN_CSS_RULES"))
+ {
+ if (force <= 0 && options->SHOW_BUILTIN_CSS_RULES.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->SHOW_BUILTIN_CSS_RULES.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "SHOW_BUILTIN_CSS_RULES", SvPVutf8_nolen (value));
+ options->SHOW_BUILTIN_CSS_RULES.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->SHOW_BUILTIN_CSS_RULES.o.integer = -1;
+ }
+ else if (!strcmp (key, "SORT_ELEMENT_COUNT"))
+ {
+ if (force <= 0 && options->SORT_ELEMENT_COUNT.configured > 0)
+ return -1;
+
+ non_perl_free (options->SORT_ELEMENT_COUNT.o.string);
+ if (SvOK (value))
+ options->SORT_ELEMENT_COUNT.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->SORT_ELEMENT_COUNT.o.string = 0;
+ }
+ else if (!strcmp (key, "SORT_ELEMENT_COUNT_WORDS"))
+ {
+ if (force <= 0 && options->SORT_ELEMENT_COUNT_WORDS.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->SORT_ELEMENT_COUNT_WORDS.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "SORT_ELEMENT_COUNT_WORDS", SvPVutf8_nolen (value));
+ options->SORT_ELEMENT_COUNT_WORDS.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->SORT_ELEMENT_COUNT_WORDS.o.integer = -1;
+ }
+ else if (!strcmp (key, "TEXI2DVI"))
+ {
+ if (force <= 0 && options->TEXI2DVI.configured > 0)
+ return -1;
+
+ non_perl_free (options->TEXI2DVI.o.string);
+ if (SvOK (value))
+ options->TEXI2DVI.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->TEXI2DVI.o.string = 0;
+ }
+ else if (!strcmp (key, "TREE_TRANSFORMATIONS"))
+ {
+ if (force <= 0 && options->TREE_TRANSFORMATIONS.configured > 0)
+ return -1;
+
+ non_perl_free (options->TREE_TRANSFORMATIONS.o.string);
+ if (SvOK (value))
+ options->TREE_TRANSFORMATIONS.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->TREE_TRANSFORMATIONS.o.string = 0;
+ }
+
+/* unique_at_command */
+
+ else if (!strcmp (key, "afivepaper"))
+ {
+ if (force <= 0 && options->afivepaper.configured > 0)
+ return -1;
+
+ non_perl_free (options->afivepaper.o.string);
+ if (SvOK (value))
+ options->afivepaper.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->afivepaper.o.string = 0;
+ }
+ else if (!strcmp (key, "afourpaper"))
+ {
+ if (force <= 0 && options->afourpaper.configured > 0)
+ return -1;
+
+ non_perl_free (options->afourpaper.o.string);
+ if (SvOK (value))
+ options->afourpaper.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->afourpaper.o.string = 0;
+ }
+ else if (!strcmp (key, "afourlatex"))
+ {
+ if (force <= 0 && options->afourlatex.configured > 0)
+ return -1;
+
+ non_perl_free (options->afourlatex.o.string);
+ if (SvOK (value))
+ options->afourlatex.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->afourlatex.o.string = 0;
+ }
+ else if (!strcmp (key, "afourwide"))
+ {
+ if (force <= 0 && options->afourwide.configured > 0)
+ return -1;
+
+ non_perl_free (options->afourwide.o.string);
+ if (SvOK (value))
+ options->afourwide.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->afourwide.o.string = 0;
+ }
+ else if (!strcmp (key, "bsixpaper"))
+ {
+ if (force <= 0 && options->bsixpaper.configured > 0)
+ return -1;
+
+ non_perl_free (options->bsixpaper.o.string);
+ if (SvOK (value))
+ options->bsixpaper.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->bsixpaper.o.string = 0;
+ }
+ else if (!strcmp (key, "documentdescription"))
+ {
+ if (force <= 0 && options->documentdescription.configured > 0)
+ return -1;
+
+ non_perl_free (options->documentdescription.o.string);
+ if (SvOK (value))
+ options->documentdescription.o.string = non_perl_strdup
(SvPVutf8_nolen (value));
+ else
+ options->documentdescription.o.string = 0;
+ }
+ else if (!strcmp (key, "evenfootingmarks"))
+ {
+ if (force <= 0 && options->evenfootingmarks.configured > 0)
+ return -1;
+
+ non_perl_free (options->evenfootingmarks.o.string);
+ if (SvOK (value))
+ options->evenfootingmarks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->evenfootingmarks.o.string = 0;
+ }
+ else if (!strcmp (key, "evenheadingmarks"))
+ {
+ if (force <= 0 && options->evenheadingmarks.configured > 0)
+ return -1;
+
+ non_perl_free (options->evenheadingmarks.o.string);
+ if (SvOK (value))
+ options->evenheadingmarks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->evenheadingmarks.o.string = 0;
+ }
+ else if (!strcmp (key, "everyfootingmarks"))
+ {
+ if (force <= 0 && options->everyfootingmarks.configured > 0)
+ return -1;
+
+ non_perl_free (options->everyfootingmarks.o.string);
+ if (SvOK (value))
+ options->everyfootingmarks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->everyfootingmarks.o.string = 0;
+ }
+ else if (!strcmp (key, "everyheadingmarks"))
+ {
+ if (force <= 0 && options->everyheadingmarks.configured > 0)
+ return -1;
+
+ non_perl_free (options->everyheadingmarks.o.string);
+ if (SvOK (value))
+ options->everyheadingmarks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->everyheadingmarks.o.string = 0;
+ }
+ else if (!strcmp (key, "fonttextsize"))
+ {
+ if (force <= 0 && options->fonttextsize.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->fonttextsize.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "fonttextsize", SvPVutf8_nolen (value));
+ options->fonttextsize.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->fonttextsize.o.integer = -1;
+ }
+ else if (!strcmp (key, "footnotestyle"))
+ {
+ if (force <= 0 && options->footnotestyle.configured > 0)
+ return -1;
+
+ non_perl_free (options->footnotestyle.o.string);
+ if (SvOK (value))
+ options->footnotestyle.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->footnotestyle.o.string = 0;
+ }
+ else if (!strcmp (key, "novalidate"))
+ {
+ if (force <= 0 && options->novalidate.configured > 0)
+ return -1;
+
+ if (SvOK (value))
+ {
+ if (looks_like_number (value))
+ options->novalidate.o.integer = SvIV (value);
+ else
+ {
+ fprintf (stderr, "BUG: %s: not an integer: %s\n",
+ "novalidate", SvPVutf8_nolen (value));
+ options->novalidate.o.integer = -1;
+ return -3;
+ }
+ }
+ else
+ options->novalidate.o.integer = -1;
+ }
+ else if (!strcmp (key, "oddfootingmarks"))
+ {
+ if (force <= 0 && options->oddfootingmarks.configured > 0)
+ return -1;
+
+ non_perl_free (options->oddfootingmarks.o.string);
+ if (SvOK (value))
+ options->oddfootingmarks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->oddfootingmarks.o.string = 0;
+ }
+ else if (!strcmp (key, "oddheadingmarks"))
+ {
+ if (force <= 0 && options->oddheadingmarks.configured > 0)
+ return -1;
+
+ non_perl_free (options->oddheadingmarks.o.string);
+ if (SvOK (value))
+ options->oddheadingmarks.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->oddheadingmarks.o.string = 0;
+ }
+ else if (!strcmp (key, "pagesizes"))
+ {
+ if (force <= 0 && options->pagesizes.configured > 0)
+ return -1;
+
+ non_perl_free (options->pagesizes.o.string);
+ if (SvOK (value))
+ options->pagesizes.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->pagesizes.o.string = 0;
+ }
+ else if (!strcmp (key, "setchapternewpage"))
+ {
+ if (force <= 0 && options->setchapternewpage.configured > 0)
+ return -1;
+
+ non_perl_free (options->setchapternewpage.o.string);
+ if (SvOK (value))
+ options->setchapternewpage.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->setchapternewpage.o.string = 0;
+ }
+ else if (!strcmp (key, "setfilename"))
+ {
+ if (force <= 0 && options->setfilename.configured > 0)
+ return -1;
+
+ non_perl_free (options->setfilename.o.string);
+ if (SvOK (value))
+ options->setfilename.o.string = non_perl_strdup (SvPVutf8_nolen
(value));
+ else
+ options->setfilename.o.string = 0;
+ }
+ else if (!strcmp (key, "smallbook"))
+ {
+ if (force <= 0 && options->smallbook.configured > 0)
+ return -1;
+
+ non_perl_free (options->smallbook.o.string);
+ if (SvOK (value))
+ options->smallbook.o.string = non_perl_strdup (SvPVutf8_nolen (value));
+ else
+ options->smallbook.o.string = 0;
+ }
+ else
+ return -2; /* unknown */
+
+ return 0;
+}
+
+void
+html_fill_sv_options (OPTIONS *options, const CONVERTER *converter)
+{
+ if (options->LINKS_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->LINKS_BUTTONS.o.buttons);
+
+ if (options->TOP_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->TOP_BUTTONS.o.buttons);
+
+ if (options->TOP_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->TOP_FOOTER_BUTTONS.o.buttons);
+
+ if (options->SECTION_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->SECTION_BUTTONS.o.buttons);
+
+ if (options->CHAPTER_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->CHAPTER_FOOTER_BUTTONS.o.buttons);
+
+ if (options->SECTION_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->SECTION_FOOTER_BUTTONS.o.buttons);
+
+ if (options->NODE_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->NODE_FOOTER_BUTTONS.o.buttons);
+
+ if (options->MISC_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->MISC_BUTTONS.o.buttons);
+
+ if (options->CHAPTER_BUTTONS.o.buttons)
+ html_fill_button_sv_specification_list (converter,
options->CHAPTER_BUTTONS.o.buttons);
+
+ if (options->ACTIVE_ICONS.o.icons)
+ html_fill_direction_icons (converter, options->ACTIVE_ICONS.o.icons);
+
+ if (options->PASSIVE_ICONS.o.icons)
+ html_fill_direction_icons (converter, options->PASSIVE_ICONS.o.icons);
+
+}
+
+SV *
+build_sv_option_key (const OPTIONS *options, const char *key,
+ const CONVERTER *converter)
+{
+ dTHX;
+
+ if (0) {return newSV (0);}
+
+/* array_cmdline */
+
+ else if (!strcmp (key, "CSS_FILES"))
+ {
+ return newRV_noinc ((SV *)
build_string_list(options->CSS_FILES.o.strlist, svt_byte));
+ }
+ else if (!strcmp (key, "CSS_REFS"))
+ {
+ return newRV_noinc ((SV *)
build_string_list(options->CSS_REFS.o.strlist, svt_char));
+ }
+ else if (!strcmp (key, "EXPANDED_FORMATS"))
+ {
+ return newRV_noinc ((SV *)
build_string_list(options->EXPANDED_FORMATS.o.strlist, svt_byte));
+ }
+ else if (!strcmp (key, "INCLUDE_DIRECTORIES"))
+ {
+ return newRV_noinc ((SV *)
build_string_list(options->INCLUDE_DIRECTORIES.o.strlist, svt_dir));
+ }
+ else if (!strcmp (key, "TEXINFO_LANGUAGE_DIRECTORIES"))
+ {
+ return newRV_noinc ((SV *)
build_string_list(options->TEXINFO_LANGUAGE_DIRECTORIES.o.strlist, svt_dir));
+ }
+
+/* converter_cmdline */
+
+ else if (!strcmp (key, "SPLIT_SIZE"))
+ {
+ if (options->SPLIT_SIZE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->SPLIT_SIZE.o.integer);
+ }
+ else if (!strcmp (key, "FILLCOLUMN"))
+ {
+ if (options->FILLCOLUMN.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->FILLCOLUMN.o.integer);
+ }
+ else if (!strcmp (key, "NUMBER_SECTIONS"))
+ {
+ if (options->NUMBER_SECTIONS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NUMBER_SECTIONS.o.integer);
+ }
+ else if (!strcmp (key, "NUMBER_FOOTNOTES"))
+ {
+ if (options->NUMBER_FOOTNOTES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NUMBER_FOOTNOTES.o.integer);
+ }
+ else if (!strcmp (key, "TRANSLITERATE_FILE_NAMES"))
+ {
+ if (options->TRANSLITERATE_FILE_NAMES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TRANSLITERATE_FILE_NAMES.o.integer);
+ }
+ else if (!strcmp (key, "SPLIT"))
+ {
+ if (!options->SPLIT.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->SPLIT.o.string, 0);
+ }
+ else if (!strcmp (key, "HEADERS"))
+ {
+ if (options->HEADERS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->HEADERS.o.integer);
+ }
+ else if (!strcmp (key, "NODE_FILES"))
+ {
+ if (options->NODE_FILES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NODE_FILES.o.integer);
+ }
+ else if (!strcmp (key, "VERBOSE"))
+ {
+ if (options->VERBOSE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->VERBOSE.o.integer);
+ }
+ else if (!strcmp (key, "OUTFILE"))
+ {
+ if (!options->OUTFILE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->OUTFILE.o.string, 0);
+ }
+ else if (!strcmp (key, "SUBDIR"))
+ {
+ if (!options->SUBDIR.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->SUBDIR.o.string, 0);
+ }
+ else if (!strcmp (key, "ENABLE_ENCODING"))
+ {
+ if (options->ENABLE_ENCODING.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->ENABLE_ENCODING.o.integer);
+ }
+
+/* converter_customization */
+
+ else if (!strcmp (key, "TOP_NODE_UP"))
+ {
+ if (!options->TOP_NODE_UP.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TOP_NODE_UP.o.string, 0);
+ }
+ else if (!strcmp (key, "BASEFILENAME_LENGTH"))
+ {
+ if (options->BASEFILENAME_LENGTH.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->BASEFILENAME_LENGTH.o.integer);
+ }
+ else if (!strcmp (key, "DOC_ENCODING_FOR_INPUT_FILE_NAME"))
+ {
+ if (options->DOC_ENCODING_FOR_INPUT_FILE_NAME.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DOC_ENCODING_FOR_INPUT_FILE_NAME.o.integer);
+ }
+ else if (!strcmp (key, "DOC_ENCODING_FOR_OUTPUT_FILE_NAME"))
+ {
+ if (options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.o.integer);
+ }
+ else if (!strcmp (key, "IMAGE_LINK_PREFIX"))
+ {
+ if (!options->IMAGE_LINK_PREFIX.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->IMAGE_LINK_PREFIX.o.string, 0);
+ }
+ else if (!strcmp (key, "CASE_INSENSITIVE_FILENAMES"))
+ {
+ if (options->CASE_INSENSITIVE_FILENAMES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->CASE_INSENSITIVE_FILENAMES.o.integer);
+ }
+ else if (!strcmp (key, "DEBUG"))
+ {
+ if (options->DEBUG.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DEBUG.o.integer);
+ }
+ else if (!strcmp (key, "HANDLER_FATAL_ERROR_LEVEL"))
+ {
+ if (options->HANDLER_FATAL_ERROR_LEVEL.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->HANDLER_FATAL_ERROR_LEVEL.o.integer);
+ }
+ else if (!strcmp (key, "TEST"))
+ {
+ if (options->TEST.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TEST.o.integer);
+ }
+ else if (!strcmp (key, "TEXTCONTENT_COMMENT"))
+ {
+ if (options->TEXTCONTENT_COMMENT.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TEXTCONTENT_COMMENT.o.integer);
+ }
+ else if (!strcmp (key, "TEXINFO_DTD_VERSION"))
+ {
+ if (!options->TEXINFO_DTD_VERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TEXINFO_DTD_VERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "USE_UNICODE_COLLATION"))
+ {
+ if (options->USE_UNICODE_COLLATION.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_UNICODE_COLLATION.o.integer);
+ }
+ else if (!strcmp (key, "AFTER_BODY_OPEN"))
+ {
+ if (!options->AFTER_BODY_OPEN.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->AFTER_BODY_OPEN.o.string, 0);
+ }
+ else if (!strcmp (key, "AFTER_SHORT_TOC_LINES"))
+ {
+ if (!options->AFTER_SHORT_TOC_LINES.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->AFTER_SHORT_TOC_LINES.o.string, 0);
+ }
+ else if (!strcmp (key, "AFTER_TOC_LINES"))
+ {
+ if (!options->AFTER_TOC_LINES.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->AFTER_TOC_LINES.o.string, 0);
+ }
+ else if (!strcmp (key, "ASCII_DASHES_AND_QUOTES"))
+ {
+ if (options->ASCII_DASHES_AND_QUOTES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->ASCII_DASHES_AND_QUOTES.o.integer);
+ }
+ else if (!strcmp (key, "ASCII_GLYPH"))
+ {
+ if (options->ASCII_GLYPH.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->ASCII_GLYPH.o.integer);
+ }
+ else if (!strcmp (key, "ASCII_PUNCTUATION"))
+ {
+ if (options->ASCII_PUNCTUATION.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->ASCII_PUNCTUATION.o.integer);
+ }
+ else if (!strcmp (key, "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN"))
+ {
+ if (options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.o.integer);
+ }
+ else if (!strcmp (key, "AUTO_MENU_MAX_WIDTH"))
+ {
+ if (options->AUTO_MENU_MAX_WIDTH.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->AUTO_MENU_MAX_WIDTH.o.integer);
+ }
+ else if (!strcmp (key, "BEFORE_SHORT_TOC_LINES"))
+ {
+ if (!options->BEFORE_SHORT_TOC_LINES.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->BEFORE_SHORT_TOC_LINES.o.string, 0);
+ }
+ else if (!strcmp (key, "BEFORE_TOC_LINES"))
+ {
+ if (!options->BEFORE_TOC_LINES.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->BEFORE_TOC_LINES.o.string, 0);
+ }
+ else if (!strcmp (key, "BIG_RULE"))
+ {
+ if (!options->BIG_RULE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->BIG_RULE.o.string, 0);
+ }
+ else if (!strcmp (key, "BODY_ELEMENT_ATTRIBUTES"))
+ {
+ if (!options->BODY_ELEMENT_ATTRIBUTES.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->BODY_ELEMENT_ATTRIBUTES.o.string, 0);
+ }
+ else if (!strcmp (key, "CLASS_BEGIN_USEPACKAGE"))
+ {
+ if (!options->CLASS_BEGIN_USEPACKAGE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->CLASS_BEGIN_USEPACKAGE.o.string, 0);
+ }
+ else if (!strcmp (key, "COPIABLE_LINKS"))
+ {
+ if (options->COPIABLE_LINKS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->COPIABLE_LINKS.o.integer);
+ }
+ else if (!strcmp (key, "CHAPTER_HEADER_LEVEL"))
+ {
+ if (options->CHAPTER_HEADER_LEVEL.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->CHAPTER_HEADER_LEVEL.o.integer);
+ }
+ else if (!strcmp (key, "CHECK_HTMLXREF"))
+ {
+ if (options->CHECK_HTMLXREF.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->CHECK_HTMLXREF.o.integer);
+ }
+ else if (!strcmp (key, "CLOSE_DOUBLE_QUOTE_SYMBOL"))
+ {
+ if (!options->CLOSE_DOUBLE_QUOTE_SYMBOL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->CLOSE_DOUBLE_QUOTE_SYMBOL.o.string, 0);
+ }
+ else if (!strcmp (key, "CLOSE_QUOTE_SYMBOL"))
+ {
+ if (!options->CLOSE_QUOTE_SYMBOL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->CLOSE_QUOTE_SYMBOL.o.string, 0);
+ }
+ else if (!strcmp (key, "COLLATION_LANGUAGE"))
+ {
+ if (!options->COLLATION_LANGUAGE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->COLLATION_LANGUAGE.o.string, 0);
+ }
+ else if (!strcmp (key, "COMMAND_LINE_ENCODING"))
+ {
+ if (!options->COMMAND_LINE_ENCODING.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->COMMAND_LINE_ENCODING.o.string, 0);
+ }
+ else if (!strcmp (key, "INDENTED_BLOCK_COMMANDS_IN_TABLE"))
+ {
+ if (options->INDENTED_BLOCK_COMMANDS_IN_TABLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->INDENTED_BLOCK_COMMANDS_IN_TABLE.o.integer);
+ }
+ else if (!strcmp (key, "CONTENTS_OUTPUT_LOCATION"))
+ {
+ if (!options->CONTENTS_OUTPUT_LOCATION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->CONTENTS_OUTPUT_LOCATION.o.string, 0);
+ }
+ else if (!strcmp (key, "CONVERT_TO_LATEX_IN_MATH"))
+ {
+ if (options->CONVERT_TO_LATEX_IN_MATH.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->CONVERT_TO_LATEX_IN_MATH.o.integer);
+ }
+ else if (!strcmp (key, "DATE_IN_HEADER"))
+ {
+ if (options->DATE_IN_HEADER.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DATE_IN_HEADER.o.integer);
+ }
+ else if (!strcmp (key, "DEFAULT_RULE"))
+ {
+ if (!options->DEFAULT_RULE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->DEFAULT_RULE.o.string, 0);
+ }
+ else if (!strcmp (key, "DEF_TABLE"))
+ {
+ if (options->DEF_TABLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DEF_TABLE.o.integer);
+ }
+ else if (!strcmp (key, "DO_ABOUT"))
+ {
+ if (options->DO_ABOUT.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DO_ABOUT.o.integer);
+ }
+ else if (!strcmp (key, "DOCTYPE"))
+ {
+ if (!options->DOCTYPE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->DOCTYPE.o.string, 0);
+ }
+ else if (!strcmp (key, "DOCUMENTLANGUAGE_COLLATION"))
+ {
+ if (options->DOCUMENTLANGUAGE_COLLATION.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DOCUMENTLANGUAGE_COLLATION.o.integer);
+ }
+ else if (!strcmp (key, "END_USEPACKAGE"))
+ {
+ if (!options->END_USEPACKAGE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->END_USEPACKAGE.o.string, 0);
+ }
+ else if (!strcmp (key, "EPUB_CREATE_CONTAINER_FILE"))
+ {
+ if (options->EPUB_CREATE_CONTAINER_FILE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->EPUB_CREATE_CONTAINER_FILE.o.integer);
+ }
+ else if (!strcmp (key, "EPUB_KEEP_CONTAINER_FOLDER"))
+ {
+ if (options->EPUB_KEEP_CONTAINER_FOLDER.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->EPUB_KEEP_CONTAINER_FOLDER.o.integer);
+ }
+ else if (!strcmp (key, "EXTENSION"))
+ {
+ if (!options->EXTENSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->EXTENSION.o.string, 0);
+ }
+ else if (!strcmp (key, "EXTERNAL_CROSSREF_EXTENSION"))
+ {
+ if (!options->EXTERNAL_CROSSREF_EXTENSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->EXTERNAL_CROSSREF_EXTENSION.o.string, 0);
+ }
+ else if (!strcmp (key, "EXTERNAL_CROSSREF_SPLIT"))
+ {
+ if (!options->EXTERNAL_CROSSREF_SPLIT.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->EXTERNAL_CROSSREF_SPLIT.o.string, 0);
+ }
+ else if (!strcmp (key, "EXTERNAL_DIR"))
+ {
+ if (!options->EXTERNAL_DIR.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->EXTERNAL_DIR.o.string, 0);
+ }
+ else if (!strcmp (key, "EXTRA_HEAD"))
+ {
+ if (!options->EXTRA_HEAD.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->EXTRA_HEAD.o.string, 0);
+ }
+ else if (!strcmp (key, "FOOTNOTE_END_HEADER_LEVEL"))
+ {
+ if (options->FOOTNOTE_END_HEADER_LEVEL.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->FOOTNOTE_END_HEADER_LEVEL.o.integer);
+ }
+ else if (!strcmp (key, "FOOTNOTE_SEPARATE_HEADER_LEVEL"))
+ {
+ if (options->FOOTNOTE_SEPARATE_HEADER_LEVEL.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->FOOTNOTE_SEPARATE_HEADER_LEVEL.o.integer);
+ }
+ else if (!strcmp (key, "HEADER_IN_TABLE"))
+ {
+ if (options->HEADER_IN_TABLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->HEADER_IN_TABLE.o.integer);
+ }
+ else if (!strcmp (key, "HIGHLIGHT_SYNTAX"))
+ {
+ if (!options->HIGHLIGHT_SYNTAX.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->HIGHLIGHT_SYNTAX.o.string, 0);
+ }
+ else if (!strcmp (key, "HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE"))
+ {
+ if (!options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.o.string)
+ return newSV (0);
+ return newSVpv_utf8
(options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.o.string, 0);
+ }
+ else if (!strcmp (key, "HTML_MATH"))
+ {
+ if (!options->HTML_MATH.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->HTML_MATH.o.string, 0);
+ }
+ else if (!strcmp (key, "HTML_ROOT_ELEMENT_ATTRIBUTES"))
+ {
+ if (!options->HTML_ROOT_ELEMENT_ATTRIBUTES.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->HTML_ROOT_ELEMENT_ATTRIBUTES.o.string, 0);
+ }
+ else if (!strcmp (key, "HTMLXREF_FILE"))
+ {
+ if (!options->HTMLXREF_FILE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->HTMLXREF_FILE.o.string, 0);
+ }
+ else if (!strcmp (key, "HTMLXREF_MODE"))
+ {
+ if (!options->HTMLXREF_MODE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->HTMLXREF_MODE.o.string, 0);
+ }
+ else if (!strcmp (key, "ICONS"))
+ {
+ if (options->ICONS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->ICONS.o.integer);
+ }
+ else if (!strcmp (key, "INDEX_ENTRY_COLON"))
+ {
+ if (!options->INDEX_ENTRY_COLON.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->INDEX_ENTRY_COLON.o.string, 0);
+ }
+ else if (!strcmp (key, "INDEX_SPECIAL_CHARS_WARNING"))
+ {
+ if (options->INDEX_SPECIAL_CHARS_WARNING.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->INDEX_SPECIAL_CHARS_WARNING.o.integer);
+ }
+ else if (!strcmp (key, "INFO_JS_DIR"))
+ {
+ if (!options->INFO_JS_DIR.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->INFO_JS_DIR.o.string, 0);
+ }
+ else if (!strcmp (key, "INFO_SPECIAL_CHARS_QUOTE"))
+ {
+ if (!options->INFO_SPECIAL_CHARS_QUOTE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->INFO_SPECIAL_CHARS_QUOTE.o.string, 0);
+ }
+ else if (!strcmp (key, "INFO_SPECIAL_CHARS_WARNING"))
+ {
+ if (options->INFO_SPECIAL_CHARS_WARNING.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->INFO_SPECIAL_CHARS_WARNING.o.integer);
+ }
+ else if (!strcmp (key, "IGNORE_REF_TO_TOP_NODE_UP"))
+ {
+ if (options->IGNORE_REF_TO_TOP_NODE_UP.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->IGNORE_REF_TO_TOP_NODE_UP.o.integer);
+ }
+ else if (!strcmp (key, "INLINE_CSS_STYLE"))
+ {
+ if (options->INLINE_CSS_STYLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->INLINE_CSS_STYLE.o.integer);
+ }
+ else if (!strcmp (key, "INPUT_FILE_NAME_ENCODING"))
+ {
+ if (!options->INPUT_FILE_NAME_ENCODING.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->INPUT_FILE_NAME_ENCODING.o.string, 0);
+ }
+ else if (!strcmp (key, "JS_WEBLABELS"))
+ {
+ if (!options->JS_WEBLABELS.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->JS_WEBLABELS.o.string, 0);
+ }
+ else if (!strcmp (key, "JS_WEBLABELS_FILE"))
+ {
+ if (!options->JS_WEBLABELS_FILE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->JS_WEBLABELS_FILE.o.string, 0);
+ }
+ else if (!strcmp (key, "LATEX_FLOATS_FILE_EXTENSION"))
+ {
+ if (!options->LATEX_FLOATS_FILE_EXTENSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->LATEX_FLOATS_FILE_EXTENSION.o.string, 0);
+ }
+ else if (!strcmp (key, "LOCALE_ENCODING"))
+ {
+ if (!options->LOCALE_ENCODING.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->LOCALE_ENCODING.o.string, 0);
+ }
+ else if (!strcmp (key, "L2H_CLEAN"))
+ {
+ if (options->L2H_CLEAN.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->L2H_CLEAN.o.integer);
+ }
+ else if (!strcmp (key, "L2H_FILE"))
+ {
+ if (!options->L2H_FILE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->L2H_FILE.o.string, 0);
+ }
+ else if (!strcmp (key, "L2H_HTML_VERSION"))
+ {
+ if (!options->L2H_HTML_VERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->L2H_HTML_VERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "L2H_L2H"))
+ {
+ if (!options->L2H_L2H.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->L2H_L2H.o.string, 0);
+ }
+ else if (!strcmp (key, "L2H_SKIP"))
+ {
+ if (options->L2H_SKIP.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->L2H_SKIP.o.integer);
+ }
+ else if (!strcmp (key, "L2H_TMP"))
+ {
+ if (!options->L2H_TMP.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->L2H_TMP.o.string, 0);
+ }
+ else if (!strcmp (key, "MATHJAX_CONFIGURATION"))
+ {
+ if (!options->MATHJAX_CONFIGURATION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->MATHJAX_CONFIGURATION.o.string, 0);
+ }
+ else if (!strcmp (key, "MATHJAX_SCRIPT"))
+ {
+ if (!options->MATHJAX_SCRIPT.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->MATHJAX_SCRIPT.o.string, 0);
+ }
+ else if (!strcmp (key, "MATHJAX_SOURCE"))
+ {
+ if (!options->MATHJAX_SOURCE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->MATHJAX_SOURCE.o.string, 0);
+ }
+ else if (!strcmp (key, "MAX_HEADER_LEVEL"))
+ {
+ if (options->MAX_HEADER_LEVEL.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->MAX_HEADER_LEVEL.o.integer);
+ }
+ else if (!strcmp (key, "MENU_ENTRY_COLON"))
+ {
+ if (!options->MENU_ENTRY_COLON.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->MENU_ENTRY_COLON.o.string, 0);
+ }
+ else if (!strcmp (key, "MENU_SYMBOL"))
+ {
+ if (!options->MENU_SYMBOL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->MENU_SYMBOL.o.string, 0);
+ }
+ else if (!strcmp (key, "MESSAGE_ENCODING"))
+ {
+ if (!options->MESSAGE_ENCODING.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->MESSAGE_ENCODING.o.string, 0);
+ }
+ else if (!strcmp (key, "MONOLITHIC"))
+ {
+ if (options->MONOLITHIC.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->MONOLITHIC.o.integer);
+ }
+ else if (!strcmp (key, "NO_CSS"))
+ {
+ if (options->NO_CSS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NO_CSS.o.integer);
+ }
+ else if (!strcmp (key, "NO_NUMBER_FOOTNOTE_SYMBOL"))
+ {
+ if (!options->NO_NUMBER_FOOTNOTE_SYMBOL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->NO_NUMBER_FOOTNOTE_SYMBOL.o.string, 0);
+ }
+ else if (!strcmp (key, "NO_CUSTOM_HTML_ATTRIBUTE"))
+ {
+ if (options->NO_CUSTOM_HTML_ATTRIBUTE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NO_CUSTOM_HTML_ATTRIBUTE.o.integer);
+ }
+ else if (!strcmp (key, "NODE_NAME_IN_INDEX"))
+ {
+ if (options->NODE_NAME_IN_INDEX.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NODE_NAME_IN_INDEX.o.integer);
+ }
+ else if (!strcmp (key, "NODE_NAME_IN_MENU"))
+ {
+ if (options->NODE_NAME_IN_MENU.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NODE_NAME_IN_MENU.o.integer);
+ }
+ else if (!strcmp (key, "NO_TOP_NODE_OUTPUT"))
+ {
+ if (options->NO_TOP_NODE_OUTPUT.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NO_TOP_NODE_OUTPUT.o.integer);
+ }
+ else if (!strcmp (key, "OPEN_DOUBLE_QUOTE_SYMBOL"))
+ {
+ if (!options->OPEN_DOUBLE_QUOTE_SYMBOL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->OPEN_DOUBLE_QUOTE_SYMBOL.o.string, 0);
+ }
+ else if (!strcmp (key, "OPEN_QUOTE_SYMBOL"))
+ {
+ if (!options->OPEN_QUOTE_SYMBOL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->OPEN_QUOTE_SYMBOL.o.string, 0);
+ }
+ else if (!strcmp (key, "OUTPUT_CHARACTERS"))
+ {
+ if (options->OUTPUT_CHARACTERS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->OUTPUT_CHARACTERS.o.integer);
+ }
+ else if (!strcmp (key, "OUTPUT_ENCODING_NAME"))
+ {
+ if (!options->OUTPUT_ENCODING_NAME.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->OUTPUT_ENCODING_NAME.o.string, 0);
+ }
+ else if (!strcmp (key, "OUTPUT_FILE_NAME_ENCODING"))
+ {
+ if (!options->OUTPUT_FILE_NAME_ENCODING.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->OUTPUT_FILE_NAME_ENCODING.o.string, 0);
+ }
+ else if (!strcmp (key, "OUTPUT_PERL_ENCODING"))
+ {
+ if (!options->OUTPUT_PERL_ENCODING.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->OUTPUT_PERL_ENCODING.o.string, 0);
+ }
+ else if (!strcmp (key, "PACKAGE"))
+ {
+ if (!options->PACKAGE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PACKAGE.o.string, 0);
+ }
+ else if (!strcmp (key, "PACKAGE_AND_VERSION"))
+ {
+ if (!options->PACKAGE_AND_VERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PACKAGE_AND_VERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "PACKAGE_NAME"))
+ {
+ if (!options->PACKAGE_NAME.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PACKAGE_NAME.o.string, 0);
+ }
+ else if (!strcmp (key, "PACKAGE_URL"))
+ {
+ if (!options->PACKAGE_URL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PACKAGE_URL.o.string, 0);
+ }
+ else if (!strcmp (key, "PACKAGE_VERSION"))
+ {
+ if (!options->PACKAGE_VERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PACKAGE_VERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "PRE_BODY_CLOSE"))
+ {
+ if (!options->PRE_BODY_CLOSE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PRE_BODY_CLOSE.o.string, 0);
+ }
+ else if (!strcmp (key, "PREFIX"))
+ {
+ if (!options->PREFIX.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PREFIX.o.string, 0);
+ }
+ else if (!strcmp (key, "PROGRAM"))
+ {
+ if (!options->PROGRAM.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->PROGRAM.o.string, 0);
+ }
+ else if (!strcmp (key, "PROGRAM_NAME_IN_ABOUT"))
+ {
+ if (options->PROGRAM_NAME_IN_ABOUT.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->PROGRAM_NAME_IN_ABOUT.o.integer);
+ }
+ else if (!strcmp (key, "PROGRAM_NAME_IN_FOOTER"))
+ {
+ if (options->PROGRAM_NAME_IN_FOOTER.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->PROGRAM_NAME_IN_FOOTER.o.integer);
+ }
+ else if (!strcmp (key, "SECTION_NAME_IN_TITLE"))
+ {
+ if (options->SECTION_NAME_IN_TITLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->SECTION_NAME_IN_TITLE.o.integer);
+ }
+ else if (!strcmp (key, "SHORT_TOC_LINK_TO_TOC"))
+ {
+ if (options->SHORT_TOC_LINK_TO_TOC.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->SHORT_TOC_LINK_TO_TOC.o.integer);
+ }
+ else if (!strcmp (key, "SHOW_TITLE"))
+ {
+ if (options->SHOW_TITLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->SHOW_TITLE.o.integer);
+ }
+ else if (!strcmp (key, "T4H_LATEX_CONVERSION"))
+ {
+ if (!options->T4H_LATEX_CONVERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->T4H_LATEX_CONVERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "T4H_MATH_CONVERSION"))
+ {
+ if (!options->T4H_MATH_CONVERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->T4H_MATH_CONVERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "T4H_TEX_CONVERSION"))
+ {
+ if (!options->T4H_TEX_CONVERSION.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->T4H_TEX_CONVERSION.o.string, 0);
+ }
+ else if (!strcmp (key, "TEXI2HTML"))
+ {
+ if (options->TEXI2HTML.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TEXI2HTML.o.integer);
+ }
+ else if (!strcmp (key, "TEXINFO_OUTPUT_FORMAT"))
+ {
+ if (!options->TEXINFO_OUTPUT_FORMAT.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TEXINFO_OUTPUT_FORMAT.o.string, 0);
+ }
+ else if (!strcmp (key, "TXI_MARKUP_NO_SECTION_EXTENT"))
+ {
+ if (options->TXI_MARKUP_NO_SECTION_EXTENT.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TXI_MARKUP_NO_SECTION_EXTENT.o.integer);
+ }
+ else if (!strcmp (key, "TOC_LINKS"))
+ {
+ if (options->TOC_LINKS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TOC_LINKS.o.integer);
+ }
+ else if (!strcmp (key, "TOP_FILE"))
+ {
+ if (!options->TOP_FILE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TOP_FILE.o.string, 0);
+ }
+ else if (!strcmp (key, "TOP_NODE_FILE_TARGET"))
+ {
+ if (!options->TOP_NODE_FILE_TARGET.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TOP_NODE_FILE_TARGET.o.string, 0);
+ }
+ else if (!strcmp (key, "TOP_NODE_UP_URL"))
+ {
+ if (!options->TOP_NODE_UP_URL.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TOP_NODE_UP_URL.o.string, 0);
+ }
+ else if (!strcmp (key, "USE_ACCESSKEY"))
+ {
+ if (options->USE_ACCESSKEY.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_ACCESSKEY.o.integer);
+ }
+ else if (!strcmp (key, "USE_ISO"))
+ {
+ if (options->USE_ISO.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_ISO.o.integer);
+ }
+ else if (!strcmp (key, "USE_LINKS"))
+ {
+ if (options->USE_LINKS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_LINKS.o.integer);
+ }
+ else if (!strcmp (key, "USE_NEXT_HEADING_FOR_LONE_NODE"))
+ {
+ if (options->USE_NEXT_HEADING_FOR_LONE_NODE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_NEXT_HEADING_FOR_LONE_NODE.o.integer);
+ }
+ else if (!strcmp (key, "USE_NODES"))
+ {
+ if (options->USE_NODES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_NODES.o.integer);
+ }
+ else if (!strcmp (key, "USE_NODE_DIRECTIONS"))
+ {
+ if (options->USE_NODE_DIRECTIONS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_NODE_DIRECTIONS.o.integer);
+ }
+ else if (!strcmp (key, "USE_NUMERIC_ENTITY"))
+ {
+ if (options->USE_NUMERIC_ENTITY.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_NUMERIC_ENTITY.o.integer);
+ }
+ else if (!strcmp (key, "USE_REL_REV"))
+ {
+ if (options->USE_REL_REV.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_REL_REV.o.integer);
+ }
+ else if (!strcmp (key, "USE_SETFILENAME_EXTENSION"))
+ {
+ if (options->USE_SETFILENAME_EXTENSION.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_SETFILENAME_EXTENSION.o.integer);
+ }
+ else if (!strcmp (key, "USE_TITLEPAGE_FOR_TITLE"))
+ {
+ if (options->USE_TITLEPAGE_FOR_TITLE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_TITLEPAGE_FOR_TITLE.o.integer);
+ }
+ else if (!strcmp (key, "USE_UNIDECODE"))
+ {
+ if (options->USE_UNIDECODE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_UNIDECODE.o.integer);
+ }
+ else if (!strcmp (key, "USE_XML_SYNTAX"))
+ {
+ if (options->USE_XML_SYNTAX.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->USE_XML_SYNTAX.o.integer);
+ }
+ else if (!strcmp (key, "VERTICAL_HEAD_NAVIGATION"))
+ {
+ if (options->VERTICAL_HEAD_NAVIGATION.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->VERTICAL_HEAD_NAVIGATION.o.integer);
+ }
+ else if (!strcmp (key, "WORDS_IN_PAGE"))
+ {
+ if (options->WORDS_IN_PAGE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->WORDS_IN_PAGE.o.integer);
+ }
+ else if (!strcmp (key, "XREF_USE_FLOAT_LABEL"))
+ {
+ if (options->XREF_USE_FLOAT_LABEL.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->XREF_USE_FLOAT_LABEL.o.integer);
+ }
+ else if (!strcmp (key, "XREF_USE_NODE_NAME_ARG"))
+ {
+ if (options->XREF_USE_NODE_NAME_ARG.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->XREF_USE_NODE_NAME_ARG.o.integer);
+ }
+ else if (!strcmp (key, "XS_EXTERNAL_CONVERSION"))
+ {
+ if (options->XS_EXTERNAL_CONVERSION.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->XS_EXTERNAL_CONVERSION.o.integer);
+ }
+ else if (!strcmp (key, "XS_EXTERNAL_FORMATTING"))
+ {
+ if (options->XS_EXTERNAL_FORMATTING.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->XS_EXTERNAL_FORMATTING.o.integer);
+ }
+ else if (!strcmp (key, "XS_STRXFRM_COLLATION_LOCALE"))
+ {
+ if (!options->XS_STRXFRM_COLLATION_LOCALE.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->XS_STRXFRM_COLLATION_LOCALE.o.string, 0);
+ }
+ else if (!strcmp (key, "_INLINE_STYLE_WIDTH"))
+ {
+ if (options->_INLINE_STYLE_WIDTH.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->_INLINE_STYLE_WIDTH.o.integer);
+ }
+
+/* converter_other */
+
+ else if (!strcmp (key, "LINKS_BUTTONS"))
+ {
+ if (!options->LINKS_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->LINKS_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "TOP_BUTTONS"))
+ {
+ if (!options->TOP_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->TOP_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "TOP_FOOTER_BUTTONS"))
+ {
+ if (!options->TOP_FOOTER_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->TOP_FOOTER_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "SECTION_BUTTONS"))
+ {
+ if (!options->SECTION_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->SECTION_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "CHAPTER_FOOTER_BUTTONS"))
+ {
+ if (!options->CHAPTER_FOOTER_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->CHAPTER_FOOTER_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "SECTION_FOOTER_BUTTONS"))
+ {
+ if (!options->SECTION_FOOTER_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->SECTION_FOOTER_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "NODE_FOOTER_BUTTONS"))
+ {
+ if (!options->NODE_FOOTER_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->NODE_FOOTER_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "MISC_BUTTONS"))
+ {
+ if (!options->MISC_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->MISC_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "CHAPTER_BUTTONS"))
+ {
+ if (!options->CHAPTER_BUTTONS.o.buttons) return newSV (0);
+ return newRV_inc ((SV *) options->CHAPTER_BUTTONS.o.buttons->av);
+ }
+ else if (!strcmp (key, "ACTIVE_ICONS"))
+ {
+ return html_build_direction_icons (converter,
options->ACTIVE_ICONS.o.icons);
+ }
+ else if (!strcmp (key, "PASSIVE_ICONS"))
+ {
+ return html_build_direction_icons (converter,
options->PASSIVE_ICONS.o.icons);
+ }
+
+/* multiple_at_command */
+
+ else if (!strcmp (key, "allowcodebreaks"))
+ {
+ if (!options->allowcodebreaks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->allowcodebreaks.o.string, 0);
+ }
+ else if (!strcmp (key, "clickstyle"))
+ {
+ if (!options->clickstyle.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->clickstyle.o.string, 0);
+ }
+ else if (!strcmp (key, "codequotebacktick"))
+ {
+ if (!options->codequotebacktick.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->codequotebacktick.o.string, 0);
+ }
+ else if (!strcmp (key, "codequoteundirected"))
+ {
+ if (!options->codequoteundirected.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->codequoteundirected.o.string, 0);
+ }
+ else if (!strcmp (key, "contents"))
+ {
+ if (options->contents.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->contents.o.integer);
+ }
+ else if (!strcmp (key, "deftypefnnewline"))
+ {
+ if (!options->deftypefnnewline.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->deftypefnnewline.o.string, 0);
+ }
+ else if (!strcmp (key, "documentencoding"))
+ {
+ if (!options->documentencoding.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->documentencoding.o.string, 0);
+ }
+ else if (!strcmp (key, "documentlanguage"))
+ {
+ if (!options->documentlanguage.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->documentlanguage.o.string, 0);
+ }
+ else if (!strcmp (key, "evenfooting"))
+ {
+ if (!options->evenfooting.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->evenfooting.o.string, 0);
+ }
+ else if (!strcmp (key, "evenheading"))
+ {
+ if (!options->evenheading.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->evenheading.o.string, 0);
+ }
+ else if (!strcmp (key, "everyfooting"))
+ {
+ if (!options->everyfooting.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->everyfooting.o.string, 0);
+ }
+ else if (!strcmp (key, "everyheading"))
+ {
+ if (!options->everyheading.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->everyheading.o.string, 0);
+ }
+ else if (!strcmp (key, "exampleindent"))
+ {
+ if (!options->exampleindent.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->exampleindent.o.string, 0);
+ }
+ else if (!strcmp (key, "firstparagraphindent"))
+ {
+ if (!options->firstparagraphindent.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->firstparagraphindent.o.string, 0);
+ }
+ else if (!strcmp (key, "frenchspacing"))
+ {
+ if (!options->frenchspacing.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->frenchspacing.o.string, 0);
+ }
+ else if (!strcmp (key, "headings"))
+ {
+ if (!options->headings.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->headings.o.string, 0);
+ }
+ else if (!strcmp (key, "kbdinputstyle"))
+ {
+ if (!options->kbdinputstyle.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->kbdinputstyle.o.string, 0);
+ }
+ else if (!strcmp (key, "microtype"))
+ {
+ if (!options->microtype.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->microtype.o.string, 0);
+ }
+ else if (!strcmp (key, "oddheading"))
+ {
+ if (!options->oddheading.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->oddheading.o.string, 0);
+ }
+ else if (!strcmp (key, "oddfooting"))
+ {
+ if (!options->oddfooting.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->oddfooting.o.string, 0);
+ }
+ else if (!strcmp (key, "paragraphindent"))
+ {
+ if (!options->paragraphindent.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->paragraphindent.o.string, 0);
+ }
+ else if (!strcmp (key, "shortcontents"))
+ {
+ if (options->shortcontents.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->shortcontents.o.integer);
+ }
+ else if (!strcmp (key, "summarycontents"))
+ {
+ if (options->summarycontents.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->summarycontents.o.integer);
+ }
+ else if (!strcmp (key, "urefbreakstyle"))
+ {
+ if (!options->urefbreakstyle.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->urefbreakstyle.o.string, 0);
+ }
+ else if (!strcmp (key, "xrefautomaticsectiontitle"))
+ {
+ if (!options->xrefautomaticsectiontitle.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->xrefautomaticsectiontitle.o.string, 0);
+ }
+
+/* program_cmdline */
+
+ else if (!strcmp (key, "MACRO_EXPAND"))
+ {
+ if (!options->MACRO_EXPAND.o.string)
+ return newSV (0);
+ return newSVpv_byte (options->MACRO_EXPAND.o.string, 0);
+ }
+ else if (!strcmp (key, "INTERNAL_LINKS"))
+ {
+ if (!options->INTERNAL_LINKS.o.string)
+ return newSV (0);
+ return newSVpv_byte (options->INTERNAL_LINKS.o.string, 0);
+ }
+ else if (!strcmp (key, "ERROR_LIMIT"))
+ {
+ if (options->ERROR_LIMIT.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->ERROR_LIMIT.o.integer);
+ }
+ else if (!strcmp (key, "FORCE"))
+ {
+ if (options->FORCE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->FORCE.o.integer);
+ }
+ else if (!strcmp (key, "NO_WARN"))
+ {
+ if (options->NO_WARN.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->NO_WARN.o.integer);
+ }
+ else if (!strcmp (key, "SILENT"))
+ {
+ if (!options->SILENT.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->SILENT.o.string, 0);
+ }
+ else if (!strcmp (key, "TRACE_INCLUDES"))
+ {
+ if (options->TRACE_INCLUDES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->TRACE_INCLUDES.o.integer);
+ }
+ else if (!strcmp (key, "FORMAT_MENU"))
+ {
+ if (!options->FORMAT_MENU.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->FORMAT_MENU.o.string, 0);
+ }
+
+/* program_customization */
+
+ else if (!strcmp (key, "CHECK_NORMAL_MENU_STRUCTURE"))
+ {
+ if (options->CHECK_NORMAL_MENU_STRUCTURE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->CHECK_NORMAL_MENU_STRUCTURE.o.integer);
+ }
+ else if (!strcmp (key, "CHECK_MISSING_MENU_ENTRY"))
+ {
+ if (options->CHECK_MISSING_MENU_ENTRY.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->CHECK_MISSING_MENU_ENTRY.o.integer);
+ }
+ else if (!strcmp (key, "DUMP_TREE"))
+ {
+ if (options->DUMP_TREE.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DUMP_TREE.o.integer);
+ }
+ else if (!strcmp (key, "DUMP_TEXI"))
+ {
+ if (options->DUMP_TEXI.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->DUMP_TEXI.o.integer);
+ }
+ else if (!strcmp (key, "SHOW_BUILTIN_CSS_RULES"))
+ {
+ if (options->SHOW_BUILTIN_CSS_RULES.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->SHOW_BUILTIN_CSS_RULES.o.integer);
+ }
+ else if (!strcmp (key, "SORT_ELEMENT_COUNT"))
+ {
+ if (!options->SORT_ELEMENT_COUNT.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->SORT_ELEMENT_COUNT.o.string, 0);
+ }
+ else if (!strcmp (key, "SORT_ELEMENT_COUNT_WORDS"))
+ {
+ if (options->SORT_ELEMENT_COUNT_WORDS.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->SORT_ELEMENT_COUNT_WORDS.o.integer);
+ }
+ else if (!strcmp (key, "TEXI2DVI"))
+ {
+ if (!options->TEXI2DVI.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TEXI2DVI.o.string, 0);
+ }
+ else if (!strcmp (key, "TREE_TRANSFORMATIONS"))
+ {
+ if (!options->TREE_TRANSFORMATIONS.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->TREE_TRANSFORMATIONS.o.string, 0);
+ }
+
+/* unique_at_command */
+
+ else if (!strcmp (key, "afivepaper"))
+ {
+ if (!options->afivepaper.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->afivepaper.o.string, 0);
+ }
+ else if (!strcmp (key, "afourpaper"))
+ {
+ if (!options->afourpaper.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->afourpaper.o.string, 0);
+ }
+ else if (!strcmp (key, "afourlatex"))
+ {
+ if (!options->afourlatex.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->afourlatex.o.string, 0);
+ }
+ else if (!strcmp (key, "afourwide"))
+ {
+ if (!options->afourwide.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->afourwide.o.string, 0);
+ }
+ else if (!strcmp (key, "bsixpaper"))
+ {
+ if (!options->bsixpaper.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->bsixpaper.o.string, 0);
+ }
+ else if (!strcmp (key, "documentdescription"))
+ {
+ if (!options->documentdescription.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->documentdescription.o.string, 0);
+ }
+ else if (!strcmp (key, "evenfootingmarks"))
+ {
+ if (!options->evenfootingmarks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->evenfootingmarks.o.string, 0);
+ }
+ else if (!strcmp (key, "evenheadingmarks"))
+ {
+ if (!options->evenheadingmarks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->evenheadingmarks.o.string, 0);
+ }
+ else if (!strcmp (key, "everyfootingmarks"))
+ {
+ if (!options->everyfootingmarks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->everyfootingmarks.o.string, 0);
+ }
+ else if (!strcmp (key, "everyheadingmarks"))
+ {
+ if (!options->everyheadingmarks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->everyheadingmarks.o.string, 0);
+ }
+ else if (!strcmp (key, "fonttextsize"))
+ {
+ if (options->fonttextsize.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->fonttextsize.o.integer);
+ }
+ else if (!strcmp (key, "footnotestyle"))
+ {
+ if (!options->footnotestyle.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->footnotestyle.o.string, 0);
+ }
+ else if (!strcmp (key, "novalidate"))
+ {
+ if (options->novalidate.o.integer == -1)
+ return newSV (0);
+ return newSViv (options->novalidate.o.integer);
+ }
+ else if (!strcmp (key, "oddfootingmarks"))
+ {
+ if (!options->oddfootingmarks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->oddfootingmarks.o.string, 0);
+ }
+ else if (!strcmp (key, "oddheadingmarks"))
+ {
+ if (!options->oddheadingmarks.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->oddheadingmarks.o.string, 0);
+ }
+ else if (!strcmp (key, "pagesizes"))
+ {
+ if (!options->pagesizes.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->pagesizes.o.string, 0);
+ }
+ else if (!strcmp (key, "setchapternewpage"))
+ {
+ if (!options->setchapternewpage.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->setchapternewpage.o.string, 0);
+ }
+ else if (!strcmp (key, "setfilename"))
+ {
+ if (!options->setfilename.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->setfilename.o.string, 0);
+ }
+ else if (!strcmp (key, "smallbook"))
+ {
+ if (!options->smallbook.o.string)
+ return newSV (0);
+ return newSVpv_utf8 (options->smallbook.o.string, 0);
+ }
+
+ return newSV (0);
+}
+
diff --git a/tp/Texinfo/XS/main/options_init_free.c
b/tp/Texinfo/XS/main/options_init_free.c
new file mode 100644
index 0000000000..039c422c67
--- /dev/null
+++ b/tp/Texinfo/XS/main/options_init_free.c
@@ -0,0 +1,3143 @@
+/* Automatically generated from regenerate_C_options_info.pl */
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "option_types.h"
+#include "options_types.h"
+#include "converter_types.h"
+#include "utils.h"
+
+void
+initialize_options (OPTIONS *options)
+{
+ options->BIT_user_function_number = 0;
+
+/* 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");
+
+/* 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");
+
+/* 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");
+
+/* 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");
+
+/* 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");
+
+/* 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->SILENT, GOT_char, "SILENT");
+ initialize_option (&options->TRACE_INCLUDES, GOT_integer, "TRACE_INCLUDES");
+ initialize_option (&options->FORMAT_MENU, GOT_char, "FORMAT_MENU");
+
+/* 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");
+
+/* 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");
+}
+
+OPTION **
+setup_sortable_options (OPTIONS *options)
+{
+ OPTION **result = (OPTION **)
+ malloc (sizeof (OPTION *) * TXI_OPTIONS_NR);
+
+
+/* array_cmdline */
+
+ result[0] = &options->CSS_FILES;
+ result[1] = &options->CSS_REFS;
+ result[2] = &options->EXPANDED_FORMATS;
+ result[3] = &options->INCLUDE_DIRECTORIES;
+ result[4] = &options->TEXINFO_LANGUAGE_DIRECTORIES;
+
+/* converter_cmdline */
+
+ result[5] = &options->SPLIT_SIZE;
+ result[6] = &options->FILLCOLUMN;
+ result[7] = &options->NUMBER_SECTIONS;
+ result[8] = &options->NUMBER_FOOTNOTES;
+ result[9] = &options->TRANSLITERATE_FILE_NAMES;
+ result[10] = &options->SPLIT;
+ result[11] = &options->HEADERS;
+ result[12] = &options->NODE_FILES;
+ result[13] = &options->VERBOSE;
+ result[14] = &options->OUTFILE;
+ result[15] = &options->SUBDIR;
+ result[16] = &options->ENABLE_ENCODING;
+
+/* converter_customization */
+
+ result[17] = &options->TOP_NODE_UP;
+ result[18] = &options->BASEFILENAME_LENGTH;
+ result[19] = &options->DOC_ENCODING_FOR_INPUT_FILE_NAME;
+ result[20] = &options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME;
+ result[21] = &options->IMAGE_LINK_PREFIX;
+ result[22] = &options->CASE_INSENSITIVE_FILENAMES;
+ result[23] = &options->DEBUG;
+ result[24] = &options->HANDLER_FATAL_ERROR_LEVEL;
+ result[25] = &options->TEST;
+ result[26] = &options->TEXTCONTENT_COMMENT;
+ result[27] = &options->TEXINFO_DTD_VERSION;
+ result[28] = &options->USE_UNICODE_COLLATION;
+ result[29] = &options->AFTER_BODY_OPEN;
+ result[30] = &options->AFTER_SHORT_TOC_LINES;
+ result[31] = &options->AFTER_TOC_LINES;
+ result[32] = &options->ASCII_DASHES_AND_QUOTES;
+ result[33] = &options->ASCII_GLYPH;
+ result[34] = &options->ASCII_PUNCTUATION;
+ result[35] = &options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN;
+ result[36] = &options->AUTO_MENU_MAX_WIDTH;
+ result[37] = &options->BEFORE_SHORT_TOC_LINES;
+ result[38] = &options->BEFORE_TOC_LINES;
+ result[39] = &options->BIG_RULE;
+ result[40] = &options->BODY_ELEMENT_ATTRIBUTES;
+ result[41] = &options->CLASS_BEGIN_USEPACKAGE;
+ result[42] = &options->COPIABLE_LINKS;
+ result[43] = &options->CHAPTER_HEADER_LEVEL;
+ result[44] = &options->CHECK_HTMLXREF;
+ result[45] = &options->CLOSE_DOUBLE_QUOTE_SYMBOL;
+ result[46] = &options->CLOSE_QUOTE_SYMBOL;
+ result[47] = &options->COLLATION_LANGUAGE;
+ result[48] = &options->COMMAND_LINE_ENCODING;
+ result[49] = &options->INDENTED_BLOCK_COMMANDS_IN_TABLE;
+ result[50] = &options->CONTENTS_OUTPUT_LOCATION;
+ result[51] = &options->CONVERT_TO_LATEX_IN_MATH;
+ result[52] = &options->DATE_IN_HEADER;
+ result[53] = &options->DEFAULT_RULE;
+ result[54] = &options->DEF_TABLE;
+ result[55] = &options->DO_ABOUT;
+ result[56] = &options->DOCTYPE;
+ result[57] = &options->DOCUMENTLANGUAGE_COLLATION;
+ result[58] = &options->END_USEPACKAGE;
+ result[59] = &options->EPUB_CREATE_CONTAINER_FILE;
+ result[60] = &options->EPUB_KEEP_CONTAINER_FOLDER;
+ result[61] = &options->EXTENSION;
+ result[62] = &options->EXTERNAL_CROSSREF_EXTENSION;
+ result[63] = &options->EXTERNAL_CROSSREF_SPLIT;
+ result[64] = &options->EXTERNAL_DIR;
+ result[65] = &options->EXTRA_HEAD;
+ result[66] = &options->FOOTNOTE_END_HEADER_LEVEL;
+ result[67] = &options->FOOTNOTE_SEPARATE_HEADER_LEVEL;
+ result[68] = &options->HEADER_IN_TABLE;
+ result[69] = &options->HIGHLIGHT_SYNTAX;
+ result[70] = &options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE;
+ result[71] = &options->HTML_MATH;
+ result[72] = &options->HTML_ROOT_ELEMENT_ATTRIBUTES;
+ result[73] = &options->HTMLXREF_FILE;
+ result[74] = &options->HTMLXREF_MODE;
+ result[75] = &options->ICONS;
+ result[76] = &options->INDEX_ENTRY_COLON;
+ result[77] = &options->INDEX_SPECIAL_CHARS_WARNING;
+ result[78] = &options->INFO_JS_DIR;
+ result[79] = &options->INFO_SPECIAL_CHARS_QUOTE;
+ result[80] = &options->INFO_SPECIAL_CHARS_WARNING;
+ result[81] = &options->IGNORE_REF_TO_TOP_NODE_UP;
+ result[82] = &options->INLINE_CSS_STYLE;
+ result[83] = &options->INPUT_FILE_NAME_ENCODING;
+ result[84] = &options->JS_WEBLABELS;
+ result[85] = &options->JS_WEBLABELS_FILE;
+ result[86] = &options->LATEX_FLOATS_FILE_EXTENSION;
+ result[87] = &options->LOCALE_ENCODING;
+ result[88] = &options->L2H_CLEAN;
+ result[89] = &options->L2H_FILE;
+ result[90] = &options->L2H_HTML_VERSION;
+ result[91] = &options->L2H_L2H;
+ result[92] = &options->L2H_SKIP;
+ result[93] = &options->L2H_TMP;
+ result[94] = &options->MATHJAX_CONFIGURATION;
+ result[95] = &options->MATHJAX_SCRIPT;
+ result[96] = &options->MATHJAX_SOURCE;
+ result[97] = &options->MAX_HEADER_LEVEL;
+ result[98] = &options->MENU_ENTRY_COLON;
+ result[99] = &options->MENU_SYMBOL;
+ result[100] = &options->MESSAGE_ENCODING;
+ result[101] = &options->MONOLITHIC;
+ result[102] = &options->NO_CSS;
+ result[103] = &options->NO_NUMBER_FOOTNOTE_SYMBOL;
+ result[104] = &options->NO_CUSTOM_HTML_ATTRIBUTE;
+ result[105] = &options->NODE_NAME_IN_INDEX;
+ result[106] = &options->NODE_NAME_IN_MENU;
+ result[107] = &options->NO_TOP_NODE_OUTPUT;
+ result[108] = &options->OPEN_DOUBLE_QUOTE_SYMBOL;
+ result[109] = &options->OPEN_QUOTE_SYMBOL;
+ result[110] = &options->OUTPUT_CHARACTERS;
+ result[111] = &options->OUTPUT_ENCODING_NAME;
+ result[112] = &options->OUTPUT_FILE_NAME_ENCODING;
+ result[113] = &options->OUTPUT_PERL_ENCODING;
+ result[114] = &options->PACKAGE;
+ result[115] = &options->PACKAGE_AND_VERSION;
+ result[116] = &options->PACKAGE_NAME;
+ result[117] = &options->PACKAGE_URL;
+ result[118] = &options->PACKAGE_VERSION;
+ result[119] = &options->PRE_BODY_CLOSE;
+ result[120] = &options->PREFIX;
+ result[121] = &options->PROGRAM;
+ result[122] = &options->PROGRAM_NAME_IN_ABOUT;
+ result[123] = &options->PROGRAM_NAME_IN_FOOTER;
+ result[124] = &options->SECTION_NAME_IN_TITLE;
+ result[125] = &options->SHORT_TOC_LINK_TO_TOC;
+ result[126] = &options->SHOW_TITLE;
+ result[127] = &options->T4H_LATEX_CONVERSION;
+ result[128] = &options->T4H_MATH_CONVERSION;
+ result[129] = &options->T4H_TEX_CONVERSION;
+ result[130] = &options->TEXI2HTML;
+ result[131] = &options->TEXINFO_OUTPUT_FORMAT;
+ result[132] = &options->TXI_MARKUP_NO_SECTION_EXTENT;
+ result[133] = &options->TOC_LINKS;
+ result[134] = &options->TOP_FILE;
+ result[135] = &options->TOP_NODE_FILE_TARGET;
+ result[136] = &options->TOP_NODE_UP_URL;
+ result[137] = &options->USE_ACCESSKEY;
+ result[138] = &options->USE_ISO;
+ result[139] = &options->USE_LINKS;
+ result[140] = &options->USE_NEXT_HEADING_FOR_LONE_NODE;
+ result[141] = &options->USE_NODES;
+ result[142] = &options->USE_NODE_DIRECTIONS;
+ result[143] = &options->USE_NUMERIC_ENTITY;
+ result[144] = &options->USE_REL_REV;
+ result[145] = &options->USE_SETFILENAME_EXTENSION;
+ result[146] = &options->USE_TITLEPAGE_FOR_TITLE;
+ result[147] = &options->USE_UNIDECODE;
+ result[148] = &options->USE_XML_SYNTAX;
+ result[149] = &options->VERTICAL_HEAD_NAVIGATION;
+ result[150] = &options->WORDS_IN_PAGE;
+ result[151] = &options->XREF_USE_FLOAT_LABEL;
+ result[152] = &options->XREF_USE_NODE_NAME_ARG;
+ result[153] = &options->XS_EXTERNAL_CONVERSION;
+ result[154] = &options->XS_EXTERNAL_FORMATTING;
+ result[155] = &options->XS_STRXFRM_COLLATION_LOCALE;
+ result[156] = &options->_INLINE_STYLE_WIDTH;
+
+/* converter_other */
+
+ result[157] = &options->LINKS_BUTTONS;
+ result[158] = &options->TOP_BUTTONS;
+ result[159] = &options->TOP_FOOTER_BUTTONS;
+ result[160] = &options->SECTION_BUTTONS;
+ result[161] = &options->CHAPTER_FOOTER_BUTTONS;
+ result[162] = &options->SECTION_FOOTER_BUTTONS;
+ result[163] = &options->NODE_FOOTER_BUTTONS;
+ result[164] = &options->MISC_BUTTONS;
+ result[165] = &options->CHAPTER_BUTTONS;
+ result[166] = &options->ACTIVE_ICONS;
+ result[167] = &options->PASSIVE_ICONS;
+
+/* multiple_at_command */
+
+ result[168] = &options->allowcodebreaks;
+ result[169] = &options->clickstyle;
+ result[170] = &options->codequotebacktick;
+ result[171] = &options->codequoteundirected;
+ result[172] = &options->contents;
+ result[173] = &options->deftypefnnewline;
+ result[174] = &options->documentencoding;
+ result[175] = &options->documentlanguage;
+ result[176] = &options->evenfooting;
+ result[177] = &options->evenheading;
+ result[178] = &options->everyfooting;
+ result[179] = &options->everyheading;
+ result[180] = &options->exampleindent;
+ result[181] = &options->firstparagraphindent;
+ result[182] = &options->frenchspacing;
+ result[183] = &options->headings;
+ result[184] = &options->kbdinputstyle;
+ result[185] = &options->microtype;
+ result[186] = &options->oddheading;
+ result[187] = &options->oddfooting;
+ result[188] = &options->paragraphindent;
+ result[189] = &options->shortcontents;
+ result[190] = &options->summarycontents;
+ result[191] = &options->urefbreakstyle;
+ result[192] = &options->xrefautomaticsectiontitle;
+
+/* program_cmdline */
+
+ result[193] = &options->MACRO_EXPAND;
+ result[194] = &options->INTERNAL_LINKS;
+ result[195] = &options->ERROR_LIMIT;
+ result[196] = &options->FORCE;
+ result[197] = &options->NO_WARN;
+ result[198] = &options->SILENT;
+ result[199] = &options->TRACE_INCLUDES;
+ result[200] = &options->FORMAT_MENU;
+
+/* program_customization */
+
+ result[201] = &options->CHECK_NORMAL_MENU_STRUCTURE;
+ result[202] = &options->CHECK_MISSING_MENU_ENTRY;
+ result[203] = &options->DUMP_TREE;
+ result[204] = &options->DUMP_TEXI;
+ result[205] = &options->SHOW_BUILTIN_CSS_RULES;
+ result[206] = &options->SORT_ELEMENT_COUNT;
+ result[207] = &options->SORT_ELEMENT_COUNT_WORDS;
+ result[208] = &options->TEXI2DVI;
+ result[209] = &options->TREE_TRANSFORMATIONS;
+
+/* unique_at_command */
+
+ result[210] = &options->afivepaper;
+ result[211] = &options->afourpaper;
+ result[212] = &options->afourlatex;
+ result[213] = &options->afourwide;
+ result[214] = &options->bsixpaper;
+ result[215] = &options->documentdescription;
+ result[216] = &options->evenfootingmarks;
+ result[217] = &options->evenheadingmarks;
+ result[218] = &options->everyfootingmarks;
+ result[219] = &options->everyheadingmarks;
+ result[220] = &options->fonttextsize;
+ result[221] = &options->footnotestyle;
+ result[222] = &options->novalidate;
+ result[223] = &options->oddfootingmarks;
+ result[224] = &options->oddheadingmarks;
+ result[225] = &options->pagesizes;
+ result[226] = &options->setchapternewpage;
+ result[227] = &options->setfilename;
+ result[228] = &options->smallbook;
+
+ return result;
+}
+
+void
+free_options (OPTIONS *options)
+{
+
+/* array_cmdline */
+
+ free_option (&options->CSS_FILES);
+ free_option (&options->CSS_REFS);
+ free_option (&options->EXPANDED_FORMATS);
+ free_option (&options->INCLUDE_DIRECTORIES);
+ free_option (&options->TEXINFO_LANGUAGE_DIRECTORIES);
+
+/* converter_cmdline */
+
+ free_option (&options->SPLIT_SIZE);
+ free_option (&options->FILLCOLUMN);
+ free_option (&options->NUMBER_SECTIONS);
+ free_option (&options->NUMBER_FOOTNOTES);
+ free_option (&options->TRANSLITERATE_FILE_NAMES);
+ free_option (&options->SPLIT);
+ free_option (&options->HEADERS);
+ free_option (&options->NODE_FILES);
+ free_option (&options->VERBOSE);
+ free_option (&options->OUTFILE);
+ free_option (&options->SUBDIR);
+ free_option (&options->ENABLE_ENCODING);
+
+/* converter_customization */
+
+ free_option (&options->TOP_NODE_UP);
+ free_option (&options->BASEFILENAME_LENGTH);
+ free_option (&options->DOC_ENCODING_FOR_INPUT_FILE_NAME);
+ free_option (&options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME);
+ free_option (&options->IMAGE_LINK_PREFIX);
+ free_option (&options->CASE_INSENSITIVE_FILENAMES);
+ free_option (&options->DEBUG);
+ free_option (&options->HANDLER_FATAL_ERROR_LEVEL);
+ free_option (&options->TEST);
+ free_option (&options->TEXTCONTENT_COMMENT);
+ free_option (&options->TEXINFO_DTD_VERSION);
+ free_option (&options->USE_UNICODE_COLLATION);
+ free_option (&options->AFTER_BODY_OPEN);
+ free_option (&options->AFTER_SHORT_TOC_LINES);
+ free_option (&options->AFTER_TOC_LINES);
+ free_option (&options->ASCII_DASHES_AND_QUOTES);
+ free_option (&options->ASCII_GLYPH);
+ free_option (&options->ASCII_PUNCTUATION);
+ free_option (&options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN);
+ free_option (&options->AUTO_MENU_MAX_WIDTH);
+ free_option (&options->BEFORE_SHORT_TOC_LINES);
+ free_option (&options->BEFORE_TOC_LINES);
+ free_option (&options->BIG_RULE);
+ free_option (&options->BODY_ELEMENT_ATTRIBUTES);
+ free_option (&options->CLASS_BEGIN_USEPACKAGE);
+ free_option (&options->COPIABLE_LINKS);
+ free_option (&options->CHAPTER_HEADER_LEVEL);
+ free_option (&options->CHECK_HTMLXREF);
+ free_option (&options->CLOSE_DOUBLE_QUOTE_SYMBOL);
+ free_option (&options->CLOSE_QUOTE_SYMBOL);
+ free_option (&options->COLLATION_LANGUAGE);
+ free_option (&options->COMMAND_LINE_ENCODING);
+ free_option (&options->INDENTED_BLOCK_COMMANDS_IN_TABLE);
+ free_option (&options->CONTENTS_OUTPUT_LOCATION);
+ free_option (&options->CONVERT_TO_LATEX_IN_MATH);
+ free_option (&options->DATE_IN_HEADER);
+ free_option (&options->DEFAULT_RULE);
+ free_option (&options->DEF_TABLE);
+ free_option (&options->DO_ABOUT);
+ free_option (&options->DOCTYPE);
+ free_option (&options->DOCUMENTLANGUAGE_COLLATION);
+ free_option (&options->END_USEPACKAGE);
+ free_option (&options->EPUB_CREATE_CONTAINER_FILE);
+ free_option (&options->EPUB_KEEP_CONTAINER_FOLDER);
+ free_option (&options->EXTENSION);
+ free_option (&options->EXTERNAL_CROSSREF_EXTENSION);
+ free_option (&options->EXTERNAL_CROSSREF_SPLIT);
+ free_option (&options->EXTERNAL_DIR);
+ free_option (&options->EXTRA_HEAD);
+ free_option (&options->FOOTNOTE_END_HEADER_LEVEL);
+ free_option (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL);
+ free_option (&options->HEADER_IN_TABLE);
+ free_option (&options->HIGHLIGHT_SYNTAX);
+ free_option (&options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE);
+ free_option (&options->HTML_MATH);
+ free_option (&options->HTML_ROOT_ELEMENT_ATTRIBUTES);
+ free_option (&options->HTMLXREF_FILE);
+ free_option (&options->HTMLXREF_MODE);
+ free_option (&options->ICONS);
+ free_option (&options->INDEX_ENTRY_COLON);
+ free_option (&options->INDEX_SPECIAL_CHARS_WARNING);
+ free_option (&options->INFO_JS_DIR);
+ free_option (&options->INFO_SPECIAL_CHARS_QUOTE);
+ free_option (&options->INFO_SPECIAL_CHARS_WARNING);
+ free_option (&options->IGNORE_REF_TO_TOP_NODE_UP);
+ free_option (&options->INLINE_CSS_STYLE);
+ free_option (&options->INPUT_FILE_NAME_ENCODING);
+ free_option (&options->JS_WEBLABELS);
+ free_option (&options->JS_WEBLABELS_FILE);
+ free_option (&options->LATEX_FLOATS_FILE_EXTENSION);
+ free_option (&options->LOCALE_ENCODING);
+ free_option (&options->L2H_CLEAN);
+ free_option (&options->L2H_FILE);
+ free_option (&options->L2H_HTML_VERSION);
+ free_option (&options->L2H_L2H);
+ free_option (&options->L2H_SKIP);
+ free_option (&options->L2H_TMP);
+ free_option (&options->MATHJAX_CONFIGURATION);
+ free_option (&options->MATHJAX_SCRIPT);
+ free_option (&options->MATHJAX_SOURCE);
+ free_option (&options->MAX_HEADER_LEVEL);
+ free_option (&options->MENU_ENTRY_COLON);
+ free_option (&options->MENU_SYMBOL);
+ free_option (&options->MESSAGE_ENCODING);
+ free_option (&options->MONOLITHIC);
+ free_option (&options->NO_CSS);
+ free_option (&options->NO_NUMBER_FOOTNOTE_SYMBOL);
+ free_option (&options->NO_CUSTOM_HTML_ATTRIBUTE);
+ free_option (&options->NODE_NAME_IN_INDEX);
+ free_option (&options->NODE_NAME_IN_MENU);
+ free_option (&options->NO_TOP_NODE_OUTPUT);
+ free_option (&options->OPEN_DOUBLE_QUOTE_SYMBOL);
+ free_option (&options->OPEN_QUOTE_SYMBOL);
+ free_option (&options->OUTPUT_CHARACTERS);
+ free_option (&options->OUTPUT_ENCODING_NAME);
+ free_option (&options->OUTPUT_FILE_NAME_ENCODING);
+ free_option (&options->OUTPUT_PERL_ENCODING);
+ free_option (&options->PACKAGE);
+ free_option (&options->PACKAGE_AND_VERSION);
+ free_option (&options->PACKAGE_NAME);
+ free_option (&options->PACKAGE_URL);
+ free_option (&options->PACKAGE_VERSION);
+ free_option (&options->PRE_BODY_CLOSE);
+ free_option (&options->PREFIX);
+ free_option (&options->PROGRAM);
+ free_option (&options->PROGRAM_NAME_IN_ABOUT);
+ free_option (&options->PROGRAM_NAME_IN_FOOTER);
+ free_option (&options->SECTION_NAME_IN_TITLE);
+ free_option (&options->SHORT_TOC_LINK_TO_TOC);
+ free_option (&options->SHOW_TITLE);
+ free_option (&options->T4H_LATEX_CONVERSION);
+ free_option (&options->T4H_MATH_CONVERSION);
+ free_option (&options->T4H_TEX_CONVERSION);
+ free_option (&options->TEXI2HTML);
+ free_option (&options->TEXINFO_OUTPUT_FORMAT);
+ free_option (&options->TXI_MARKUP_NO_SECTION_EXTENT);
+ free_option (&options->TOC_LINKS);
+ free_option (&options->TOP_FILE);
+ free_option (&options->TOP_NODE_FILE_TARGET);
+ free_option (&options->TOP_NODE_UP_URL);
+ free_option (&options->USE_ACCESSKEY);
+ free_option (&options->USE_ISO);
+ free_option (&options->USE_LINKS);
+ free_option (&options->USE_NEXT_HEADING_FOR_LONE_NODE);
+ free_option (&options->USE_NODES);
+ free_option (&options->USE_NODE_DIRECTIONS);
+ free_option (&options->USE_NUMERIC_ENTITY);
+ free_option (&options->USE_REL_REV);
+ free_option (&options->USE_SETFILENAME_EXTENSION);
+ free_option (&options->USE_TITLEPAGE_FOR_TITLE);
+ free_option (&options->USE_UNIDECODE);
+ free_option (&options->USE_XML_SYNTAX);
+ free_option (&options->VERTICAL_HEAD_NAVIGATION);
+ free_option (&options->WORDS_IN_PAGE);
+ free_option (&options->XREF_USE_FLOAT_LABEL);
+ free_option (&options->XREF_USE_NODE_NAME_ARG);
+ free_option (&options->XS_EXTERNAL_CONVERSION);
+ free_option (&options->XS_EXTERNAL_FORMATTING);
+ free_option (&options->XS_STRXFRM_COLLATION_LOCALE);
+ free_option (&options->_INLINE_STYLE_WIDTH);
+
+/* converter_other */
+
+ free_option (&options->LINKS_BUTTONS);
+ free_option (&options->TOP_BUTTONS);
+ free_option (&options->TOP_FOOTER_BUTTONS);
+ free_option (&options->SECTION_BUTTONS);
+ free_option (&options->CHAPTER_FOOTER_BUTTONS);
+ free_option (&options->SECTION_FOOTER_BUTTONS);
+ free_option (&options->NODE_FOOTER_BUTTONS);
+ free_option (&options->MISC_BUTTONS);
+ free_option (&options->CHAPTER_BUTTONS);
+ free_option (&options->ACTIVE_ICONS);
+ free_option (&options->PASSIVE_ICONS);
+
+/* multiple_at_command */
+
+ free_option (&options->allowcodebreaks);
+ free_option (&options->clickstyle);
+ free_option (&options->codequotebacktick);
+ free_option (&options->codequoteundirected);
+ free_option (&options->contents);
+ free_option (&options->deftypefnnewline);
+ free_option (&options->documentencoding);
+ free_option (&options->documentlanguage);
+ free_option (&options->evenfooting);
+ free_option (&options->evenheading);
+ free_option (&options->everyfooting);
+ free_option (&options->everyheading);
+ free_option (&options->exampleindent);
+ free_option (&options->firstparagraphindent);
+ free_option (&options->frenchspacing);
+ free_option (&options->headings);
+ free_option (&options->kbdinputstyle);
+ free_option (&options->microtype);
+ free_option (&options->oddheading);
+ free_option (&options->oddfooting);
+ free_option (&options->paragraphindent);
+ free_option (&options->shortcontents);
+ free_option (&options->summarycontents);
+ free_option (&options->urefbreakstyle);
+ free_option (&options->xrefautomaticsectiontitle);
+
+/* program_cmdline */
+
+ free_option (&options->MACRO_EXPAND);
+ free_option (&options->INTERNAL_LINKS);
+ free_option (&options->ERROR_LIMIT);
+ free_option (&options->FORCE);
+ free_option (&options->NO_WARN);
+ free_option (&options->SILENT);
+ free_option (&options->TRACE_INCLUDES);
+ free_option (&options->FORMAT_MENU);
+
+/* program_customization */
+
+ free_option (&options->CHECK_NORMAL_MENU_STRUCTURE);
+ free_option (&options->CHECK_MISSING_MENU_ENTRY);
+ free_option (&options->DUMP_TREE);
+ free_option (&options->DUMP_TEXI);
+ free_option (&options->SHOW_BUILTIN_CSS_RULES);
+ free_option (&options->SORT_ELEMENT_COUNT);
+ free_option (&options->SORT_ELEMENT_COUNT_WORDS);
+ free_option (&options->TEXI2DVI);
+ free_option (&options->TREE_TRANSFORMATIONS);
+
+/* unique_at_command */
+
+ free_option (&options->afivepaper);
+ free_option (&options->afourpaper);
+ free_option (&options->afourlatex);
+ free_option (&options->afourwide);
+ free_option (&options->bsixpaper);
+ free_option (&options->documentdescription);
+ free_option (&options->evenfootingmarks);
+ free_option (&options->evenheadingmarks);
+ free_option (&options->everyfootingmarks);
+ free_option (&options->everyheadingmarks);
+ free_option (&options->fonttextsize);
+ free_option (&options->footnotestyle);
+ free_option (&options->novalidate);
+ free_option (&options->oddfootingmarks);
+ free_option (&options->oddheadingmarks);
+ free_option (&options->pagesizes);
+ free_option (&options->setchapternewpage);
+ free_option (&options->setfilename);
+ free_option (&options->smallbook);
+}
+
+void
+clear_options (OPTIONS *options)
+{
+ options->BIT_user_function_number = 0;
+
+/* array_cmdline */
+
+ clear_option (&options->CSS_FILES);
+ clear_option (&options->CSS_REFS);
+ clear_option (&options->EXPANDED_FORMATS);
+ clear_option (&options->INCLUDE_DIRECTORIES);
+ clear_option (&options->TEXINFO_LANGUAGE_DIRECTORIES);
+
+/* converter_cmdline */
+
+ clear_option (&options->SPLIT_SIZE);
+ clear_option (&options->FILLCOLUMN);
+ clear_option (&options->NUMBER_SECTIONS);
+ clear_option (&options->NUMBER_FOOTNOTES);
+ clear_option (&options->TRANSLITERATE_FILE_NAMES);
+ clear_option (&options->SPLIT);
+ clear_option (&options->HEADERS);
+ clear_option (&options->NODE_FILES);
+ clear_option (&options->VERBOSE);
+ clear_option (&options->OUTFILE);
+ clear_option (&options->SUBDIR);
+ clear_option (&options->ENABLE_ENCODING);
+
+/* converter_customization */
+
+ clear_option (&options->TOP_NODE_UP);
+ clear_option (&options->BASEFILENAME_LENGTH);
+ clear_option (&options->DOC_ENCODING_FOR_INPUT_FILE_NAME);
+ clear_option (&options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME);
+ clear_option (&options->IMAGE_LINK_PREFIX);
+ clear_option (&options->CASE_INSENSITIVE_FILENAMES);
+ clear_option (&options->DEBUG);
+ clear_option (&options->HANDLER_FATAL_ERROR_LEVEL);
+ clear_option (&options->TEST);
+ clear_option (&options->TEXTCONTENT_COMMENT);
+ clear_option (&options->TEXINFO_DTD_VERSION);
+ clear_option (&options->USE_UNICODE_COLLATION);
+ clear_option (&options->AFTER_BODY_OPEN);
+ clear_option (&options->AFTER_SHORT_TOC_LINES);
+ clear_option (&options->AFTER_TOC_LINES);
+ clear_option (&options->ASCII_DASHES_AND_QUOTES);
+ clear_option (&options->ASCII_GLYPH);
+ clear_option (&options->ASCII_PUNCTUATION);
+ clear_option (&options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN);
+ clear_option (&options->AUTO_MENU_MAX_WIDTH);
+ clear_option (&options->BEFORE_SHORT_TOC_LINES);
+ clear_option (&options->BEFORE_TOC_LINES);
+ clear_option (&options->BIG_RULE);
+ clear_option (&options->BODY_ELEMENT_ATTRIBUTES);
+ clear_option (&options->CLASS_BEGIN_USEPACKAGE);
+ clear_option (&options->COPIABLE_LINKS);
+ clear_option (&options->CHAPTER_HEADER_LEVEL);
+ clear_option (&options->CHECK_HTMLXREF);
+ clear_option (&options->CLOSE_DOUBLE_QUOTE_SYMBOL);
+ clear_option (&options->CLOSE_QUOTE_SYMBOL);
+ clear_option (&options->COLLATION_LANGUAGE);
+ clear_option (&options->COMMAND_LINE_ENCODING);
+ clear_option (&options->INDENTED_BLOCK_COMMANDS_IN_TABLE);
+ clear_option (&options->CONTENTS_OUTPUT_LOCATION);
+ clear_option (&options->CONVERT_TO_LATEX_IN_MATH);
+ clear_option (&options->DATE_IN_HEADER);
+ clear_option (&options->DEFAULT_RULE);
+ clear_option (&options->DEF_TABLE);
+ clear_option (&options->DO_ABOUT);
+ clear_option (&options->DOCTYPE);
+ clear_option (&options->DOCUMENTLANGUAGE_COLLATION);
+ clear_option (&options->END_USEPACKAGE);
+ clear_option (&options->EPUB_CREATE_CONTAINER_FILE);
+ clear_option (&options->EPUB_KEEP_CONTAINER_FOLDER);
+ clear_option (&options->EXTENSION);
+ clear_option (&options->EXTERNAL_CROSSREF_EXTENSION);
+ clear_option (&options->EXTERNAL_CROSSREF_SPLIT);
+ clear_option (&options->EXTERNAL_DIR);
+ clear_option (&options->EXTRA_HEAD);
+ clear_option (&options->FOOTNOTE_END_HEADER_LEVEL);
+ clear_option (&options->FOOTNOTE_SEPARATE_HEADER_LEVEL);
+ clear_option (&options->HEADER_IN_TABLE);
+ clear_option (&options->HIGHLIGHT_SYNTAX);
+ clear_option (&options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE);
+ clear_option (&options->HTML_MATH);
+ clear_option (&options->HTML_ROOT_ELEMENT_ATTRIBUTES);
+ clear_option (&options->HTMLXREF_FILE);
+ clear_option (&options->HTMLXREF_MODE);
+ clear_option (&options->ICONS);
+ clear_option (&options->INDEX_ENTRY_COLON);
+ clear_option (&options->INDEX_SPECIAL_CHARS_WARNING);
+ clear_option (&options->INFO_JS_DIR);
+ clear_option (&options->INFO_SPECIAL_CHARS_QUOTE);
+ clear_option (&options->INFO_SPECIAL_CHARS_WARNING);
+ clear_option (&options->IGNORE_REF_TO_TOP_NODE_UP);
+ clear_option (&options->INLINE_CSS_STYLE);
+ clear_option (&options->INPUT_FILE_NAME_ENCODING);
+ clear_option (&options->JS_WEBLABELS);
+ clear_option (&options->JS_WEBLABELS_FILE);
+ clear_option (&options->LATEX_FLOATS_FILE_EXTENSION);
+ clear_option (&options->LOCALE_ENCODING);
+ clear_option (&options->L2H_CLEAN);
+ clear_option (&options->L2H_FILE);
+ clear_option (&options->L2H_HTML_VERSION);
+ clear_option (&options->L2H_L2H);
+ clear_option (&options->L2H_SKIP);
+ clear_option (&options->L2H_TMP);
+ clear_option (&options->MATHJAX_CONFIGURATION);
+ clear_option (&options->MATHJAX_SCRIPT);
+ clear_option (&options->MATHJAX_SOURCE);
+ clear_option (&options->MAX_HEADER_LEVEL);
+ clear_option (&options->MENU_ENTRY_COLON);
+ clear_option (&options->MENU_SYMBOL);
+ clear_option (&options->MESSAGE_ENCODING);
+ clear_option (&options->MONOLITHIC);
+ clear_option (&options->NO_CSS);
+ clear_option (&options->NO_NUMBER_FOOTNOTE_SYMBOL);
+ clear_option (&options->NO_CUSTOM_HTML_ATTRIBUTE);
+ clear_option (&options->NODE_NAME_IN_INDEX);
+ clear_option (&options->NODE_NAME_IN_MENU);
+ clear_option (&options->NO_TOP_NODE_OUTPUT);
+ clear_option (&options->OPEN_DOUBLE_QUOTE_SYMBOL);
+ clear_option (&options->OPEN_QUOTE_SYMBOL);
+ clear_option (&options->OUTPUT_CHARACTERS);
+ clear_option (&options->OUTPUT_ENCODING_NAME);
+ clear_option (&options->OUTPUT_FILE_NAME_ENCODING);
+ clear_option (&options->OUTPUT_PERL_ENCODING);
+ clear_option (&options->PACKAGE);
+ clear_option (&options->PACKAGE_AND_VERSION);
+ clear_option (&options->PACKAGE_NAME);
+ clear_option (&options->PACKAGE_URL);
+ clear_option (&options->PACKAGE_VERSION);
+ clear_option (&options->PRE_BODY_CLOSE);
+ clear_option (&options->PREFIX);
+ clear_option (&options->PROGRAM);
+ clear_option (&options->PROGRAM_NAME_IN_ABOUT);
+ clear_option (&options->PROGRAM_NAME_IN_FOOTER);
+ clear_option (&options->SECTION_NAME_IN_TITLE);
+ clear_option (&options->SHORT_TOC_LINK_TO_TOC);
+ clear_option (&options->SHOW_TITLE);
+ clear_option (&options->T4H_LATEX_CONVERSION);
+ clear_option (&options->T4H_MATH_CONVERSION);
+ clear_option (&options->T4H_TEX_CONVERSION);
+ clear_option (&options->TEXI2HTML);
+ clear_option (&options->TEXINFO_OUTPUT_FORMAT);
+ clear_option (&options->TXI_MARKUP_NO_SECTION_EXTENT);
+ clear_option (&options->TOC_LINKS);
+ clear_option (&options->TOP_FILE);
+ clear_option (&options->TOP_NODE_FILE_TARGET);
+ clear_option (&options->TOP_NODE_UP_URL);
+ clear_option (&options->USE_ACCESSKEY);
+ clear_option (&options->USE_ISO);
+ clear_option (&options->USE_LINKS);
+ clear_option (&options->USE_NEXT_HEADING_FOR_LONE_NODE);
+ clear_option (&options->USE_NODES);
+ clear_option (&options->USE_NODE_DIRECTIONS);
+ clear_option (&options->USE_NUMERIC_ENTITY);
+ clear_option (&options->USE_REL_REV);
+ clear_option (&options->USE_SETFILENAME_EXTENSION);
+ clear_option (&options->USE_TITLEPAGE_FOR_TITLE);
+ clear_option (&options->USE_UNIDECODE);
+ clear_option (&options->USE_XML_SYNTAX);
+ clear_option (&options->VERTICAL_HEAD_NAVIGATION);
+ clear_option (&options->WORDS_IN_PAGE);
+ clear_option (&options->XREF_USE_FLOAT_LABEL);
+ clear_option (&options->XREF_USE_NODE_NAME_ARG);
+ clear_option (&options->XS_EXTERNAL_CONVERSION);
+ clear_option (&options->XS_EXTERNAL_FORMATTING);
+ clear_option (&options->XS_STRXFRM_COLLATION_LOCALE);
+ clear_option (&options->_INLINE_STYLE_WIDTH);
+
+/* converter_other */
+
+ clear_option (&options->LINKS_BUTTONS);
+ clear_option (&options->TOP_BUTTONS);
+ clear_option (&options->TOP_FOOTER_BUTTONS);
+ clear_option (&options->SECTION_BUTTONS);
+ clear_option (&options->CHAPTER_FOOTER_BUTTONS);
+ clear_option (&options->SECTION_FOOTER_BUTTONS);
+ clear_option (&options->NODE_FOOTER_BUTTONS);
+ clear_option (&options->MISC_BUTTONS);
+ clear_option (&options->CHAPTER_BUTTONS);
+ clear_option (&options->ACTIVE_ICONS);
+ clear_option (&options->PASSIVE_ICONS);
+
+/* multiple_at_command */
+
+ clear_option (&options->allowcodebreaks);
+ clear_option (&options->clickstyle);
+ clear_option (&options->codequotebacktick);
+ clear_option (&options->codequoteundirected);
+ clear_option (&options->contents);
+ clear_option (&options->deftypefnnewline);
+ clear_option (&options->documentencoding);
+ clear_option (&options->documentlanguage);
+ clear_option (&options->evenfooting);
+ clear_option (&options->evenheading);
+ clear_option (&options->everyfooting);
+ clear_option (&options->everyheading);
+ clear_option (&options->exampleindent);
+ clear_option (&options->firstparagraphindent);
+ clear_option (&options->frenchspacing);
+ clear_option (&options->headings);
+ clear_option (&options->kbdinputstyle);
+ clear_option (&options->microtype);
+ clear_option (&options->oddheading);
+ clear_option (&options->oddfooting);
+ clear_option (&options->paragraphindent);
+ clear_option (&options->shortcontents);
+ clear_option (&options->summarycontents);
+ clear_option (&options->urefbreakstyle);
+ clear_option (&options->xrefautomaticsectiontitle);
+
+/* program_cmdline */
+
+ clear_option (&options->MACRO_EXPAND);
+ clear_option (&options->INTERNAL_LINKS);
+ clear_option (&options->ERROR_LIMIT);
+ clear_option (&options->FORCE);
+ clear_option (&options->NO_WARN);
+ clear_option (&options->SILENT);
+ clear_option (&options->TRACE_INCLUDES);
+ clear_option (&options->FORMAT_MENU);
+
+/* program_customization */
+
+ clear_option (&options->CHECK_NORMAL_MENU_STRUCTURE);
+ clear_option (&options->CHECK_MISSING_MENU_ENTRY);
+ clear_option (&options->DUMP_TREE);
+ clear_option (&options->DUMP_TEXI);
+ clear_option (&options->SHOW_BUILTIN_CSS_RULES);
+ clear_option (&options->SORT_ELEMENT_COUNT);
+ clear_option (&options->SORT_ELEMENT_COUNT_WORDS);
+ clear_option (&options->TEXI2DVI);
+ clear_option (&options->TREE_TRANSFORMATIONS);
+
+/* unique_at_command */
+
+ clear_option (&options->afivepaper);
+ clear_option (&options->afourpaper);
+ clear_option (&options->afourlatex);
+ clear_option (&options->afourwide);
+ clear_option (&options->bsixpaper);
+ clear_option (&options->documentdescription);
+ clear_option (&options->evenfootingmarks);
+ clear_option (&options->evenheadingmarks);
+ clear_option (&options->everyfootingmarks);
+ clear_option (&options->everyheadingmarks);
+ clear_option (&options->fonttextsize);
+ clear_option (&options->footnotestyle);
+ clear_option (&options->novalidate);
+ clear_option (&options->oddfootingmarks);
+ clear_option (&options->oddheadingmarks);
+ clear_option (&options->pagesizes);
+ clear_option (&options->setchapternewpage);
+ clear_option (&options->setfilename);
+ clear_option (&options->smallbook);
+}
+
+void
+copy_options (OPTIONS *destination, const OPTIONS *source)
+{
+ destination->BIT_user_function_number = source->BIT_user_function_number;
+
+/* array_cmdline */
+
+ copy_option (&destination->CSS_FILES, &source->CSS_FILES);
+ copy_option (&destination->CSS_REFS, &source->CSS_REFS);
+ copy_option (&destination->EXPANDED_FORMATS, &source->EXPANDED_FORMATS);
+ copy_option (&destination->INCLUDE_DIRECTORIES,
&source->INCLUDE_DIRECTORIES);
+ copy_option (&destination->TEXINFO_LANGUAGE_DIRECTORIES,
&source->TEXINFO_LANGUAGE_DIRECTORIES);
+
+/* converter_cmdline */
+
+ copy_option (&destination->SPLIT_SIZE, &source->SPLIT_SIZE);
+ copy_option (&destination->FILLCOLUMN, &source->FILLCOLUMN);
+ copy_option (&destination->NUMBER_SECTIONS, &source->NUMBER_SECTIONS);
+ copy_option (&destination->NUMBER_FOOTNOTES, &source->NUMBER_FOOTNOTES);
+ copy_option (&destination->TRANSLITERATE_FILE_NAMES,
&source->TRANSLITERATE_FILE_NAMES);
+ copy_option (&destination->SPLIT, &source->SPLIT);
+ copy_option (&destination->HEADERS, &source->HEADERS);
+ copy_option (&destination->NODE_FILES, &source->NODE_FILES);
+ copy_option (&destination->VERBOSE, &source->VERBOSE);
+ copy_option (&destination->OUTFILE, &source->OUTFILE);
+ copy_option (&destination->SUBDIR, &source->SUBDIR);
+ copy_option (&destination->ENABLE_ENCODING, &source->ENABLE_ENCODING);
+
+/* converter_customization */
+
+ copy_option (&destination->TOP_NODE_UP, &source->TOP_NODE_UP);
+ copy_option (&destination->BASEFILENAME_LENGTH,
&source->BASEFILENAME_LENGTH);
+ copy_option (&destination->DOC_ENCODING_FOR_INPUT_FILE_NAME,
&source->DOC_ENCODING_FOR_INPUT_FILE_NAME);
+ copy_option (&destination->DOC_ENCODING_FOR_OUTPUT_FILE_NAME,
&source->DOC_ENCODING_FOR_OUTPUT_FILE_NAME);
+ copy_option (&destination->IMAGE_LINK_PREFIX, &source->IMAGE_LINK_PREFIX);
+ copy_option (&destination->CASE_INSENSITIVE_FILENAMES,
&source->CASE_INSENSITIVE_FILENAMES);
+ copy_option (&destination->DEBUG, &source->DEBUG);
+ copy_option (&destination->HANDLER_FATAL_ERROR_LEVEL,
&source->HANDLER_FATAL_ERROR_LEVEL);
+ copy_option (&destination->TEST, &source->TEST);
+ copy_option (&destination->TEXTCONTENT_COMMENT,
&source->TEXTCONTENT_COMMENT);
+ copy_option (&destination->TEXINFO_DTD_VERSION,
&source->TEXINFO_DTD_VERSION);
+ copy_option (&destination->USE_UNICODE_COLLATION,
&source->USE_UNICODE_COLLATION);
+ copy_option (&destination->AFTER_BODY_OPEN, &source->AFTER_BODY_OPEN);
+ copy_option (&destination->AFTER_SHORT_TOC_LINES,
&source->AFTER_SHORT_TOC_LINES);
+ copy_option (&destination->AFTER_TOC_LINES, &source->AFTER_TOC_LINES);
+ copy_option (&destination->ASCII_DASHES_AND_QUOTES,
&source->ASCII_DASHES_AND_QUOTES);
+ copy_option (&destination->ASCII_GLYPH, &source->ASCII_GLYPH);
+ copy_option (&destination->ASCII_PUNCTUATION, &source->ASCII_PUNCTUATION);
+ copy_option (&destination->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN,
&source->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN);
+ copy_option (&destination->AUTO_MENU_MAX_WIDTH,
&source->AUTO_MENU_MAX_WIDTH);
+ copy_option (&destination->BEFORE_SHORT_TOC_LINES,
&source->BEFORE_SHORT_TOC_LINES);
+ copy_option (&destination->BEFORE_TOC_LINES, &source->BEFORE_TOC_LINES);
+ copy_option (&destination->BIG_RULE, &source->BIG_RULE);
+ copy_option (&destination->BODY_ELEMENT_ATTRIBUTES,
&source->BODY_ELEMENT_ATTRIBUTES);
+ copy_option (&destination->CLASS_BEGIN_USEPACKAGE,
&source->CLASS_BEGIN_USEPACKAGE);
+ copy_option (&destination->COPIABLE_LINKS, &source->COPIABLE_LINKS);
+ copy_option (&destination->CHAPTER_HEADER_LEVEL,
&source->CHAPTER_HEADER_LEVEL);
+ copy_option (&destination->CHECK_HTMLXREF, &source->CHECK_HTMLXREF);
+ copy_option (&destination->CLOSE_DOUBLE_QUOTE_SYMBOL,
&source->CLOSE_DOUBLE_QUOTE_SYMBOL);
+ copy_option (&destination->CLOSE_QUOTE_SYMBOL, &source->CLOSE_QUOTE_SYMBOL);
+ copy_option (&destination->COLLATION_LANGUAGE, &source->COLLATION_LANGUAGE);
+ copy_option (&destination->COMMAND_LINE_ENCODING,
&source->COMMAND_LINE_ENCODING);
+ copy_option (&destination->INDENTED_BLOCK_COMMANDS_IN_TABLE,
&source->INDENTED_BLOCK_COMMANDS_IN_TABLE);
+ copy_option (&destination->CONTENTS_OUTPUT_LOCATION,
&source->CONTENTS_OUTPUT_LOCATION);
+ copy_option (&destination->CONVERT_TO_LATEX_IN_MATH,
&source->CONVERT_TO_LATEX_IN_MATH);
+ copy_option (&destination->DATE_IN_HEADER, &source->DATE_IN_HEADER);
+ copy_option (&destination->DEFAULT_RULE, &source->DEFAULT_RULE);
+ copy_option (&destination->DEF_TABLE, &source->DEF_TABLE);
+ copy_option (&destination->DO_ABOUT, &source->DO_ABOUT);
+ copy_option (&destination->DOCTYPE, &source->DOCTYPE);
+ copy_option (&destination->DOCUMENTLANGUAGE_COLLATION,
&source->DOCUMENTLANGUAGE_COLLATION);
+ copy_option (&destination->END_USEPACKAGE, &source->END_USEPACKAGE);
+ copy_option (&destination->EPUB_CREATE_CONTAINER_FILE,
&source->EPUB_CREATE_CONTAINER_FILE);
+ copy_option (&destination->EPUB_KEEP_CONTAINER_FOLDER,
&source->EPUB_KEEP_CONTAINER_FOLDER);
+ copy_option (&destination->EXTENSION, &source->EXTENSION);
+ copy_option (&destination->EXTERNAL_CROSSREF_EXTENSION,
&source->EXTERNAL_CROSSREF_EXTENSION);
+ copy_option (&destination->EXTERNAL_CROSSREF_SPLIT,
&source->EXTERNAL_CROSSREF_SPLIT);
+ copy_option (&destination->EXTERNAL_DIR, &source->EXTERNAL_DIR);
+ copy_option (&destination->EXTRA_HEAD, &source->EXTRA_HEAD);
+ copy_option (&destination->FOOTNOTE_END_HEADER_LEVEL,
&source->FOOTNOTE_END_HEADER_LEVEL);
+ copy_option (&destination->FOOTNOTE_SEPARATE_HEADER_LEVEL,
&source->FOOTNOTE_SEPARATE_HEADER_LEVEL);
+ copy_option (&destination->HEADER_IN_TABLE, &source->HEADER_IN_TABLE);
+ copy_option (&destination->HIGHLIGHT_SYNTAX, &source->HIGHLIGHT_SYNTAX);
+ copy_option (&destination->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE,
&source->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE);
+ copy_option (&destination->HTML_MATH, &source->HTML_MATH);
+ copy_option (&destination->HTML_ROOT_ELEMENT_ATTRIBUTES,
&source->HTML_ROOT_ELEMENT_ATTRIBUTES);
+ copy_option (&destination->HTMLXREF_FILE, &source->HTMLXREF_FILE);
+ copy_option (&destination->HTMLXREF_MODE, &source->HTMLXREF_MODE);
+ copy_option (&destination->ICONS, &source->ICONS);
+ copy_option (&destination->INDEX_ENTRY_COLON, &source->INDEX_ENTRY_COLON);
+ copy_option (&destination->INDEX_SPECIAL_CHARS_WARNING,
&source->INDEX_SPECIAL_CHARS_WARNING);
+ copy_option (&destination->INFO_JS_DIR, &source->INFO_JS_DIR);
+ copy_option (&destination->INFO_SPECIAL_CHARS_QUOTE,
&source->INFO_SPECIAL_CHARS_QUOTE);
+ copy_option (&destination->INFO_SPECIAL_CHARS_WARNING,
&source->INFO_SPECIAL_CHARS_WARNING);
+ copy_option (&destination->IGNORE_REF_TO_TOP_NODE_UP,
&source->IGNORE_REF_TO_TOP_NODE_UP);
+ copy_option (&destination->INLINE_CSS_STYLE, &source->INLINE_CSS_STYLE);
+ copy_option (&destination->INPUT_FILE_NAME_ENCODING,
&source->INPUT_FILE_NAME_ENCODING);
+ copy_option (&destination->JS_WEBLABELS, &source->JS_WEBLABELS);
+ copy_option (&destination->JS_WEBLABELS_FILE, &source->JS_WEBLABELS_FILE);
+ copy_option (&destination->LATEX_FLOATS_FILE_EXTENSION,
&source->LATEX_FLOATS_FILE_EXTENSION);
+ copy_option (&destination->LOCALE_ENCODING, &source->LOCALE_ENCODING);
+ copy_option (&destination->L2H_CLEAN, &source->L2H_CLEAN);
+ copy_option (&destination->L2H_FILE, &source->L2H_FILE);
+ copy_option (&destination->L2H_HTML_VERSION, &source->L2H_HTML_VERSION);
+ copy_option (&destination->L2H_L2H, &source->L2H_L2H);
+ copy_option (&destination->L2H_SKIP, &source->L2H_SKIP);
+ copy_option (&destination->L2H_TMP, &source->L2H_TMP);
+ copy_option (&destination->MATHJAX_CONFIGURATION,
&source->MATHJAX_CONFIGURATION);
+ copy_option (&destination->MATHJAX_SCRIPT, &source->MATHJAX_SCRIPT);
+ copy_option (&destination->MATHJAX_SOURCE, &source->MATHJAX_SOURCE);
+ copy_option (&destination->MAX_HEADER_LEVEL, &source->MAX_HEADER_LEVEL);
+ copy_option (&destination->MENU_ENTRY_COLON, &source->MENU_ENTRY_COLON);
+ copy_option (&destination->MENU_SYMBOL, &source->MENU_SYMBOL);
+ copy_option (&destination->MESSAGE_ENCODING, &source->MESSAGE_ENCODING);
+ copy_option (&destination->MONOLITHIC, &source->MONOLITHIC);
+ copy_option (&destination->NO_CSS, &source->NO_CSS);
+ copy_option (&destination->NO_NUMBER_FOOTNOTE_SYMBOL,
&source->NO_NUMBER_FOOTNOTE_SYMBOL);
+ copy_option (&destination->NO_CUSTOM_HTML_ATTRIBUTE,
&source->NO_CUSTOM_HTML_ATTRIBUTE);
+ copy_option (&destination->NODE_NAME_IN_INDEX, &source->NODE_NAME_IN_INDEX);
+ copy_option (&destination->NODE_NAME_IN_MENU, &source->NODE_NAME_IN_MENU);
+ copy_option (&destination->NO_TOP_NODE_OUTPUT, &source->NO_TOP_NODE_OUTPUT);
+ copy_option (&destination->OPEN_DOUBLE_QUOTE_SYMBOL,
&source->OPEN_DOUBLE_QUOTE_SYMBOL);
+ copy_option (&destination->OPEN_QUOTE_SYMBOL, &source->OPEN_QUOTE_SYMBOL);
+ copy_option (&destination->OUTPUT_CHARACTERS, &source->OUTPUT_CHARACTERS);
+ copy_option (&destination->OUTPUT_ENCODING_NAME,
&source->OUTPUT_ENCODING_NAME);
+ copy_option (&destination->OUTPUT_FILE_NAME_ENCODING,
&source->OUTPUT_FILE_NAME_ENCODING);
+ copy_option (&destination->OUTPUT_PERL_ENCODING,
&source->OUTPUT_PERL_ENCODING);
+ copy_option (&destination->PACKAGE, &source->PACKAGE);
+ copy_option (&destination->PACKAGE_AND_VERSION,
&source->PACKAGE_AND_VERSION);
+ copy_option (&destination->PACKAGE_NAME, &source->PACKAGE_NAME);
+ copy_option (&destination->PACKAGE_URL, &source->PACKAGE_URL);
+ copy_option (&destination->PACKAGE_VERSION, &source->PACKAGE_VERSION);
+ copy_option (&destination->PRE_BODY_CLOSE, &source->PRE_BODY_CLOSE);
+ copy_option (&destination->PREFIX, &source->PREFIX);
+ copy_option (&destination->PROGRAM, &source->PROGRAM);
+ copy_option (&destination->PROGRAM_NAME_IN_ABOUT,
&source->PROGRAM_NAME_IN_ABOUT);
+ copy_option (&destination->PROGRAM_NAME_IN_FOOTER,
&source->PROGRAM_NAME_IN_FOOTER);
+ copy_option (&destination->SECTION_NAME_IN_TITLE,
&source->SECTION_NAME_IN_TITLE);
+ copy_option (&destination->SHORT_TOC_LINK_TO_TOC,
&source->SHORT_TOC_LINK_TO_TOC);
+ copy_option (&destination->SHOW_TITLE, &source->SHOW_TITLE);
+ copy_option (&destination->T4H_LATEX_CONVERSION,
&source->T4H_LATEX_CONVERSION);
+ copy_option (&destination->T4H_MATH_CONVERSION,
&source->T4H_MATH_CONVERSION);
+ copy_option (&destination->T4H_TEX_CONVERSION, &source->T4H_TEX_CONVERSION);
+ copy_option (&destination->TEXI2HTML, &source->TEXI2HTML);
+ copy_option (&destination->TEXINFO_OUTPUT_FORMAT,
&source->TEXINFO_OUTPUT_FORMAT);
+ copy_option (&destination->TXI_MARKUP_NO_SECTION_EXTENT,
&source->TXI_MARKUP_NO_SECTION_EXTENT);
+ copy_option (&destination->TOC_LINKS, &source->TOC_LINKS);
+ copy_option (&destination->TOP_FILE, &source->TOP_FILE);
+ copy_option (&destination->TOP_NODE_FILE_TARGET,
&source->TOP_NODE_FILE_TARGET);
+ copy_option (&destination->TOP_NODE_UP_URL, &source->TOP_NODE_UP_URL);
+ copy_option (&destination->USE_ACCESSKEY, &source->USE_ACCESSKEY);
+ copy_option (&destination->USE_ISO, &source->USE_ISO);
+ copy_option (&destination->USE_LINKS, &source->USE_LINKS);
+ copy_option (&destination->USE_NEXT_HEADING_FOR_LONE_NODE,
&source->USE_NEXT_HEADING_FOR_LONE_NODE);
+ copy_option (&destination->USE_NODES, &source->USE_NODES);
+ copy_option (&destination->USE_NODE_DIRECTIONS,
&source->USE_NODE_DIRECTIONS);
+ copy_option (&destination->USE_NUMERIC_ENTITY, &source->USE_NUMERIC_ENTITY);
+ copy_option (&destination->USE_REL_REV, &source->USE_REL_REV);
+ copy_option (&destination->USE_SETFILENAME_EXTENSION,
&source->USE_SETFILENAME_EXTENSION);
+ copy_option (&destination->USE_TITLEPAGE_FOR_TITLE,
&source->USE_TITLEPAGE_FOR_TITLE);
+ copy_option (&destination->USE_UNIDECODE, &source->USE_UNIDECODE);
+ copy_option (&destination->USE_XML_SYNTAX, &source->USE_XML_SYNTAX);
+ copy_option (&destination->VERTICAL_HEAD_NAVIGATION,
&source->VERTICAL_HEAD_NAVIGATION);
+ copy_option (&destination->WORDS_IN_PAGE, &source->WORDS_IN_PAGE);
+ copy_option (&destination->XREF_USE_FLOAT_LABEL,
&source->XREF_USE_FLOAT_LABEL);
+ copy_option (&destination->XREF_USE_NODE_NAME_ARG,
&source->XREF_USE_NODE_NAME_ARG);
+ copy_option (&destination->XS_EXTERNAL_CONVERSION,
&source->XS_EXTERNAL_CONVERSION);
+ copy_option (&destination->XS_EXTERNAL_FORMATTING,
&source->XS_EXTERNAL_FORMATTING);
+ copy_option (&destination->XS_STRXFRM_COLLATION_LOCALE,
&source->XS_STRXFRM_COLLATION_LOCALE);
+ copy_option (&destination->_INLINE_STYLE_WIDTH,
&source->_INLINE_STYLE_WIDTH);
+
+/* converter_other */
+
+ copy_option (&destination->LINKS_BUTTONS, &source->LINKS_BUTTONS);
+ copy_option (&destination->TOP_BUTTONS, &source->TOP_BUTTONS);
+ copy_option (&destination->TOP_FOOTER_BUTTONS, &source->TOP_FOOTER_BUTTONS);
+ copy_option (&destination->SECTION_BUTTONS, &source->SECTION_BUTTONS);
+ copy_option (&destination->CHAPTER_FOOTER_BUTTONS,
&source->CHAPTER_FOOTER_BUTTONS);
+ copy_option (&destination->SECTION_FOOTER_BUTTONS,
&source->SECTION_FOOTER_BUTTONS);
+ copy_option (&destination->NODE_FOOTER_BUTTONS,
&source->NODE_FOOTER_BUTTONS);
+ copy_option (&destination->MISC_BUTTONS, &source->MISC_BUTTONS);
+ copy_option (&destination->CHAPTER_BUTTONS, &source->CHAPTER_BUTTONS);
+ copy_option (&destination->ACTIVE_ICONS, &source->ACTIVE_ICONS);
+ copy_option (&destination->PASSIVE_ICONS, &source->PASSIVE_ICONS);
+
+/* multiple_at_command */
+
+ copy_option (&destination->allowcodebreaks, &source->allowcodebreaks);
+ copy_option (&destination->clickstyle, &source->clickstyle);
+ copy_option (&destination->codequotebacktick, &source->codequotebacktick);
+ copy_option (&destination->codequoteundirected,
&source->codequoteundirected);
+ copy_option (&destination->contents, &source->contents);
+ copy_option (&destination->deftypefnnewline, &source->deftypefnnewline);
+ copy_option (&destination->documentencoding, &source->documentencoding);
+ copy_option (&destination->documentlanguage, &source->documentlanguage);
+ copy_option (&destination->evenfooting, &source->evenfooting);
+ copy_option (&destination->evenheading, &source->evenheading);
+ copy_option (&destination->everyfooting, &source->everyfooting);
+ copy_option (&destination->everyheading, &source->everyheading);
+ copy_option (&destination->exampleindent, &source->exampleindent);
+ copy_option (&destination->firstparagraphindent,
&source->firstparagraphindent);
+ copy_option (&destination->frenchspacing, &source->frenchspacing);
+ copy_option (&destination->headings, &source->headings);
+ copy_option (&destination->kbdinputstyle, &source->kbdinputstyle);
+ copy_option (&destination->microtype, &source->microtype);
+ copy_option (&destination->oddheading, &source->oddheading);
+ copy_option (&destination->oddfooting, &source->oddfooting);
+ copy_option (&destination->paragraphindent, &source->paragraphindent);
+ copy_option (&destination->shortcontents, &source->shortcontents);
+ copy_option (&destination->summarycontents, &source->summarycontents);
+ copy_option (&destination->urefbreakstyle, &source->urefbreakstyle);
+ copy_option (&destination->xrefautomaticsectiontitle,
&source->xrefautomaticsectiontitle);
+
+/* program_cmdline */
+
+ copy_option (&destination->MACRO_EXPAND, &source->MACRO_EXPAND);
+ copy_option (&destination->INTERNAL_LINKS, &source->INTERNAL_LINKS);
+ copy_option (&destination->ERROR_LIMIT, &source->ERROR_LIMIT);
+ copy_option (&destination->FORCE, &source->FORCE);
+ copy_option (&destination->NO_WARN, &source->NO_WARN);
+ copy_option (&destination->SILENT, &source->SILENT);
+ copy_option (&destination->TRACE_INCLUDES, &source->TRACE_INCLUDES);
+ copy_option (&destination->FORMAT_MENU, &source->FORMAT_MENU);
+
+/* program_customization */
+
+ copy_option (&destination->CHECK_NORMAL_MENU_STRUCTURE,
&source->CHECK_NORMAL_MENU_STRUCTURE);
+ copy_option (&destination->CHECK_MISSING_MENU_ENTRY,
&source->CHECK_MISSING_MENU_ENTRY);
+ copy_option (&destination->DUMP_TREE, &source->DUMP_TREE);
+ copy_option (&destination->DUMP_TEXI, &source->DUMP_TEXI);
+ copy_option (&destination->SHOW_BUILTIN_CSS_RULES,
&source->SHOW_BUILTIN_CSS_RULES);
+ copy_option (&destination->SORT_ELEMENT_COUNT, &source->SORT_ELEMENT_COUNT);
+ copy_option (&destination->SORT_ELEMENT_COUNT_WORDS,
&source->SORT_ELEMENT_COUNT_WORDS);
+ copy_option (&destination->TEXI2DVI, &source->TEXI2DVI);
+ copy_option (&destination->TREE_TRANSFORMATIONS,
&source->TREE_TRANSFORMATIONS);
+
+/* unique_at_command */
+
+ copy_option (&destination->afivepaper, &source->afivepaper);
+ copy_option (&destination->afourpaper, &source->afourpaper);
+ copy_option (&destination->afourlatex, &source->afourlatex);
+ copy_option (&destination->afourwide, &source->afourwide);
+ copy_option (&destination->bsixpaper, &source->bsixpaper);
+ copy_option (&destination->documentdescription,
&source->documentdescription);
+ copy_option (&destination->evenfootingmarks, &source->evenfootingmarks);
+ copy_option (&destination->evenheadingmarks, &source->evenheadingmarks);
+ copy_option (&destination->everyfootingmarks, &source->everyfootingmarks);
+ copy_option (&destination->everyheadingmarks, &source->everyheadingmarks);
+ copy_option (&destination->fonttextsize, &source->fonttextsize);
+ copy_option (&destination->footnotestyle, &source->footnotestyle);
+ copy_option (&destination->novalidate, &source->novalidate);
+ copy_option (&destination->oddfootingmarks, &source->oddfootingmarks);
+ copy_option (&destination->oddheadingmarks, &source->oddheadingmarks);
+ copy_option (&destination->pagesizes, &source->pagesizes);
+ copy_option (&destination->setchapternewpage, &source->setchapternewpage);
+ copy_option (&destination->setfilename, &source->setfilename);
+ copy_option (&destination->smallbook, &source->smallbook);
+}
+
+void
+set_option_key_configured (OPTIONS *options, const char *key, int configured)
+{
+ if (0) {}
+
+/* array_cmdline */
+
+ else if (!strcmp (key, "CSS_FILES"))
+ {
+ if (configured > 0)
+ options->CSS_FILES.configured = configured;
+ }
+ else if (!strcmp (key, "CSS_REFS"))
+ {
+ if (configured > 0)
+ options->CSS_REFS.configured = configured;
+ }
+ else if (!strcmp (key, "EXPANDED_FORMATS"))
+ {
+ if (configured > 0)
+ options->EXPANDED_FORMATS.configured = configured;
+ }
+ else if (!strcmp (key, "INCLUDE_DIRECTORIES"))
+ {
+ if (configured > 0)
+ options->INCLUDE_DIRECTORIES.configured = configured;
+ }
+ else if (!strcmp (key, "TEXINFO_LANGUAGE_DIRECTORIES"))
+ {
+ if (configured > 0)
+ options->TEXINFO_LANGUAGE_DIRECTORIES.configured = configured;
+ }
+
+/* converter_cmdline */
+
+ else if (!strcmp (key, "SPLIT_SIZE"))
+ {
+ if (configured > 0)
+ options->SPLIT_SIZE.configured = configured;
+ }
+ else if (!strcmp (key, "FILLCOLUMN"))
+ {
+ if (configured > 0)
+ options->FILLCOLUMN.configured = configured;
+ }
+ else if (!strcmp (key, "NUMBER_SECTIONS"))
+ {
+ if (configured > 0)
+ options->NUMBER_SECTIONS.configured = configured;
+ }
+ else if (!strcmp (key, "NUMBER_FOOTNOTES"))
+ {
+ if (configured > 0)
+ options->NUMBER_FOOTNOTES.configured = configured;
+ }
+ else if (!strcmp (key, "TRANSLITERATE_FILE_NAMES"))
+ {
+ if (configured > 0)
+ options->TRANSLITERATE_FILE_NAMES.configured = configured;
+ }
+ else if (!strcmp (key, "SPLIT"))
+ {
+ if (configured > 0)
+ options->SPLIT.configured = configured;
+ }
+ else if (!strcmp (key, "HEADERS"))
+ {
+ if (configured > 0)
+ options->HEADERS.configured = configured;
+ }
+ else if (!strcmp (key, "NODE_FILES"))
+ {
+ if (configured > 0)
+ options->NODE_FILES.configured = configured;
+ }
+ else if (!strcmp (key, "VERBOSE"))
+ {
+ if (configured > 0)
+ options->VERBOSE.configured = configured;
+ }
+ else if (!strcmp (key, "OUTFILE"))
+ {
+ if (configured > 0)
+ options->OUTFILE.configured = configured;
+ }
+ else if (!strcmp (key, "SUBDIR"))
+ {
+ if (configured > 0)
+ options->SUBDIR.configured = configured;
+ }
+ else if (!strcmp (key, "ENABLE_ENCODING"))
+ {
+ if (configured > 0)
+ options->ENABLE_ENCODING.configured = configured;
+ }
+
+/* converter_customization */
+
+ else if (!strcmp (key, "TOP_NODE_UP"))
+ {
+ if (configured > 0)
+ options->TOP_NODE_UP.configured = configured;
+ }
+ else if (!strcmp (key, "BASEFILENAME_LENGTH"))
+ {
+ if (configured > 0)
+ options->BASEFILENAME_LENGTH.configured = configured;
+ }
+ else if (!strcmp (key, "DOC_ENCODING_FOR_INPUT_FILE_NAME"))
+ {
+ if (configured > 0)
+ options->DOC_ENCODING_FOR_INPUT_FILE_NAME.configured = configured;
+ }
+ else if (!strcmp (key, "DOC_ENCODING_FOR_OUTPUT_FILE_NAME"))
+ {
+ if (configured > 0)
+ options->DOC_ENCODING_FOR_OUTPUT_FILE_NAME.configured = configured;
+ }
+ else if (!strcmp (key, "IMAGE_LINK_PREFIX"))
+ {
+ if (configured > 0)
+ options->IMAGE_LINK_PREFIX.configured = configured;
+ }
+ else if (!strcmp (key, "CASE_INSENSITIVE_FILENAMES"))
+ {
+ if (configured > 0)
+ options->CASE_INSENSITIVE_FILENAMES.configured = configured;
+ }
+ else if (!strcmp (key, "DEBUG"))
+ {
+ if (configured > 0)
+ options->DEBUG.configured = configured;
+ }
+ else if (!strcmp (key, "HANDLER_FATAL_ERROR_LEVEL"))
+ {
+ if (configured > 0)
+ options->HANDLER_FATAL_ERROR_LEVEL.configured = configured;
+ }
+ else if (!strcmp (key, "TEST"))
+ {
+ if (configured > 0)
+ options->TEST.configured = configured;
+ }
+ else if (!strcmp (key, "TEXTCONTENT_COMMENT"))
+ {
+ if (configured > 0)
+ options->TEXTCONTENT_COMMENT.configured = configured;
+ }
+ else if (!strcmp (key, "TEXINFO_DTD_VERSION"))
+ {
+ if (configured > 0)
+ options->TEXINFO_DTD_VERSION.configured = configured;
+ }
+ else if (!strcmp (key, "USE_UNICODE_COLLATION"))
+ {
+ if (configured > 0)
+ options->USE_UNICODE_COLLATION.configured = configured;
+ }
+ else if (!strcmp (key, "AFTER_BODY_OPEN"))
+ {
+ if (configured > 0)
+ options->AFTER_BODY_OPEN.configured = configured;
+ }
+ else if (!strcmp (key, "AFTER_SHORT_TOC_LINES"))
+ {
+ if (configured > 0)
+ options->AFTER_SHORT_TOC_LINES.configured = configured;
+ }
+ else if (!strcmp (key, "AFTER_TOC_LINES"))
+ {
+ if (configured > 0)
+ options->AFTER_TOC_LINES.configured = configured;
+ }
+ else if (!strcmp (key, "ASCII_DASHES_AND_QUOTES"))
+ {
+ if (configured > 0)
+ options->ASCII_DASHES_AND_QUOTES.configured = configured;
+ }
+ else if (!strcmp (key, "ASCII_GLYPH"))
+ {
+ if (configured > 0)
+ options->ASCII_GLYPH.configured = configured;
+ }
+ else if (!strcmp (key, "ASCII_PUNCTUATION"))
+ {
+ if (configured > 0)
+ options->ASCII_PUNCTUATION.configured = configured;
+ }
+ else if (!strcmp (key, "AUTO_MENU_DESCRIPTION_ALIGN_COLUMN"))
+ {
+ if (configured > 0)
+ options->AUTO_MENU_DESCRIPTION_ALIGN_COLUMN.configured = configured;
+ }
+ else if (!strcmp (key, "AUTO_MENU_MAX_WIDTH"))
+ {
+ if (configured > 0)
+ options->AUTO_MENU_MAX_WIDTH.configured = configured;
+ }
+ else if (!strcmp (key, "BEFORE_SHORT_TOC_LINES"))
+ {
+ if (configured > 0)
+ options->BEFORE_SHORT_TOC_LINES.configured = configured;
+ }
+ else if (!strcmp (key, "BEFORE_TOC_LINES"))
+ {
+ if (configured > 0)
+ options->BEFORE_TOC_LINES.configured = configured;
+ }
+ else if (!strcmp (key, "BIG_RULE"))
+ {
+ if (configured > 0)
+ options->BIG_RULE.configured = configured;
+ }
+ else if (!strcmp (key, "BODY_ELEMENT_ATTRIBUTES"))
+ {
+ if (configured > 0)
+ options->BODY_ELEMENT_ATTRIBUTES.configured = configured;
+ }
+ else if (!strcmp (key, "CLASS_BEGIN_USEPACKAGE"))
+ {
+ if (configured > 0)
+ options->CLASS_BEGIN_USEPACKAGE.configured = configured;
+ }
+ else if (!strcmp (key, "COPIABLE_LINKS"))
+ {
+ if (configured > 0)
+ options->COPIABLE_LINKS.configured = configured;
+ }
+ else if (!strcmp (key, "CHAPTER_HEADER_LEVEL"))
+ {
+ if (configured > 0)
+ options->CHAPTER_HEADER_LEVEL.configured = configured;
+ }
+ else if (!strcmp (key, "CHECK_HTMLXREF"))
+ {
+ if (configured > 0)
+ options->CHECK_HTMLXREF.configured = configured;
+ }
+ else if (!strcmp (key, "CLOSE_DOUBLE_QUOTE_SYMBOL"))
+ {
+ if (configured > 0)
+ options->CLOSE_DOUBLE_QUOTE_SYMBOL.configured = configured;
+ }
+ else if (!strcmp (key, "CLOSE_QUOTE_SYMBOL"))
+ {
+ if (configured > 0)
+ options->CLOSE_QUOTE_SYMBOL.configured = configured;
+ }
+ else if (!strcmp (key, "COLLATION_LANGUAGE"))
+ {
+ if (configured > 0)
+ options->COLLATION_LANGUAGE.configured = configured;
+ }
+ else if (!strcmp (key, "COMMAND_LINE_ENCODING"))
+ {
+ if (configured > 0)
+ options->COMMAND_LINE_ENCODING.configured = configured;
+ }
+ else if (!strcmp (key, "INDENTED_BLOCK_COMMANDS_IN_TABLE"))
+ {
+ if (configured > 0)
+ options->INDENTED_BLOCK_COMMANDS_IN_TABLE.configured = configured;
+ }
+ else if (!strcmp (key, "CONTENTS_OUTPUT_LOCATION"))
+ {
+ if (configured > 0)
+ options->CONTENTS_OUTPUT_LOCATION.configured = configured;
+ }
+ else if (!strcmp (key, "CONVERT_TO_LATEX_IN_MATH"))
+ {
+ if (configured > 0)
+ options->CONVERT_TO_LATEX_IN_MATH.configured = configured;
+ }
+ else if (!strcmp (key, "DATE_IN_HEADER"))
+ {
+ if (configured > 0)
+ options->DATE_IN_HEADER.configured = configured;
+ }
+ else if (!strcmp (key, "DEFAULT_RULE"))
+ {
+ if (configured > 0)
+ options->DEFAULT_RULE.configured = configured;
+ }
+ else if (!strcmp (key, "DEF_TABLE"))
+ {
+ if (configured > 0)
+ options->DEF_TABLE.configured = configured;
+ }
+ else if (!strcmp (key, "DO_ABOUT"))
+ {
+ if (configured > 0)
+ options->DO_ABOUT.configured = configured;
+ }
+ else if (!strcmp (key, "DOCTYPE"))
+ {
+ if (configured > 0)
+ options->DOCTYPE.configured = configured;
+ }
+ else if (!strcmp (key, "DOCUMENTLANGUAGE_COLLATION"))
+ {
+ if (configured > 0)
+ options->DOCUMENTLANGUAGE_COLLATION.configured = configured;
+ }
+ else if (!strcmp (key, "END_USEPACKAGE"))
+ {
+ if (configured > 0)
+ options->END_USEPACKAGE.configured = configured;
+ }
+ else if (!strcmp (key, "EPUB_CREATE_CONTAINER_FILE"))
+ {
+ if (configured > 0)
+ options->EPUB_CREATE_CONTAINER_FILE.configured = configured;
+ }
+ else if (!strcmp (key, "EPUB_KEEP_CONTAINER_FOLDER"))
+ {
+ if (configured > 0)
+ options->EPUB_KEEP_CONTAINER_FOLDER.configured = configured;
+ }
+ else if (!strcmp (key, "EXTENSION"))
+ {
+ if (configured > 0)
+ options->EXTENSION.configured = configured;
+ }
+ else if (!strcmp (key, "EXTERNAL_CROSSREF_EXTENSION"))
+ {
+ if (configured > 0)
+ options->EXTERNAL_CROSSREF_EXTENSION.configured = configured;
+ }
+ else if (!strcmp (key, "EXTERNAL_CROSSREF_SPLIT"))
+ {
+ if (configured > 0)
+ options->EXTERNAL_CROSSREF_SPLIT.configured = configured;
+ }
+ else if (!strcmp (key, "EXTERNAL_DIR"))
+ {
+ if (configured > 0)
+ options->EXTERNAL_DIR.configured = configured;
+ }
+ else if (!strcmp (key, "EXTRA_HEAD"))
+ {
+ if (configured > 0)
+ options->EXTRA_HEAD.configured = configured;
+ }
+ else if (!strcmp (key, "FOOTNOTE_END_HEADER_LEVEL"))
+ {
+ if (configured > 0)
+ options->FOOTNOTE_END_HEADER_LEVEL.configured = configured;
+ }
+ else if (!strcmp (key, "FOOTNOTE_SEPARATE_HEADER_LEVEL"))
+ {
+ if (configured > 0)
+ options->FOOTNOTE_SEPARATE_HEADER_LEVEL.configured = configured;
+ }
+ else if (!strcmp (key, "HEADER_IN_TABLE"))
+ {
+ if (configured > 0)
+ options->HEADER_IN_TABLE.configured = configured;
+ }
+ else if (!strcmp (key, "HIGHLIGHT_SYNTAX"))
+ {
+ if (configured > 0)
+ options->HIGHLIGHT_SYNTAX.configured = configured;
+ }
+ else if (!strcmp (key, "HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE"))
+ {
+ if (configured > 0)
+ options->HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE.configured = configured;
+ }
+ else if (!strcmp (key, "HTML_MATH"))
+ {
+ if (configured > 0)
+ options->HTML_MATH.configured = configured;
+ }
+ else if (!strcmp (key, "HTML_ROOT_ELEMENT_ATTRIBUTES"))
+ {
+ if (configured > 0)
+ options->HTML_ROOT_ELEMENT_ATTRIBUTES.configured = configured;
+ }
+ else if (!strcmp (key, "HTMLXREF_FILE"))
+ {
+ if (configured > 0)
+ options->HTMLXREF_FILE.configured = configured;
+ }
+ else if (!strcmp (key, "HTMLXREF_MODE"))
+ {
+ if (configured > 0)
+ options->HTMLXREF_MODE.configured = configured;
+ }
+ else if (!strcmp (key, "ICONS"))
+ {
+ if (configured > 0)
+ options->ICONS.configured = configured;
+ }
+ else if (!strcmp (key, "INDEX_ENTRY_COLON"))
+ {
+ if (configured > 0)
+ options->INDEX_ENTRY_COLON.configured = configured;
+ }
+ else if (!strcmp (key, "INDEX_SPECIAL_CHARS_WARNING"))
+ {
+ if (configured > 0)
+ options->INDEX_SPECIAL_CHARS_WARNING.configured = configured;
+ }
+ else if (!strcmp (key, "INFO_JS_DIR"))
+ {
+ if (configured > 0)
+ options->INFO_JS_DIR.configured = configured;
+ }
+ else if (!strcmp (key, "INFO_SPECIAL_CHARS_QUOTE"))
+ {
+ if (configured > 0)
+ options->INFO_SPECIAL_CHARS_QUOTE.configured = configured;
+ }
+ else if (!strcmp (key, "INFO_SPECIAL_CHARS_WARNING"))
+ {
+ if (configured > 0)
+ options->INFO_SPECIAL_CHARS_WARNING.configured = configured;
+ }
+ else if (!strcmp (key, "IGNORE_REF_TO_TOP_NODE_UP"))
+ {
+ if (configured > 0)
+ options->IGNORE_REF_TO_TOP_NODE_UP.configured = configured;
+ }
+ else if (!strcmp (key, "INLINE_CSS_STYLE"))
+ {
+ if (configured > 0)
+ options->INLINE_CSS_STYLE.configured = configured;
+ }
+ else if (!strcmp (key, "INPUT_FILE_NAME_ENCODING"))
+ {
+ if (configured > 0)
+ options->INPUT_FILE_NAME_ENCODING.configured = configured;
+ }
+ else if (!strcmp (key, "JS_WEBLABELS"))
+ {
+ if (configured > 0)
+ options->JS_WEBLABELS.configured = configured;
+ }
+ else if (!strcmp (key, "JS_WEBLABELS_FILE"))
+ {
+ if (configured > 0)
+ options->JS_WEBLABELS_FILE.configured = configured;
+ }
+ else if (!strcmp (key, "LATEX_FLOATS_FILE_EXTENSION"))
+ {
+ if (configured > 0)
+ options->LATEX_FLOATS_FILE_EXTENSION.configured = configured;
+ }
+ else if (!strcmp (key, "LOCALE_ENCODING"))
+ {
+ if (configured > 0)
+ options->LOCALE_ENCODING.configured = configured;
+ }
+ else if (!strcmp (key, "L2H_CLEAN"))
+ {
+ if (configured > 0)
+ options->L2H_CLEAN.configured = configured;
+ }
+ else if (!strcmp (key, "L2H_FILE"))
+ {
+ if (configured > 0)
+ options->L2H_FILE.configured = configured;
+ }
+ else if (!strcmp (key, "L2H_HTML_VERSION"))
+ {
+ if (configured > 0)
+ options->L2H_HTML_VERSION.configured = configured;
+ }
+ else if (!strcmp (key, "L2H_L2H"))
+ {
+ if (configured > 0)
+ options->L2H_L2H.configured = configured;
+ }
+ else if (!strcmp (key, "L2H_SKIP"))
+ {
+ if (configured > 0)
+ options->L2H_SKIP.configured = configured;
+ }
+ else if (!strcmp (key, "L2H_TMP"))
+ {
+ if (configured > 0)
+ options->L2H_TMP.configured = configured;
+ }
+ else if (!strcmp (key, "MATHJAX_CONFIGURATION"))
+ {
+ if (configured > 0)
+ options->MATHJAX_CONFIGURATION.configured = configured;
+ }
+ else if (!strcmp (key, "MATHJAX_SCRIPT"))
+ {
+ if (configured > 0)
+ options->MATHJAX_SCRIPT.configured = configured;
+ }
+ else if (!strcmp (key, "MATHJAX_SOURCE"))
+ {
+ if (configured > 0)
+ options->MATHJAX_SOURCE.configured = configured;
+ }
+ else if (!strcmp (key, "MAX_HEADER_LEVEL"))
+ {
+ if (configured > 0)
+ options->MAX_HEADER_LEVEL.configured = configured;
+ }
+ else if (!strcmp (key, "MENU_ENTRY_COLON"))
+ {
+ if (configured > 0)
+ options->MENU_ENTRY_COLON.configured = configured;
+ }
+ else if (!strcmp (key, "MENU_SYMBOL"))
+ {
+ if (configured > 0)
+ options->MENU_SYMBOL.configured = configured;
+ }
+ else if (!strcmp (key, "MESSAGE_ENCODING"))
+ {
+ if (configured > 0)
+ options->MESSAGE_ENCODING.configured = configured;
+ }
+ else if (!strcmp (key, "MONOLITHIC"))
+ {
+ if (configured > 0)
+ options->MONOLITHIC.configured = configured;
+ }
+ else if (!strcmp (key, "NO_CSS"))
+ {
+ if (configured > 0)
+ options->NO_CSS.configured = configured;
+ }
+ else if (!strcmp (key, "NO_NUMBER_FOOTNOTE_SYMBOL"))
+ {
+ if (configured > 0)
+ options->NO_NUMBER_FOOTNOTE_SYMBOL.configured = configured;
+ }
+ else if (!strcmp (key, "NO_CUSTOM_HTML_ATTRIBUTE"))
+ {
+ if (configured > 0)
+ options->NO_CUSTOM_HTML_ATTRIBUTE.configured = configured;
+ }
+ else if (!strcmp (key, "NODE_NAME_IN_INDEX"))
+ {
+ if (configured > 0)
+ options->NODE_NAME_IN_INDEX.configured = configured;
+ }
+ else if (!strcmp (key, "NODE_NAME_IN_MENU"))
+ {
+ if (configured > 0)
+ options->NODE_NAME_IN_MENU.configured = configured;
+ }
+ else if (!strcmp (key, "NO_TOP_NODE_OUTPUT"))
+ {
+ if (configured > 0)
+ options->NO_TOP_NODE_OUTPUT.configured = configured;
+ }
+ else if (!strcmp (key, "OPEN_DOUBLE_QUOTE_SYMBOL"))
+ {
+ if (configured > 0)
+ options->OPEN_DOUBLE_QUOTE_SYMBOL.configured = configured;
+ }
+ else if (!strcmp (key, "OPEN_QUOTE_SYMBOL"))
+ {
+ if (configured > 0)
+ options->OPEN_QUOTE_SYMBOL.configured = configured;
+ }
+ else if (!strcmp (key, "OUTPUT_CHARACTERS"))
+ {
+ if (configured > 0)
+ options->OUTPUT_CHARACTERS.configured = configured;
+ }
+ else if (!strcmp (key, "OUTPUT_ENCODING_NAME"))
+ {
+ if (configured > 0)
+ options->OUTPUT_ENCODING_NAME.configured = configured;
+ }
+ else if (!strcmp (key, "OUTPUT_FILE_NAME_ENCODING"))
+ {
+ if (configured > 0)
+ options->OUTPUT_FILE_NAME_ENCODING.configured = configured;
+ }
+ else if (!strcmp (key, "OUTPUT_PERL_ENCODING"))
+ {
+ if (configured > 0)
+ options->OUTPUT_PERL_ENCODING.configured = configured;
+ }
+ else if (!strcmp (key, "PACKAGE"))
+ {
+ if (configured > 0)
+ options->PACKAGE.configured = configured;
+ }
+ else if (!strcmp (key, "PACKAGE_AND_VERSION"))
+ {
+ if (configured > 0)
+ options->PACKAGE_AND_VERSION.configured = configured;
+ }
+ else if (!strcmp (key, "PACKAGE_NAME"))
+ {
+ if (configured > 0)
+ options->PACKAGE_NAME.configured = configured;
+ }
+ else if (!strcmp (key, "PACKAGE_URL"))
+ {
+ if (configured > 0)
+ options->PACKAGE_URL.configured = configured;
+ }
+ else if (!strcmp (key, "PACKAGE_VERSION"))
+ {
+ if (configured > 0)
+ options->PACKAGE_VERSION.configured = configured;
+ }
+ else if (!strcmp (key, "PRE_BODY_CLOSE"))
+ {
+ if (configured > 0)
+ options->PRE_BODY_CLOSE.configured = configured;
+ }
+ else if (!strcmp (key, "PREFIX"))
+ {
+ if (configured > 0)
+ options->PREFIX.configured = configured;
+ }
+ else if (!strcmp (key, "PROGRAM"))
+ {
+ if (configured > 0)
+ options->PROGRAM.configured = configured;
+ }
+ else if (!strcmp (key, "PROGRAM_NAME_IN_ABOUT"))
+ {
+ if (configured > 0)
+ options->PROGRAM_NAME_IN_ABOUT.configured = configured;
+ }
+ else if (!strcmp (key, "PROGRAM_NAME_IN_FOOTER"))
+ {
+ if (configured > 0)
+ options->PROGRAM_NAME_IN_FOOTER.configured = configured;
+ }
+ else if (!strcmp (key, "SECTION_NAME_IN_TITLE"))
+ {
+ if (configured > 0)
+ options->SECTION_NAME_IN_TITLE.configured = configured;
+ }
+ else if (!strcmp (key, "SHORT_TOC_LINK_TO_TOC"))
+ {
+ if (configured > 0)
+ options->SHORT_TOC_LINK_TO_TOC.configured = configured;
+ }
+ else if (!strcmp (key, "SHOW_TITLE"))
+ {
+ if (configured > 0)
+ options->SHOW_TITLE.configured = configured;
+ }
+ else if (!strcmp (key, "T4H_LATEX_CONVERSION"))
+ {
+ if (configured > 0)
+ options->T4H_LATEX_CONVERSION.configured = configured;
+ }
+ else if (!strcmp (key, "T4H_MATH_CONVERSION"))
+ {
+ if (configured > 0)
+ options->T4H_MATH_CONVERSION.configured = configured;
+ }
+ else if (!strcmp (key, "T4H_TEX_CONVERSION"))
+ {
+ if (configured > 0)
+ options->T4H_TEX_CONVERSION.configured = configured;
+ }
+ else if (!strcmp (key, "TEXI2HTML"))
+ {
+ if (configured > 0)
+ options->TEXI2HTML.configured = configured;
+ }
+ else if (!strcmp (key, "TEXINFO_OUTPUT_FORMAT"))
+ {
+ if (configured > 0)
+ options->TEXINFO_OUTPUT_FORMAT.configured = configured;
+ }
+ else if (!strcmp (key, "TXI_MARKUP_NO_SECTION_EXTENT"))
+ {
+ if (configured > 0)
+ options->TXI_MARKUP_NO_SECTION_EXTENT.configured = configured;
+ }
+ else if (!strcmp (key, "TOC_LINKS"))
+ {
+ if (configured > 0)
+ options->TOC_LINKS.configured = configured;
+ }
+ else if (!strcmp (key, "TOP_FILE"))
+ {
+ if (configured > 0)
+ options->TOP_FILE.configured = configured;
+ }
+ else if (!strcmp (key, "TOP_NODE_FILE_TARGET"))
+ {
+ if (configured > 0)
+ options->TOP_NODE_FILE_TARGET.configured = configured;
+ }
+ else if (!strcmp (key, "TOP_NODE_UP_URL"))
+ {
+ if (configured > 0)
+ options->TOP_NODE_UP_URL.configured = configured;
+ }
+ else if (!strcmp (key, "USE_ACCESSKEY"))
+ {
+ if (configured > 0)
+ options->USE_ACCESSKEY.configured = configured;
+ }
+ else if (!strcmp (key, "USE_ISO"))
+ {
+ if (configured > 0)
+ options->USE_ISO.configured = configured;
+ }
+ else if (!strcmp (key, "USE_LINKS"))
+ {
+ if (configured > 0)
+ options->USE_LINKS.configured = configured;
+ }
+ else if (!strcmp (key, "USE_NEXT_HEADING_FOR_LONE_NODE"))
+ {
+ if (configured > 0)
+ options->USE_NEXT_HEADING_FOR_LONE_NODE.configured = configured;
+ }
+ else if (!strcmp (key, "USE_NODES"))
+ {
+ if (configured > 0)
+ options->USE_NODES.configured = configured;
+ }
+ else if (!strcmp (key, "USE_NODE_DIRECTIONS"))
+ {
+ if (configured > 0)
+ options->USE_NODE_DIRECTIONS.configured = configured;
+ }
+ else if (!strcmp (key, "USE_NUMERIC_ENTITY"))
+ {
+ if (configured > 0)
+ options->USE_NUMERIC_ENTITY.configured = configured;
+ }
+ else if (!strcmp (key, "USE_REL_REV"))
+ {
+ if (configured > 0)
+ options->USE_REL_REV.configured = configured;
+ }
+ else if (!strcmp (key, "USE_SETFILENAME_EXTENSION"))
+ {
+ if (configured > 0)
+ options->USE_SETFILENAME_EXTENSION.configured = configured;
+ }
+ else if (!strcmp (key, "USE_TITLEPAGE_FOR_TITLE"))
+ {
+ if (configured > 0)
+ options->USE_TITLEPAGE_FOR_TITLE.configured = configured;
+ }
+ else if (!strcmp (key, "USE_UNIDECODE"))
+ {
+ if (configured > 0)
+ options->USE_UNIDECODE.configured = configured;
+ }
+ else if (!strcmp (key, "USE_XML_SYNTAX"))
+ {
+ if (configured > 0)
+ options->USE_XML_SYNTAX.configured = configured;
+ }
+ else if (!strcmp (key, "VERTICAL_HEAD_NAVIGATION"))
+ {
+ if (configured > 0)
+ options->VERTICAL_HEAD_NAVIGATION.configured = configured;
+ }
+ else if (!strcmp (key, "WORDS_IN_PAGE"))
+ {
+ if (configured > 0)
+ options->WORDS_IN_PAGE.configured = configured;
+ }
+ else if (!strcmp (key, "XREF_USE_FLOAT_LABEL"))
+ {
+ if (configured > 0)
+ options->XREF_USE_FLOAT_LABEL.configured = configured;
+ }
+ else if (!strcmp (key, "XREF_USE_NODE_NAME_ARG"))
+ {
+ if (configured > 0)
+ options->XREF_USE_NODE_NAME_ARG.configured = configured;
+ }
+ else if (!strcmp (key, "XS_EXTERNAL_CONVERSION"))
+ {
+ if (configured > 0)
+ options->XS_EXTERNAL_CONVERSION.configured = configured;
+ }
+ else if (!strcmp (key, "XS_EXTERNAL_FORMATTING"))
+ {
+ if (configured > 0)
+ options->XS_EXTERNAL_FORMATTING.configured = configured;
+ }
+ else if (!strcmp (key, "XS_STRXFRM_COLLATION_LOCALE"))
+ {
+ if (configured > 0)
+ options->XS_STRXFRM_COLLATION_LOCALE.configured = configured;
+ }
+ else if (!strcmp (key, "_INLINE_STYLE_WIDTH"))
+ {
+ if (configured > 0)
+ options->_INLINE_STYLE_WIDTH.configured = configured;
+ }
+
+/* converter_other */
+
+ else if (!strcmp (key, "LINKS_BUTTONS"))
+ {
+ if (configured > 0)
+ options->LINKS_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "TOP_BUTTONS"))
+ {
+ if (configured > 0)
+ options->TOP_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "TOP_FOOTER_BUTTONS"))
+ {
+ if (configured > 0)
+ options->TOP_FOOTER_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "SECTION_BUTTONS"))
+ {
+ if (configured > 0)
+ options->SECTION_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "CHAPTER_FOOTER_BUTTONS"))
+ {
+ if (configured > 0)
+ options->CHAPTER_FOOTER_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "SECTION_FOOTER_BUTTONS"))
+ {
+ if (configured > 0)
+ options->SECTION_FOOTER_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "NODE_FOOTER_BUTTONS"))
+ {
+ if (configured > 0)
+ options->NODE_FOOTER_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "MISC_BUTTONS"))
+ {
+ if (configured > 0)
+ options->MISC_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "CHAPTER_BUTTONS"))
+ {
+ if (configured > 0)
+ options->CHAPTER_BUTTONS.configured = configured;
+ }
+ else if (!strcmp (key, "ACTIVE_ICONS"))
+ {
+ if (configured > 0)
+ options->ACTIVE_ICONS.configured = configured;
+ }
+ else if (!strcmp (key, "PASSIVE_ICONS"))
+ {
+ if (configured > 0)
+ options->PASSIVE_ICONS.configured = configured;
+ }
+
+/* multiple_at_command */
+
+ else if (!strcmp (key, "allowcodebreaks"))
+ {
+ if (configured > 0)
+ options->allowcodebreaks.configured = configured;
+ }
+ else if (!strcmp (key, "clickstyle"))
+ {
+ if (configured > 0)
+ options->clickstyle.configured = configured;
+ }
+ else if (!strcmp (key, "codequotebacktick"))
+ {
+ if (configured > 0)
+ options->codequotebacktick.configured = configured;
+ }
+ else if (!strcmp (key, "codequoteundirected"))
+ {
+ if (configured > 0)
+ options->codequoteundirected.configured = configured;
+ }
+ else if (!strcmp (key, "contents"))
+ {
+ if (configured > 0)
+ options->contents.configured = configured;
+ }
+ else if (!strcmp (key, "deftypefnnewline"))
+ {
+ if (configured > 0)
+ options->deftypefnnewline.configured = configured;
+ }
+ else if (!strcmp (key, "documentencoding"))
+ {
+ if (configured > 0)
+ options->documentencoding.configured = configured;
+ }
+ else if (!strcmp (key, "documentlanguage"))
+ {
+ if (configured > 0)
+ options->documentlanguage.configured = configured;
+ }
+ else if (!strcmp (key, "evenfooting"))
+ {
+ if (configured > 0)
+ options->evenfooting.configured = configured;
+ }
+ else if (!strcmp (key, "evenheading"))
+ {
+ if (configured > 0)
+ options->evenheading.configured = configured;
+ }
+ else if (!strcmp (key, "everyfooting"))
+ {
+ if (configured > 0)
+ options->everyfooting.configured = configured;
+ }
+ else if (!strcmp (key, "everyheading"))
+ {
+ if (configured > 0)
+ options->everyheading.configured = configured;
+ }
+ else if (!strcmp (key, "exampleindent"))
+ {
+ if (configured > 0)
+ options->exampleindent.configured = configured;
+ }
+ else if (!strcmp (key, "firstparagraphindent"))
+ {
+ if (configured > 0)
+ options->firstparagraphindent.configured = configured;
+ }
+ else if (!strcmp (key, "frenchspacing"))
+ {
+ if (configured > 0)
+ options->frenchspacing.configured = configured;
+ }
+ else if (!strcmp (key, "headings"))
+ {
+ if (configured > 0)
+ options->headings.configured = configured;
+ }
+ else if (!strcmp (key, "kbdinputstyle"))
+ {
+ if (configured > 0)
+ options->kbdinputstyle.configured = configured;
+ }
+ else if (!strcmp (key, "microtype"))
+ {
+ if (configured > 0)
+ options->microtype.configured = configured;
+ }
+ else if (!strcmp (key, "oddheading"))
+ {
+ if (configured > 0)
+ options->oddheading.configured = configured;
+ }
+ else if (!strcmp (key, "oddfooting"))
+ {
+ if (configured > 0)
+ options->oddfooting.configured = configured;
+ }
+ else if (!strcmp (key, "paragraphindent"))
+ {
+ if (configured > 0)
+ options->paragraphindent.configured = configured;
+ }
+ else if (!strcmp (key, "shortcontents"))
+ {
+ if (configured > 0)
+ options->shortcontents.configured = configured;
+ }
+ else if (!strcmp (key, "summarycontents"))
+ {
+ if (configured > 0)
+ options->summarycontents.configured = configured;
+ }
+ else if (!strcmp (key, "urefbreakstyle"))
+ {
+ if (configured > 0)
+ options->urefbreakstyle.configured = configured;
+ }
+ else if (!strcmp (key, "xrefautomaticsectiontitle"))
+ {
+ if (configured > 0)
+ options->xrefautomaticsectiontitle.configured = configured;
+ }
+
+/* program_cmdline */
+
+ else if (!strcmp (key, "MACRO_EXPAND"))
+ {
+ if (configured > 0)
+ options->MACRO_EXPAND.configured = configured;
+ }
+ else if (!strcmp (key, "INTERNAL_LINKS"))
+ {
+ if (configured > 0)
+ options->INTERNAL_LINKS.configured = configured;
+ }
+ else if (!strcmp (key, "ERROR_LIMIT"))
+ {
+ if (configured > 0)
+ options->ERROR_LIMIT.configured = configured;
+ }
+ else if (!strcmp (key, "FORCE"))
+ {
+ if (configured > 0)
+ options->FORCE.configured = configured;
+ }
+ else if (!strcmp (key, "NO_WARN"))
+ {
+ if (configured > 0)
+ options->NO_WARN.configured = configured;
+ }
+ else if (!strcmp (key, "SILENT"))
+ {
+ if (configured > 0)
+ options->SILENT.configured = configured;
+ }
+ else if (!strcmp (key, "TRACE_INCLUDES"))
+ {
+ if (configured > 0)
+ options->TRACE_INCLUDES.configured = configured;
+ }
+ else if (!strcmp (key, "FORMAT_MENU"))
+ {
+ if (configured > 0)
+ options->FORMAT_MENU.configured = configured;
+ }
+
+/* program_customization */
+
+ else if (!strcmp (key, "CHECK_NORMAL_MENU_STRUCTURE"))
+ {
+ if (configured > 0)
+ options->CHECK_NORMAL_MENU_STRUCTURE.configured = configured;
+ }
+ else if (!strcmp (key, "CHECK_MISSING_MENU_ENTRY"))
+ {
+ if (configured > 0)
+ options->CHECK_MISSING_MENU_ENTRY.configured = configured;
+ }
+ else if (!strcmp (key, "DUMP_TREE"))
+ {
+ if (configured > 0)
+ options->DUMP_TREE.configured = configured;
+ }
+ else if (!strcmp (key, "DUMP_TEXI"))
+ {
+ if (configured > 0)
+ options->DUMP_TEXI.configured = configured;
+ }
+ else if (!strcmp (key, "SHOW_BUILTIN_CSS_RULES"))
+ {
+ if (configured > 0)
+ options->SHOW_BUILTIN_CSS_RULES.configured = configured;
+ }
+ else if (!strcmp (key, "SORT_ELEMENT_COUNT"))
+ {
+ if (configured > 0)
+ options->SORT_ELEMENT_COUNT.configured = configured;
+ }
+ else if (!strcmp (key, "SORT_ELEMENT_COUNT_WORDS"))
+ {
+ if (configured > 0)
+ options->SORT_ELEMENT_COUNT_WORDS.configured = configured;
+ }
+ else if (!strcmp (key, "TEXI2DVI"))
+ {
+ if (configured > 0)
+ options->TEXI2DVI.configured = configured;
+ }
+ else if (!strcmp (key, "TREE_TRANSFORMATIONS"))
+ {
+ if (configured > 0)
+ options->TREE_TRANSFORMATIONS.configured = configured;
+ }
+
+/* unique_at_command */
+
+ else if (!strcmp (key, "afivepaper"))
+ {
+ if (configured > 0)
+ options->afivepaper.configured = configured;
+ }
+ else if (!strcmp (key, "afourpaper"))
+ {
+ if (configured > 0)
+ options->afourpaper.configured = configured;
+ }
+ else if (!strcmp (key, "afourlatex"))
+ {
+ if (configured > 0)
+ options->afourlatex.configured = configured;
+ }
+ else if (!strcmp (key, "afourwide"))
+ {
+ if (configured > 0)
+ options->afourwide.configured = configured;
+ }
+ else if (!strcmp (key, "bsixpaper"))
+ {
+ if (configured > 0)
+ options->bsixpaper.configured = configured;
+ }
+ else if (!strcmp (key, "documentdescription"))
+ {
+ if (configured > 0)
+ options->documentdescription.configured = configured;
+ }
+ else if (!strcmp (key, "evenfootingmarks"))
+ {
+ if (configured > 0)
+ options->evenfootingmarks.configured = configured;
+ }
+ else if (!strcmp (key, "evenheadingmarks"))
+ {
+ if (configured > 0)
+ options->evenheadingmarks.configured = configured;
+ }
+ else if (!strcmp (key, "everyfootingmarks"))
+ {
+ if (configured > 0)
+ options->everyfootingmarks.configured = configured;
+ }
+ else if (!strcmp (key, "everyheadingmarks"))
+ {
+ if (configured > 0)
+ options->everyheadingmarks.configured = configured;
+ }
+ else if (!strcmp (key, "fonttextsize"))
+ {
+ if (configured > 0)
+ options->fonttextsize.configured = configured;
+ }
+ else if (!strcmp (key, "footnotestyle"))
+ {
+ if (configured > 0)
+ options->footnotestyle.configured = configured;
+ }
+ else if (!strcmp (key, "novalidate"))
+ {
+ if (configured > 0)
+ options->novalidate.configured = configured;
+ }
+ else if (!strcmp (key, "oddfootingmarks"))
+ {
+ if (configured > 0)
+ options->oddfootingmarks.configured = configured;
+ }
+ else if (!strcmp (key, "oddheadingmarks"))
+ {
+ if (configured > 0)
+ options->oddheadingmarks.configured = configured;
+ }
+ else if (!strcmp (key, "pagesizes"))
+ {
+ if (configured > 0)
+ options->pagesizes.configured = configured;
+ }
+ else if (!strcmp (key, "setchapternewpage"))
+ {
+ if (configured > 0)
+ options->setchapternewpage.configured = configured;
+ }
+ else if (!strcmp (key, "setfilename"))
+ {
+ if (configured > 0)
+ options->setfilename.configured = configured;
+ }
+ else if (!strcmp (key, "smallbook"))
+ {
+ if (configured > 0)
+ options->smallbook.configured = configured;
+ }
+}
+
+#include "command_ids.h"
+
+OPTION *
+get_command_option (OPTIONS *options,
+ enum command_id cmd)
+{
+ switch (cmd)
+ {
+ case CM_afivepaper:
+ {
+ return &options->afivepaper;
+ break;
+ }
+ case CM_afourlatex:
+ {
+ return &options->afourlatex;
+ break;
+ }
+ case CM_afourpaper:
+ {
+ return &options->afourpaper;
+ break;
+ }
+ case CM_afourwide:
+ {
+ return &options->afourwide;
+ break;
+ }
+ case CM_allowcodebreaks:
+ {
+ return &options->allowcodebreaks;
+ break;
+ }
+ case CM_bsixpaper:
+ {
+ return &options->bsixpaper;
+ break;
+ }
+ case CM_clickstyle:
+ {
+ return &options->clickstyle;
+ break;
+ }
+ case CM_codequotebacktick:
+ {
+ return &options->codequotebacktick;
+ break;
+ }
+ case CM_codequoteundirected:
+ {
+ return &options->codequoteundirected;
+ break;
+ }
+ case CM_contents:
+ {
+ return &options->contents;
+ break;
+ }
+ case CM_deftypefnnewline:
+ {
+ return &options->deftypefnnewline;
+ break;
+ }
+ case CM_documentdescription:
+ {
+ return &options->documentdescription;
+ break;
+ }
+ case CM_documentencoding:
+ {
+ return &options->documentencoding;
+ break;
+ }
+ case CM_documentlanguage:
+ {
+ return &options->documentlanguage;
+ break;
+ }
+ case CM_evenfooting:
+ {
+ return &options->evenfooting;
+ break;
+ }
+ case CM_evenfootingmarks:
+ {
+ return &options->evenfootingmarks;
+ break;
+ }
+ case CM_evenheading:
+ {
+ return &options->evenheading;
+ break;
+ }
+ case CM_evenheadingmarks:
+ {
+ return &options->evenheadingmarks;
+ break;
+ }
+ case CM_everyfooting:
+ {
+ return &options->everyfooting;
+ break;
+ }
+ case CM_everyfootingmarks:
+ {
+ return &options->everyfootingmarks;
+ break;
+ }
+ case CM_everyheading:
+ {
+ return &options->everyheading;
+ break;
+ }
+ case CM_everyheadingmarks:
+ {
+ return &options->everyheadingmarks;
+ break;
+ }
+ case CM_exampleindent:
+ {
+ return &options->exampleindent;
+ break;
+ }
+ case CM_firstparagraphindent:
+ {
+ return &options->firstparagraphindent;
+ break;
+ }
+ case CM_fonttextsize:
+ {
+ return &options->fonttextsize;
+ break;
+ }
+ case CM_footnotestyle:
+ {
+ return &options->footnotestyle;
+ break;
+ }
+ case CM_frenchspacing:
+ {
+ return &options->frenchspacing;
+ break;
+ }
+ case CM_headings:
+ {
+ return &options->headings;
+ break;
+ }
+ case CM_kbdinputstyle:
+ {
+ return &options->kbdinputstyle;
+ break;
+ }
+ case CM_microtype:
+ {
+ return &options->microtype;
+ break;
+ }
+ case CM_novalidate:
+ {
+ return &options->novalidate;
+ break;
+ }
+ case CM_oddfooting:
+ {
+ return &options->oddfooting;
+ break;
+ }
+ case CM_oddfootingmarks:
+ {
+ return &options->oddfootingmarks;
+ break;
+ }
+ case CM_oddheading:
+ {
+ return &options->oddheading;
+ break;
+ }
+ case CM_oddheadingmarks:
+ {
+ return &options->oddheadingmarks;
+ break;
+ }
+ case CM_pagesizes:
+ {
+ return &options->pagesizes;
+ break;
+ }
+ case CM_paragraphindent:
+ {
+ return &options->paragraphindent;
+ break;
+ }
+ case CM_setchapternewpage:
+ {
+ return &options->setchapternewpage;
+ break;
+ }
+ case CM_setfilename:
+ {
+ return &options->setfilename;
+ break;
+ }
+ case CM_shortcontents:
+ {
+ return &options->shortcontents;
+ break;
+ }
+ case CM_smallbook:
+ {
+ return &options->smallbook;
+ break;
+ }
+ case CM_summarycontents:
+ {
+ return &options->summarycontents;
+ break;
+ }
+ case CM_urefbreakstyle:
+ {
+ return &options->urefbreakstyle;
+ break;
+ }
+ case CM_xrefautomaticsectiontitle:
+ {
+ return &options->xrefautomaticsectiontitle;
+ break;
+ }
+
+ default:
+ return 0;
+ }
+}
+
+void
+html_fill_options_directions (OPTIONS *options, const CONVERTER *converter)
+{
+ if (options->LINKS_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->LINKS_BUTTONS.o.buttons);
+
+ if (options->TOP_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->TOP_BUTTONS.o.buttons);
+
+ if (options->TOP_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->TOP_FOOTER_BUTTONS.o.buttons);
+
+ if (options->SECTION_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->SECTION_BUTTONS.o.buttons);
+
+ if (options->CHAPTER_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->CHAPTER_FOOTER_BUTTONS.o.buttons);
+
+ if (options->SECTION_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->SECTION_FOOTER_BUTTONS.o.buttons);
+
+ if (options->NODE_FOOTER_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->NODE_FOOTER_BUTTONS.o.buttons);
+
+ if (options->MISC_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->MISC_BUTTONS.o.buttons);
+
+ if (options->CHAPTER_BUTTONS.o.buttons)
+ html_fill_button_directions_specification_list (converter,
options->CHAPTER_BUTTONS.o.buttons);
+
+}
+
+COMMAND_OPTION_DEFAULT command_option_default_table[] = {
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* afivepaper (unique_at_command) */
+{GOT_char, -2, 0}, /* afourlatex (unique_at_command) */
+{GOT_char, -2, 0}, /* afourpaper (unique_at_command) */
+{GOT_char, -2, 0}, /* afourwide (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "true"}, /* allowcodebreaks (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* bsixpaper (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "@arrow"}, /* clickstyle (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "off"}, /* codequotebacktick (multiple_at_command) */
+{GOT_char, -2, "off"}, /* codequoteundirected (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_integer, 0, 0}, /* contents (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "off"}, /* deftypefnnewline (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* documentdescription (unique_at_command) */
+{GOT_char, -2, "utf-8"}, /* documentencoding (multiple_at_command) */
+{GOT_char, -2, 0}, /* documentlanguage (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* evenfooting (multiple_at_command) */
+{GOT_char, -2, 0}, /* evenfootingmarks (unique_at_command) */
+{GOT_char, -2, 0}, /* evenheading (multiple_at_command) */
+{GOT_char, -2, 0}, /* evenheadingmarks (unique_at_command) */
+{GOT_char, -2, 0}, /* everyfooting (multiple_at_command) */
+{GOT_char, -2, "bottom"}, /* everyfootingmarks (unique_at_command) */
+{GOT_char, -2, 0}, /* everyheading (multiple_at_command) */
+{GOT_char, -2, "bottom"}, /* everyheadingmarks (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "5"}, /* exampleindent (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "none"}, /* firstparagraphindent (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_integer, 11, 0}, /* fonttextsize (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "end"}, /* footnotestyle (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "off"}, /* frenchspacing (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "on"}, /* headings (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "distinct"}, /* kbdinputstyle (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* microtype (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_integer, 0, 0}, /* novalidate (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* oddfooting (multiple_at_command) */
+{GOT_char, -2, 0}, /* oddfootingmarks (unique_at_command) */
+{GOT_char, -2, 0}, /* oddheading (multiple_at_command) */
+{GOT_char, -2, 0}, /* oddheadingmarks (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* pagesizes (unique_at_command) */
+{GOT_char, -2, "3"}, /* paragraphindent (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "on"}, /* setchapternewpage (unique_at_command) */
+{GOT_char, -2, 0}, /* setfilename (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_integer, 0, 0}, /* shortcontents (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, 0}, /* smallbook (unique_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_integer, 0, 0}, /* summarycontents (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "after"}, /* urefbreakstyle (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_char, -2, "off"}, /* xrefautomaticsectiontitle (multiple_at_command) */
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+{GOT_NONE, -2, 0},
+};
+
diff --git a/tp/Texinfo/XS/main/options_types.h
b/tp/Texinfo/XS/main/options_types.h
new file mode 100644
index 0000000000..f88de67bb0
--- /dev/null
+++ b/tp/Texinfo/XS/main/options_types.h
@@ -0,0 +1,276 @@
+/* Automatically generated from regenerate_C_options_info.pl */
+
+#ifndef OPTIONS_TYPES_H
+#define OPTIONS_TYPES_H
+
+#include "main/option_types.h"
+
+/* Undefine values set from autoconf as we use these as
+ customization variable names. The original values are
+ available with a _CONFIG suffix, e.g. PACKAGE_CONFIG for
+ PACKAGE. */
+#undef PACKAGE
+#undef PACKAGE_NAME
+#undef PACKAGE_URL
+#undef PACKAGE_VERSION
+
+#define TXI_OPTIONS_NR 229
+
+typedef struct OPTIONS {
+ size_t BIT_user_function_number;
+
+/* array_cmdline */
+
+ OPTION CSS_FILES;
+ OPTION CSS_REFS;
+ OPTION EXPANDED_FORMATS;
+ OPTION INCLUDE_DIRECTORIES;
+ OPTION TEXINFO_LANGUAGE_DIRECTORIES;
+
+/* converter_cmdline */
+
+ OPTION SPLIT_SIZE;
+ OPTION FILLCOLUMN;
+ OPTION NUMBER_SECTIONS;
+ OPTION NUMBER_FOOTNOTES;
+ OPTION TRANSLITERATE_FILE_NAMES;
+ OPTION SPLIT;
+ OPTION HEADERS;
+ OPTION NODE_FILES;
+ OPTION VERBOSE;
+ OPTION OUTFILE;
+ OPTION SUBDIR;
+ OPTION ENABLE_ENCODING;
+
+/* converter_customization */
+
+ OPTION TOP_NODE_UP;
+ OPTION BASEFILENAME_LENGTH;
+ OPTION DOC_ENCODING_FOR_INPUT_FILE_NAME;
+ OPTION DOC_ENCODING_FOR_OUTPUT_FILE_NAME;
+ OPTION IMAGE_LINK_PREFIX;
+ OPTION CASE_INSENSITIVE_FILENAMES;
+ OPTION DEBUG;
+ OPTION HANDLER_FATAL_ERROR_LEVEL;
+ OPTION TEST;
+ OPTION TEXTCONTENT_COMMENT;
+ OPTION TEXINFO_DTD_VERSION;
+ OPTION USE_UNICODE_COLLATION;
+ OPTION AFTER_BODY_OPEN;
+ OPTION AFTER_SHORT_TOC_LINES;
+ OPTION AFTER_TOC_LINES;
+ OPTION ASCII_DASHES_AND_QUOTES;
+ OPTION ASCII_GLYPH;
+ OPTION ASCII_PUNCTUATION;
+ OPTION AUTO_MENU_DESCRIPTION_ALIGN_COLUMN;
+ OPTION AUTO_MENU_MAX_WIDTH;
+ OPTION BEFORE_SHORT_TOC_LINES;
+ OPTION BEFORE_TOC_LINES;
+ OPTION BIG_RULE;
+ OPTION BODY_ELEMENT_ATTRIBUTES;
+ OPTION CLASS_BEGIN_USEPACKAGE;
+ OPTION COPIABLE_LINKS;
+ OPTION CHAPTER_HEADER_LEVEL;
+ OPTION CHECK_HTMLXREF;
+ OPTION CLOSE_DOUBLE_QUOTE_SYMBOL;
+ OPTION CLOSE_QUOTE_SYMBOL;
+ OPTION COLLATION_LANGUAGE;
+ OPTION COMMAND_LINE_ENCODING;
+ OPTION INDENTED_BLOCK_COMMANDS_IN_TABLE;
+ OPTION CONTENTS_OUTPUT_LOCATION;
+ OPTION CONVERT_TO_LATEX_IN_MATH;
+ OPTION DATE_IN_HEADER;
+ OPTION DEFAULT_RULE;
+ OPTION DEF_TABLE;
+ OPTION DO_ABOUT;
+ OPTION DOCTYPE;
+ OPTION DOCUMENTLANGUAGE_COLLATION;
+ OPTION END_USEPACKAGE;
+ OPTION EPUB_CREATE_CONTAINER_FILE;
+ OPTION EPUB_KEEP_CONTAINER_FOLDER;
+ OPTION EXTENSION;
+ OPTION EXTERNAL_CROSSREF_EXTENSION;
+ OPTION EXTERNAL_CROSSREF_SPLIT;
+ OPTION EXTERNAL_DIR;
+ OPTION EXTRA_HEAD;
+ OPTION FOOTNOTE_END_HEADER_LEVEL;
+ OPTION FOOTNOTE_SEPARATE_HEADER_LEVEL;
+ OPTION HEADER_IN_TABLE;
+ OPTION HIGHLIGHT_SYNTAX;
+ OPTION HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE;
+ OPTION HTML_MATH;
+ OPTION HTML_ROOT_ELEMENT_ATTRIBUTES;
+ OPTION HTMLXREF_FILE;
+ OPTION HTMLXREF_MODE;
+ OPTION ICONS;
+ OPTION INDEX_ENTRY_COLON;
+ OPTION INDEX_SPECIAL_CHARS_WARNING;
+ OPTION INFO_JS_DIR;
+ OPTION INFO_SPECIAL_CHARS_QUOTE;
+ OPTION INFO_SPECIAL_CHARS_WARNING;
+ OPTION IGNORE_REF_TO_TOP_NODE_UP;
+ OPTION INLINE_CSS_STYLE;
+ OPTION INPUT_FILE_NAME_ENCODING;
+ OPTION JS_WEBLABELS;
+ OPTION JS_WEBLABELS_FILE;
+ OPTION LATEX_FLOATS_FILE_EXTENSION;
+ OPTION LOCALE_ENCODING;
+ OPTION L2H_CLEAN;
+ OPTION L2H_FILE;
+ OPTION L2H_HTML_VERSION;
+ OPTION L2H_L2H;
+ OPTION L2H_SKIP;
+ OPTION L2H_TMP;
+ OPTION MATHJAX_CONFIGURATION;
+ OPTION MATHJAX_SCRIPT;
+ OPTION MATHJAX_SOURCE;
+ OPTION MAX_HEADER_LEVEL;
+ OPTION MENU_ENTRY_COLON;
+ OPTION MENU_SYMBOL;
+ OPTION MESSAGE_ENCODING;
+ OPTION MONOLITHIC;
+ OPTION NO_CSS;
+ OPTION NO_NUMBER_FOOTNOTE_SYMBOL;
+ OPTION NO_CUSTOM_HTML_ATTRIBUTE;
+ OPTION NODE_NAME_IN_INDEX;
+ OPTION NODE_NAME_IN_MENU;
+ OPTION NO_TOP_NODE_OUTPUT;
+ OPTION OPEN_DOUBLE_QUOTE_SYMBOL;
+ OPTION OPEN_QUOTE_SYMBOL;
+ OPTION OUTPUT_CHARACTERS;
+ OPTION OUTPUT_ENCODING_NAME;
+ OPTION OUTPUT_FILE_NAME_ENCODING;
+ OPTION OUTPUT_PERL_ENCODING;
+ OPTION PACKAGE;
+ OPTION PACKAGE_AND_VERSION;
+ OPTION PACKAGE_NAME;
+ OPTION PACKAGE_URL;
+ OPTION PACKAGE_VERSION;
+ OPTION PRE_BODY_CLOSE;
+ OPTION PREFIX;
+ OPTION PROGRAM;
+ OPTION PROGRAM_NAME_IN_ABOUT;
+ OPTION PROGRAM_NAME_IN_FOOTER;
+ OPTION SECTION_NAME_IN_TITLE;
+ OPTION SHORT_TOC_LINK_TO_TOC;
+ OPTION SHOW_TITLE;
+ OPTION T4H_LATEX_CONVERSION;
+ OPTION T4H_MATH_CONVERSION;
+ OPTION T4H_TEX_CONVERSION;
+ OPTION TEXI2HTML;
+ OPTION TEXINFO_OUTPUT_FORMAT;
+ OPTION TXI_MARKUP_NO_SECTION_EXTENT;
+ OPTION TOC_LINKS;
+ OPTION TOP_FILE;
+ OPTION TOP_NODE_FILE_TARGET;
+ OPTION TOP_NODE_UP_URL;
+ OPTION USE_ACCESSKEY;
+ OPTION USE_ISO;
+ OPTION USE_LINKS;
+ OPTION USE_NEXT_HEADING_FOR_LONE_NODE;
+ OPTION USE_NODES;
+ OPTION USE_NODE_DIRECTIONS;
+ OPTION USE_NUMERIC_ENTITY;
+ OPTION USE_REL_REV;
+ OPTION USE_SETFILENAME_EXTENSION;
+ OPTION USE_TITLEPAGE_FOR_TITLE;
+ OPTION USE_UNIDECODE;
+ OPTION USE_XML_SYNTAX;
+ OPTION VERTICAL_HEAD_NAVIGATION;
+ OPTION WORDS_IN_PAGE;
+ OPTION XREF_USE_FLOAT_LABEL;
+ OPTION XREF_USE_NODE_NAME_ARG;
+ OPTION XS_EXTERNAL_CONVERSION;
+ OPTION XS_EXTERNAL_FORMATTING;
+ OPTION XS_STRXFRM_COLLATION_LOCALE;
+ OPTION _INLINE_STYLE_WIDTH;
+
+/* converter_other */
+
+ OPTION LINKS_BUTTONS;
+ OPTION TOP_BUTTONS;
+ OPTION TOP_FOOTER_BUTTONS;
+ OPTION SECTION_BUTTONS;
+ OPTION CHAPTER_FOOTER_BUTTONS;
+ OPTION SECTION_FOOTER_BUTTONS;
+ OPTION NODE_FOOTER_BUTTONS;
+ OPTION MISC_BUTTONS;
+ OPTION CHAPTER_BUTTONS;
+ OPTION ACTIVE_ICONS;
+ OPTION PASSIVE_ICONS;
+
+/* multiple_at_command */
+
+ OPTION allowcodebreaks;
+ OPTION clickstyle;
+ OPTION codequotebacktick;
+ OPTION codequoteundirected;
+ OPTION contents;
+ OPTION deftypefnnewline;
+ OPTION documentencoding;
+ OPTION documentlanguage;
+ OPTION evenfooting;
+ OPTION evenheading;
+ OPTION everyfooting;
+ OPTION everyheading;
+ OPTION exampleindent;
+ OPTION firstparagraphindent;
+ OPTION frenchspacing;
+ OPTION headings;
+ OPTION kbdinputstyle;
+ OPTION microtype;
+ OPTION oddheading;
+ OPTION oddfooting;
+ OPTION paragraphindent;
+ OPTION shortcontents;
+ OPTION summarycontents;
+ OPTION urefbreakstyle;
+ OPTION xrefautomaticsectiontitle;
+
+/* program_cmdline */
+
+ OPTION MACRO_EXPAND;
+ OPTION INTERNAL_LINKS;
+ OPTION ERROR_LIMIT;
+ OPTION FORCE;
+ OPTION NO_WARN;
+ OPTION SILENT;
+ OPTION TRACE_INCLUDES;
+ OPTION FORMAT_MENU;
+
+/* program_customization */
+
+ OPTION CHECK_NORMAL_MENU_STRUCTURE;
+ OPTION CHECK_MISSING_MENU_ENTRY;
+ OPTION DUMP_TREE;
+ OPTION DUMP_TEXI;
+ OPTION SHOW_BUILTIN_CSS_RULES;
+ OPTION SORT_ELEMENT_COUNT;
+ OPTION SORT_ELEMENT_COUNT_WORDS;
+ OPTION TEXI2DVI;
+ OPTION TREE_TRANSFORMATIONS;
+
+/* unique_at_command */
+
+ OPTION afivepaper;
+ OPTION afourpaper;
+ OPTION afourlatex;
+ OPTION afourwide;
+ OPTION bsixpaper;
+ OPTION documentdescription;
+ OPTION evenfootingmarks;
+ OPTION evenheadingmarks;
+ OPTION everyfootingmarks;
+ OPTION everyheadingmarks;
+ OPTION fonttextsize;
+ OPTION footnotestyle;
+ OPTION novalidate;
+ OPTION oddfootingmarks;
+ OPTION oddheadingmarks;
+ OPTION pagesizes;
+ OPTION setchapternewpage;
+ OPTION setfilename;
+ OPTION smallbook;
+} OPTIONS;
+
+#endif