texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/ParserNonXS.pm (_end_line_def_line),


From: Gavin D. Smith
Subject: branch master updated: * tp/Texinfo/ParserNonXS.pm (_end_line_def_line), * tp/Texinfo/XS/parsetexi/end_line.c (_end_line_def_line): Assign $current to parent element earlier in function.
Date: Sat, 11 Feb 2023 13:08:44 -0500

This is an automated email from the git hooks/post-receive script.

gavin pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 2e31b10558 * tp/Texinfo/ParserNonXS.pm (_end_line_def_line), * 
tp/Texinfo/XS/parsetexi/end_line.c (_end_line_def_line): Assign $current to 
parent element earlier in function.
2e31b10558 is described below

commit 2e31b10558f67f34ecac4fd2046a2145ee2a3ff5
Author: Gavin Smith <gavinsmith0123@gmail.com>
AuthorDate: Sat Feb 11 18:08:32 2023 +0000

    * tp/Texinfo/ParserNonXS.pm (_end_line_def_line),
    * tp/Texinfo/XS/parsetexi/end_line.c (_end_line_def_line):
    Assign $current to parent element earlier in function.
---
 ChangeLog                          |  6 ++++++
 tp/Texinfo/ParserNonXS.pm          | 26 ++++++++++++++------------
 tp/Texinfo/XS/parsetexi/end_line.c | 18 +++++++++---------
 3 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c94085b9c1..acf414acac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-02-11  Gavin Smith <gavinsmith0123@gmail.com>
+
+       * tp/Texinfo/ParserNonXS.pm (_end_line_def_line),
+       * tp/Texinfo/XS/parsetexi/end_line.c (_end_line_def_line):
+       Assign $current to parent element earlier in function.
+
 2023-02-11  Gavin Smith <gavinsmith0123@gmail.com>
 
        * tp/Texinfo/ParserNonXS.pm (_end_line_def_line): Do not call
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 35ba233bfc..a3c5e9e7a2 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -1,6 +1,6 @@
 # ParserNonXS.pm: parse texinfo code into a tree.
 #
-# Copyright 2010-2022 Free Software Foundation, Inc.
+# Copyright 2010-2023 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -3727,8 +3727,10 @@ sub _end_line_def_line($$$)
       if ($self->{'DEBUG'});
 
   my $arguments = _parse_def($self, $def_command, $current, $source_info);
+
+  $current = $current->{'parent'};
   if (scalar(@$arguments)) {
-    #$current->{'parent'}->{'extra'}->{'def_args'} = $arguments;
+    #$current->{'extra'}->{'def_args'} = $arguments;
     my $def_parsed_hash = {};
     foreach my $arg (@$arguments) {
       die if (!defined($arg->[0]));
@@ -3737,7 +3739,7 @@ sub _end_line_def_line($$$)
       next if ($arg->[0] eq 'spaces');
       $def_parsed_hash->{$arg->[0]} = $arg->[1];
     }
-    $current->{'parent'}->{'extra'}->{'def_parsed_hash'} = $def_parsed_hash;
+    $current->{'extra'}->{'def_parsed_hash'} = $def_parsed_hash;
     # do a standard index entry tree
     my $index_entry;
     if (defined($def_parsed_hash->{'name'})) {
@@ -3763,7 +3765,7 @@ sub _end_line_def_line($$$)
                 and $def_command ne 'defcv') {
           undef $index_entry;
           if (defined($self->{'documentlanguage'})) {
-            $current->{'parent'}->{'extra'}->{'documentlanguage'}
+            $current->{'extra'}->{'documentlanguage'}
                    = $self->{'documentlanguage'};
           }
         }
@@ -3775,21 +3777,21 @@ sub _end_line_def_line($$$)
       }
 
       _enter_index_entry($self,
-        $current->{'parent'}->{'extra'}->{'def_command'},
-        $current->{'parent'}->{'extra'}->{'original_def_cmdname'},
-        $current->{'parent'}, $index_contents,
+        $current->{'extra'}->{'def_command'},
+        $current->{'extra'}->{'original_def_cmdname'},
+        $current->$index_contents,
         $index_contents_normalized, $source_info);
     } else {
-      $self->_command_warn($current->{'parent'}, $source_info,
+      $self->_command_warn($current->$source_info,
                            __('missing name for @%s'),
-         $current->{'parent'}->{'extra'}->{'original_def_cmdname'});
+         $current->{'extra'}->{'original_def_cmdname'});
     }
   } else {
-    $self->_command_warn($current->{'parent'}, $source_info,
+    $self->_command_warn($current->$source_info,
                          __('missing category for @%s'),
-       $current->{'parent'}->{'extra'}->{'original_def_cmdname'});
+       $current->{'extra'}->{'original_def_cmdname'});
   }
-  $current = $current->{'parent'}->{'parent'};
+  $current = $current->{'parent'};
   $current = _begin_preformatted($self, $current);
 
   return $current;
diff --git a/tp/Texinfo/XS/parsetexi/end_line.c 
b/tp/Texinfo/XS/parsetexi/end_line.c
index 835097a6e0..cf75c1c335 100644
--- a/tp/Texinfo/XS/parsetexi/end_line.c
+++ b/tp/Texinfo/XS/parsetexi/end_line.c
@@ -2027,18 +2027,20 @@ end_line_def_line (ELEMENT *current)
 
   def_info = parse_def (def_command, current);
 
+  current = current->parent;
+
   /* Record the index entry if def_info is not empty. */
   if (!memcmp(def_info, &zero_def_info, sizeof (DEF_INFO)))
     {
       free (def_info);
-      command_warn (current->parent, "missing category for @%s",
+      command_warn (current, "missing category for @%s",
                     command_name (original_def_command));
     }
   else
     {
       ELEMENT *index_entry = 0; /* Index entry text. */
 
-      add_extra_def_info (current->parent, "def_parsed_hash", def_info);
+      add_extra_def_info (current, "def_parsed_hash", def_info);
 
       if (def_info->name)
         {
@@ -2069,7 +2071,7 @@ end_line_def_line (ELEMENT *current)
                   || def_command == CM_deftypecv))
             {
               if (global_documentlanguage)
-                add_extra_string_dup (current->parent, "documentlanguage",
+                add_extra_string_dup (current, "documentlanguage",
                                       global_documentlanguage);
             }
           else
@@ -2079,19 +2081,17 @@ end_line_def_line (ELEMENT *current)
                 add_to_contents_as_array (index_contents, index_entry);
             }
 
-          enter_index_entry (def_command,
-                             original_def_command,
-                             current->parent,
-                             index_contents);
+          enter_index_entry (def_command, original_def_command,
+                             current, index_contents);
         }
       else
         {
-          command_warn (current->parent, "missing name for @%s",
+          command_warn (current, "missing name for @%s",
                         command_name (original_def_command));
         }
     }
 
-  current = current->parent->parent;
+  current = current->parent;
   current = begin_preformatted (current);
 
   return current;



reply via email to

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