texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Sat, 19 Oct 2024 10:05:39 -0400 (EDT)

branch: master
commit 9fa0b189b811c2e27906841c6dc1805c9232a8ab
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Oct 19 16:05:31 2024 +0200

    * tp/Texinfo/XS/main/utils.c (messages_and_encodings_setup): rename
    txi_base_setup as messages_and_encodings_setup.
    
    * tp/Texinfo/XS/convert/texinfo.c (txi_general_setup): rename
    txi_setup as txi_general_setup and add a call to
    messages_and_encodings_setup.
    
    * tp/Texinfo/XS/convert/texinfo.c (txi_converter_output_format_setup):
    add a function to dispatch output format global data setup.
    
    * tp/Texinfo/XS/teximakehtml.c (main): update.
---
 ChangeLog                            | 14 ++++++++++++++
 tp/Texinfo/XS/convert/texinfo.c      | 23 ++++++++++++++++++-----
 tp/Texinfo/XS/convert/texinfo.h      |  7 +++----
 tp/Texinfo/XS/main/utils.c           |  2 +-
 tp/Texinfo/XS/main/utils.h           |  2 +-
 tp/Texinfo/XS/parsetexi/Parsetexi.xs |  4 ++--
 tp/Texinfo/XS/teximakehtml.c         | 10 +++-------
 7 files changed, 42 insertions(+), 20 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index daeb74e723..c18e57bd0a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2024-10-19  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/main/utils.c (messages_and_encodings_setup): rename
+       txi_base_setup as messages_and_encodings_setup.
+
+       * tp/Texinfo/XS/convert/texinfo.c (txi_general_setup): rename
+       txi_setup as txi_general_setup and add a call to
+       messages_and_encodings_setup.
+
+       * tp/Texinfo/XS/convert/texinfo.c (txi_converter_output_format_setup):
+       add a function to dispatch output format global data setup.
+
+       * tp/Texinfo/XS/teximakehtml.c (main): update.
+
 2024-10-19  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/convert/texinfo.c (txi_document_remove)
diff --git a/tp/Texinfo/XS/convert/texinfo.c b/tp/Texinfo/XS/convert/texinfo.c
index 3b244425bf..b29991ceea 100644
--- a/tp/Texinfo/XS/convert/texinfo.c
+++ b/tp/Texinfo/XS/convert/texinfo.c
@@ -14,8 +14,8 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 
 /* Interface similar to the Perl modules interface for Texinfo parsing,
-   and higher-level interface for document structure and transformations
-   and conversion */
+   higher-level interface for document structure and transformations,
+   and interface similar to the Perl modules interface for conversion */
 
 /* not used in code called from texi2any/Perl, meant to be used exclusively
    from C code */
@@ -33,7 +33,7 @@
 #include "api.h"
 #include "conf.h"
 #include "errors.h"
-/* parse_file_path */
+/* parse_file_path messages_and_encodings_setup */
 #include "utils.h"
 #include "customization_options.h"
 #include "document.h"
@@ -44,12 +44,14 @@
 #include "html_converter_api.h"
 #include "texinfo.h"
 
-/* initialization of the library. */
+/* initialization of the library for parsing and conversion. */
 void
