texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/XS/structuring_transfo/StructuringTr


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs (reference_to_arg_in_tree): use the tree document as document if no document is given in argument.
Date: Tue, 16 Apr 2024 03:22:07 -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 e3d0a3e4c4 * tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs 
(reference_to_arg_in_tree): use the tree document as document if no document is 
given in argument.
e3d0a3e4c4 is described below

commit e3d0a3e4c40f0f32e9c9434a5311e8b67c797003
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Tue Apr 16 09:22:00 2024 +0200

    * tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
    (reference_to_arg_in_tree): use the tree document as document if no
    document is given in argument.
    
    * tp/Texinfo/XS/structuring_transfo/transformations.c
    (reference_to_arg_in_tree): cast the third modify_tree argument to
    void *.
---
 ChangeLog                                                 | 10 ++++++++++
 tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs | 12 ++++++++++--
 tp/Texinfo/XS/structuring_transfo/transformations.c       |  2 +-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6fd14c3018..94cfa6587c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2024-04-16  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
+       (reference_to_arg_in_tree): use the tree document as document if no
+       document is given in argument.
+
+       * tp/Texinfo/XS/structuring_transfo/transformations.c
+       (reference_to_arg_in_tree): cast the third modify_tree argument to
+       void *.
+
 2024-04-16  Patrice Dumas  <pertusus@free.fr>
 
        * doc/texinfo.texi (@LaTeX{} Customization Variables), 
diff --git a/tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs 
b/tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
index c04df2545e..eb0a969e49 100644
--- a/tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
+++ b/tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
@@ -154,9 +154,17 @@ reference_to_arg_in_tree (SV *tree_in, SV *document_in=0)
           = get_sv_tree_document (tree_in, "reference_to_arg_in_tree");
         /* in general will be the same as tree_document, in case it is not,
            perhaps if the tree_in is a subtree of document_in tree,
-           find independently */
+           so here the document is found independently if document_in is set.
+           NOTE if the document is different from tree_document, setting
+           the F_DOCM_tree in reference_to_arg_internal
+           may not lead to a rebuild of the modified tree in Perl.  Getting
+           sure that the right document tree is rebuilt is the caller
+           responsibility.
+        */
         if (document_in)
-           document = get_sv_document_document (document_in, 0);
+          document = get_sv_document_document (document_in, 0);
+        else
+          document = tree_document;
         if (tree_document)
           reference_to_arg_in_tree (tree_document->tree, document);
 
diff --git a/tp/Texinfo/XS/structuring_transfo/transformations.c 
b/tp/Texinfo/XS/structuring_transfo/transformations.c
index def1df8b48..3b834438dc 100644
--- a/tp/Texinfo/XS/structuring_transfo/transformations.c
+++ b/tp/Texinfo/XS/structuring_transfo/transformations.c
@@ -905,7 +905,7 @@ reference_to_arg_internal (const char *type,
 ELEMENT *
 reference_to_arg_in_tree (ELEMENT *tree, DOCUMENT *document)
 {
-  return modify_tree (tree, &reference_to_arg_internal, document);
+  return modify_tree (tree, &reference_to_arg_internal, (void *) document);
 }
 
 void



reply via email to

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