texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Config.pm (%XS_overrides), tp/Texinf


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/Config.pm (%XS_overrides), tp/Texinfo/XS/main/ConfigXS.xs (texinfo_set_format_from_init_file), tp/Texinfo/XS/main/txi_config.c (texinfo_set_format_from_init_file, GNUT_get_format_from_init_file), tp/Texinfo/XS/texi2any.c (main): add Texinfo::Config format_from_init_file XS interface.
Date: Wed, 25 Dec 2024 06:00:53 -0500

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 f5fb050b84 * tp/Texinfo/Config.pm (%XS_overrides), 
tp/Texinfo/XS/main/ConfigXS.xs (texinfo_set_format_from_init_file), 
tp/Texinfo/XS/main/txi_config.c (texinfo_set_format_from_init_file, 
GNUT_get_format_from_init_file), tp/Texinfo/XS/texi2any.c (main): add 
Texinfo::Config format_from_init_file XS interface.
f5fb050b84 is described below

commit f5fb050b842c0772957b0edcb4d3ba2e48506233
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Dec 25 12:00:53 2024 +0100

    * tp/Texinfo/Config.pm (%XS_overrides), tp/Texinfo/XS/main/ConfigXS.xs
    (texinfo_set_format_from_init_file), tp/Texinfo/XS/main/txi_config.c
    (texinfo_set_format_from_init_file, GNUT_get_format_from_init_file),
    tp/Texinfo/XS/texi2any.c (main): add Texinfo::Config
    format_from_init_file XS interface.
    
    * tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append): set
    an empty string if call_latex_convert_to_latex_math returns NULL.
---
 ChangeLog                            | 11 +++++++++++
 tp/Texinfo/Config.pm                 |  4 +++-
 tp/Texinfo/XS/convert/convert_html.c |  5 +++++
 tp/Texinfo/XS/main/ConfigXS.xs       |  4 ++++
 tp/Texinfo/XS/main/txi_config.c      | 17 +++++++++++++++++
 tp/Texinfo/XS/main/txi_config.h      |  3 +++
 tp/Texinfo/XS/texi2any.c             |  8 ++++++++
 7 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index d76f9c061d..495be5bc79 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2024-12-25  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/Config.pm (%XS_overrides), tp/Texinfo/XS/main/ConfigXS.xs
+       (texinfo_set_format_from_init_file), tp/Texinfo/XS/main/txi_config.c
+       (texinfo_set_format_from_init_file, GNUT_get_format_from_init_file),
+       tp/Texinfo/XS/texi2any.c (main): add Texinfo::Config
+       format_from_init_file XS interface.
+
+       * tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append): set
+       an empty string if call_latex_convert_to_latex_math returns NULL.
+
 2024-12-25  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/main/customization_options.c
diff --git a/tp/Texinfo/Config.pm b/tp/Texinfo/Config.pm
index da301f96a9..1b1904c303 100644
--- a/tp/Texinfo/Config.pm
+++ b/tp/Texinfo/Config.pm
@@ -56,7 +56,9 @@ our %XS_overrides = (
   "Texinfo::Config::texinfo_remove_from_option_list"
     => "Texinfo::ConfigXS::texinfo_remove_from_option_list",
   "Texinfo::Config::texinfo_set_from_init_file"
-    => "Texinfo::ConfigXS::texinfo_set_from_init_file"
+    => "Texinfo::ConfigXS::texinfo_set_from_init_file",
+  "Texinfo::Config::texinfo_set_format_from_init_file"
+    => "Texinfo::ConfigXS::texinfo_set_format_from_init_file",
 );
 
 our $module_loaded = 0;
diff --git a/tp/Texinfo/XS/convert/convert_html.c 
b/tp/Texinfo/XS/convert/convert_html.c
index 570ed76179..14d65b8c78 100644
--- a/tp/Texinfo/XS/convert/convert_html.c
+++ b/tp/Texinfo/XS/convert/convert_html.c
@@ -1403,6 +1403,11 @@ html_convert_tree_append (CONVERTER *self, const ELEMENT 
*element,
                               text_append (&formatted_arg, latex_content);
                               free (latex_content);
                             }
+                          else /* most probably only happens if
+                                  call_latex_convert_to_latex_math fails
+                                  in some way, otherwise an empty string
+                                  should be returned */
+                            text_append (&formatted_arg, "");
                         }
                       else
                         {
diff --git a/tp/Texinfo/XS/main/ConfigXS.xs b/tp/Texinfo/XS/main/ConfigXS.xs
index 640f99dd30..ea5dbfe817 100644
--- a/tp/Texinfo/XS/main/ConfigXS.xs
+++ b/tp/Texinfo/XS/main/ConfigXS.xs
@@ -159,3 +159,7 @@ texinfo_remove_from_option_list (option_name, SV *values)
     OUTPUT:
         RETVAL
 
+void
+texinfo_set_format_from_init_file (format_name)
+        const char *format_name = (char *)SvPVbyte_nolen($arg);
+
diff --git a/tp/Texinfo/XS/main/txi_config.c b/tp/Texinfo/XS/main/txi_config.c
index 7c454523bc..7dcb60c7cb 100644
--- a/tp/Texinfo/XS/main/txi_config.c
+++ b/tp/Texinfo/XS/main/txi_config.c
@@ -356,3 +356,20 @@ txi_config_remove_from_option_list (OPTION *option, const 
char *value)
   return 1;
 }
 
+static char *init_file_format;
+
+void
+texinfo_set_format_from_init_file (const char *init_file_format_in)
+{
+  free (init_file_format);
+  init_file_format = strdup (init_file_format_in);
+}
+
+char *
+GNUT_get_format_from_init_file (void)
+{
+  if (init_file_format)
+    return strdup (init_file_format);
+  else
+    return 0;
+}
diff --git a/tp/Texinfo/XS/main/txi_config.h b/tp/Texinfo/XS/main/txi_config.h
index 7236f64deb..c42aaff636 100644
--- a/tp/Texinfo/XS/main/txi_config.h
+++ b/tp/Texinfo/XS/main/txi_config.h
@@ -49,4 +49,7 @@ int txi_config_add_to_option_list (OPTION *option, const char 
*value,
 int txi_config_remove_from_option_list (OPTION *option, const char *value);
 
 void txi_config_document_warn (const char *format, ...);
+
+void texinfo_set_format_from_init_file (const char *init_file_format_in);
+char *GNUT_get_format_from_init_file (void);
 #endif
diff --git a/tp/Texinfo/XS/texi2any.c b/tp/Texinfo/XS/texi2any.c
index 10da9e82b1..7ed408d0d5 100644
--- a/tp/Texinfo/XS/texi2any.c
+++ b/tp/Texinfo/XS/texi2any.c
@@ -840,6 +840,7 @@ main (int argc, char *argv[], char *env[])
   CONVERTER_INITIALIZATION_INFO *converter_init_info;
   const char *external_module = 0;
   int default_is_html = 1;
+  char *init_file_format;
 
   parse_file_path (argv[0], program_file_name_and_directory);
   program_file = program_file_name_and_directory[0];
@@ -1692,6 +1693,13 @@ main (int argc, char *argv[], char *env[])
       add_option_value (&program_options, "PROGRAM", 0, "texi2any");
     }
 
+  init_file_format = GNUT_get_format_from_init_file ();
+  if (init_file_format)
+    {
+      set_format (init_file_format);
+      free (init_file_format);
+    }
+
   texinfo_output_format_env = getenv ("TEXINFO_OUTPUT_FORMAT");
   if (texinfo_output_format_env && strlen (texinfo_output_format_env))
     {



reply via email to

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