[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: * tp/Texinfo/XS/main/document.c (txi_setup_lib_da
From: |
Patrice Dumas |
Subject: |
branch master updated: * tp/Texinfo/XS/main/document.c (txi_setup_lib_data), tp/Texinfo/XS/convert/converter.c (converter_setup): add txi_setup_lib_data in document.c for library main initialization. Call set_element_type_name_info in txi_setup_lib_data, and call txi_setup_lib_data in converter_setup. |
Date: |
Fri, 04 Oct 2024 20:09:20 -0400 |
This is an automated email from the git hooks/post-receive script.
pertusus pushed a commit to branch master
in repository texinfo.
The following commit(s) were added to refs/heads/master by this push:
new 11d775d097 * tp/Texinfo/XS/main/document.c (txi_setup_lib_data),
tp/Texinfo/XS/convert/converter.c (converter_setup): add txi_setup_lib_data in
document.c for library main initialization. Call set_element_type_name_info in
txi_setup_lib_data, and call txi_setup_lib_data in converter_setup.
11d775d097 is described below
commit 11d775d097fe1e57ccfbbbbd13714657cbc9c368
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Aug 18 12:40:57 2024 +0200
* tp/Texinfo/XS/main/document.c (txi_setup_lib_data),
tp/Texinfo/XS/convert/converter.c (converter_setup): add
txi_setup_lib_data in document.c for library main initialization.
Call set_element_type_name_info in txi_setup_lib_data, and call
txi_setup_lib_data in converter_setup.
Minor other changes.
---
ChangeLog | 10 ++++++++++
tp/Texinfo/XS/convert/converter.c | 4 ++--
tp/Texinfo/XS/main/document.c | 16 ++++++++++++++++
tp/Texinfo/XS/main/document.h | 4 ++++
tp/Texinfo/XS/main/unicode.c | 19 ++++++++++++-------
tp/maintain/setup_accent_tables.pl | 1 +
6 files changed, 45 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2a956ad456..94fc0fd388 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2024-08-18 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/XS/main/document.c (txi_setup_lib_data),
+ tp/Texinfo/XS/convert/converter.c (converter_setup): add
+ txi_setup_lib_data in document.c for library main initialization.
+ Call set_element_type_name_info in txi_setup_lib_data, and call
+ txi_setup_lib_data in converter_setup.
+
+ Minor other changes.
+
2024-08-18 Patrice Dumas <pertusus@free.fr>
* tp/maintain/regenerate_C_options_info.pl: rename functions setting
diff --git a/tp/Texinfo/XS/convert/converter.c
b/tp/Texinfo/XS/convert/converter.c
index ec9499563d..88def05b65 100644
--- a/tp/Texinfo/XS/convert/converter.c
+++ b/tp/Texinfo/XS/convert/converter.c
@@ -150,6 +150,8 @@ converter_setup (int texinfo_uninstalled, const char
*tp_builddir,
setup_converter_paths_information (texinfo_uninstalled,
pkgdatadir, tp_builddir, top_srcdir);
+ txi_setup_lib_data ();
+
for (i = 0; i < BUILTIN_CMD_NUMBER; i++)
{
if (xml_text_entity_no_arg_commands[i])
@@ -162,8 +164,6 @@ converter_setup (int texinfo_uninstalled, const char
*tp_builddir,
= text_brace_no_arg_commands[i];
}
- set_element_type_name_info ();
-
/* For translation of in document string. */
if (0)
{
diff --git a/tp/Texinfo/XS/main/document.c b/tp/Texinfo/XS/main/document.c
index 39d735a3c6..72bb917fae 100644
--- a/tp/Texinfo/XS/main/document.c
+++ b/tp/Texinfo/XS/main/document.c
@@ -30,6 +30,9 @@
/* for delete_global_info and wipe_index */
#include "utils.h"
#include "customization_options.h"
+/* for library initialization, not for document code.
+ set_element_type_name_info */
+#include "builtin_commands.h"
#include "floats.h"
#include "manipulate_indices.h"
#include "convert_to_text.h"
@@ -41,6 +44,19 @@ static DOCUMENT **document_list;
static size_t document_number;
static size_t document_space;
+
+/* Call code only called once needed for the library data initialization.
+ This function is not related to the Texinfo document, but needs to be
+ in a code file that can include all the headers needed for the
+ initialization, and is included in all the codes that need to initialize
+ the library, so the current file was chosen.
+ */
+void
+txi_setup_lib_data (void)
+{
+ set_element_type_name_info ();
+}
+
DOCUMENT *
retrieve_document (size_t document_descriptor)
{
diff --git a/tp/Texinfo/XS/main/document.h b/tp/Texinfo/XS/main/document.h
index e991b7e5b6..75735bec71 100644
--- a/tp/Texinfo/XS/main/document.h
+++ b/tp/Texinfo/XS/main/document.h
@@ -5,12 +5,16 @@
#include <stddef.h>
#include "tree_types.h"
+#include "option_types.h"
#include "options_types.h"
#include "document_types.h"
/* avoid an interdependency with convert_to_text.h */
struct TEXT_OPTIONS;
+/* library data initialization */
+void txi_setup_lib_data (void);
+
DOCUMENT *retrieve_document (size_t document_descriptor);
DOCUMENT *new_document (void);
diff --git a/tp/Texinfo/XS/main/unicode.c b/tp/Texinfo/XS/main/unicode.c
index 2ef09e842c..59778b7c5c 100644
--- a/tp/Texinfo/XS/main/unicode.c
+++ b/tp/Texinfo/XS/main/unicode.c
@@ -16,24 +16,29 @@
/* In sync with Texinfo::Convert::Unicode */
#include <config.h>
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
+#include <stddef.h>
#include <stdbool.h>
#include "unictype.h"
#include "uninorm.h"
#include "unistr.h"
-#include "tree_types.h"
#include "text.h"
+#include "command_ids.h"
+#include "tree_types.h"
+#include "converter_types.h"
#include "errors.h"
/* for element_builtin_cmd */
#include "builtin_commands.h"
-/* for xasprintf */
+/* for fatal xasprintf to_upper_or_lower_multibyte normalize_encoding_name */
#include "utils.h"
#include "unicode.h"
+/* define unicode_diacritics and unicode_character_brace_no_arg_commands */
#include "cmd_unicode.c"
#include "accent_tables_8bit_codepoints.c"
@@ -228,7 +233,7 @@ format_eight_bit_accents_stack (CONVERTER *self, const char
*text,
At this point we have the unicode character results for the accent
commands stack, with all the intermediate results.
For each one we'll check if it is possible to encode it in the
- current eight bit output encoding table and, if so set the result
+ current eight bit output encoding table and, if so, set the result
to the character.
*/
@@ -273,7 +278,7 @@ format_eight_bit_accents_stack (CONVERTER *self, const char
*text,
# -> there are 2 characters in accent. This could happen, for example
# if an accent that cannot be rendered is found and it leads to
# appending or prepending a character. For example this happens for
- # @={@,{@~{n}}}, where @,{@~{n}} is expanded to a 2 character:
+ # @={@,{@~{n}}}, where @,{@~{n}} is expanded to 2 characters:
# n with a tilde, followed by a ,
# In that case, the additional diacritic is appended, which
# means that it is composed with the , and leaves n with a tilde
@@ -460,12 +465,12 @@ int unicode_point_decoded_in_encoding (const char
*encoding,
}
}
free (normalized_encoding);
+ /* unknown encoding or not represented in encoding */
+ return 0;
}
else
- /* if encoding is undef, consider that it is the default, utf-8 */
+ /* if encoding is not set, consider that it is the default, utf-8 */
return -1;
-
- return 0;
}
const char *
diff --git a/tp/maintain/setup_accent_tables.pl
b/tp/maintain/setup_accent_tables.pl
index b23578a480..e4d67e08d6 100755
--- a/tp/maintain/setup_accent_tables.pl
+++ b/tp/maintain/setup_accent_tables.pl
@@ -61,6 +61,7 @@ open (UEB, '>', $unicode_to_eight_bit_file_name)
print UEB "/* Automatically generated from $program_name */\n\n";
+print UEB "/* NOTE encodings codepoints are sorted as strings */\n";
print UEB "const struct ENCODING_CODEPOINTS unicode_to_eight_bit[] = {\n";
my %unicode_to_eight_bit = %Texinfo::Convert::Unicode::unicode_to_eight_bit;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: * tp/Texinfo/XS/main/document.c (txi_setup_lib_data), tp/Texinfo/XS/convert/converter.c (converter_setup): add txi_setup_lib_data in document.c for library main initialization. Call set_element_type_name_info in txi_setup_lib_data, and call txi_setup_lib_data in converter_setup.,
Patrice Dumas <=