-txi_setup (const char *localesdir, int texinfo_uninstalled,
+txi_general_setup (const char *localesdir, int texinfo_uninstalled,
                  const char *tp_builddir,
                  const char *converterdatadir, const char *top_srcdir)
 {
+  messages_and_encodings_setup ();
+
   if (localesdir)
     configure_output_strings_translations (localesdir, 0, -1);
 
@@ -57,6 +59,17 @@ txi_setup (const char *localesdir, int texinfo_uninstalled,
                    converterdatadir, top_srcdir);
 }
 
+/* to be called once (per output format) */
+void
+txi_converter_output_format_setup (const char *format_str)
+{
+  enum converter_format converter_format
+    = find_format_name_converter_format (format_str);
+
+  if (converter_format == COF_html)
+    html_format_setup ();
+}
+
 /* parser initialization, similar to Texinfo::Parser::parser in Perl.
    Also sets INCLUDE_DIRECTORIES minimally if not specified in options.
    The implementation is similar to parsetexi/Parsetexi.pm on purpose. */
diff --git a/tp/Texinfo/XS/convert/texinfo.h b/tp/Texinfo/XS/convert/texinfo.h
index 7bb0049ac3..cd82d439b9 100644
--- a/tp/Texinfo/XS/convert/texinfo.h
+++ b/tp/Texinfo/XS/convert/texinfo.h
@@ -22,14 +22,13 @@
    and regenerate_master_menu */
 #define STTF_complete_menus_use_sections            0x0400
 
-/* in api.c */
-size_t parse_file (const char *input_file_path, int *status);
-
 /* locales dir for output strings translations */
-void txi_setup (const char *localesdir, int texinfo_uninstalled,
+void txi_general_setup (const char *localesdir, int texinfo_uninstalled,
                 const char *tp_builddir,
                 const char *converterdatadir, const char *top_srcdir);
 
+void txi_converter_output_format_setup (const char *format_str);
+
 void txi_parser (const char *file_path, const char *locale_encoding,
                 const char **expanded_formats, const VALUE_LIST *values,
                 OPTIONS_LIST *options);
diff --git a/tp/Texinfo/XS/main/utils.c b/tp/Texinfo/XS/main/utils.c
index 7100c9d63e..9684259f3b 100644
--- a/tp/Texinfo/XS/main/utils.c
+++ b/tp/Texinfo/XS/main/utils.c
@@ -290,7 +290,7 @@ isascii_upper (int c)
 /* Setup global information that is not specific of Texinfo.
    Should be called once and early */
 void
-txi_base_setup (void)
+messages_and_encodings_setup (void)
 {
 #ifdef ENABLE_NLS
 
diff --git a/tp/Texinfo/XS/main/utils.h b/tp/Texinfo/XS/main/utils.h
index fea13a05d6..f42b882130 100644
--- a/tp/Texinfo/XS/main/utils.h
+++ b/tp/Texinfo/XS/main/utils.h
@@ -130,7 +130,7 @@ char *to_upper_or_lower_multibyte (const char *text, int 
lower_or_upper);
 int width_multibyte (const char *text);
 int word_bytes_len_multibyte (const char *text);
 
-void txi_base_setup (void);
+void messages_and_encodings_setup (void);
 
 void wipe_values (VALUE_LIST *values);
 
diff --git a/tp/Texinfo/XS/parsetexi/Parsetexi.xs 
b/tp/Texinfo/XS/parsetexi/Parsetexi.xs
index c4364fdc79..67f624768a 100644
--- a/tp/Texinfo/XS/parsetexi/Parsetexi.xs
+++ b/tp/Texinfo/XS/parsetexi/Parsetexi.xs
@@ -34,7 +34,7 @@
 
 #include "api.h"
 #include "conf.h"
-/* for txi_base_setup */
+/* for messages_and_encodings_setup */
 #include "utils.h"
 #include "parser_conf.h"
 #include "build_perl_info.h"
@@ -61,7 +61,7 @@ PROTOTYPES: ENABLE
 int
 init (int texinfo_uninstalled, SV *converterdatadir, SV *tp_builddir, SV 
*top_srcdir)
     CODE:
-      txi_base_setup ();
+      messages_and_encodings_setup ();
       RETVAL = 1;
     OUTPUT:
       RETVAL
diff --git a/tp/Texinfo/XS/teximakehtml.c b/tp/Texinfo/XS/teximakehtml.c
index cd00fcdac0..583958250b 100644
--- a/tp/Texinfo/XS/teximakehtml.c
+++ b/tp/Texinfo/XS/teximakehtml.c
@@ -31,15 +31,13 @@
 
 #include "document_types.h"
 #include "converter_types.h"
-/* parse_file_path txi_base_setup */
+/* parse_file_path */
 #include "utils.h"
 #include "customization_options.h"
 /*
 #include "convert_to_texinfo.h"
  */
 #include "create_buttons.h"
-/* for html_format_setup */
-#include "html_converter_api.h"
 #include "texinfo.h"
 
 #define LOCALEDIR DATADIR "/locale"
@@ -131,8 +129,6 @@ main (int argc, char *argv[])
   program_file = program_file_name_and_directory[0];
   input_directory = program_file_name_and_directory[1];
 
-  txi_base_setup ();
-
   locale_encoding = nl_langinfo (CODESET);
 
   while (1)
@@ -188,7 +184,7 @@ main (int argc, char *argv[])
     add_string (DATADIR "/texinfo", &texinfo_language_config_dirs);
 
 
-  txi_setup (LOCALEDIR, 0, 0, 0, 0);
+  txi_general_setup (LOCALEDIR, 0, 0, 0, 0);
 
 /*
  if ($^O eq 'MSWin32') {
@@ -254,7 +250,7 @@ main (int argc, char *argv[])
     = txi_handle_document_error_messages (document, 0, 1, locale_encoding);
   errors_count += errors_nr;
 
-  html_format_setup ();
+  txi_converter_output_format_setup ("html");
 
   /* conversion initialization */
   initialize_options_list (&convert_options, 2);



reply via email to

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