texinfo-commits
[Top][All Lists]
Advanced

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

[6815] parsetexi update


From: Gavin D. Smith
Subject: [6815] parsetexi update
Date: Mon, 30 Nov 2015 13:17:08 +0000

Revision: 6815
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6815
Author:   gavin
Date:     2015-11-30 13:17:07 +0000 (Mon, 30 Nov 2015)
Log Message:
-----------
parsetexi update

Modified Paths:
--------------
    trunk/parsetexi/ChangeLog
    trunk/parsetexi/Parsetexi/lib/Parsetexi.pm

Modified: trunk/parsetexi/ChangeLog
===================================================================
--- trunk/parsetexi/ChangeLog   2015-11-30 12:45:13 UTC (rev 6814)
+++ trunk/parsetexi/ChangeLog   2015-11-30 13:17:07 UTC (rev 6815)
@@ -1,3 +1,8 @@
+2015-11-30  Gavin Smith  <address@hidden>
+ 
+       * Parsetexi/lib/Parsetexi.pm (parser): Set conf keys on parser 
+       object.
+
 2015-11-29  Gavin Smith  <address@hidden>
 
        * Parsetexi/lib/Parsetexi.pm (parse_texi_text): Add function.

Modified: trunk/parsetexi/Parsetexi/lib/Parsetexi.pm
===================================================================
--- trunk/parsetexi/Parsetexi/lib/Parsetexi.pm  2015-11-30 12:45:13 UTC (rev 
6814)
+++ trunk/parsetexi/Parsetexi/lib/Parsetexi.pm  2015-11-30 13:17:07 UTC (rev 
6815)
@@ -82,7 +82,17 @@
   (%Texinfo::Common::default_parser_state_configuration,
    %default_customization_values);
 
+use Data::Dumper;
 
+# simple deep copy of a structure
+sub _deep_copy($)
+{
+  my $struct = shift;
+  my $string = Data::Dumper->Dump([$struct], ['struct']);
+  eval $string;
+  return $struct;
+}
+
 # Stub for Texinfo::Parser::parser (line 574)
 sub parser (;$$)
 {
@@ -120,6 +130,12 @@
   wipe_values ();
   if (defined($conf)) {
     foreach my $key (keys (%$conf)) {
+      if (ref($conf->{$key}) ne 'CODE' and $key ne 'values') {
+        $parser->{$key} = _deep_copy($conf->{$key});
+      } else {
+        #$parser->{$key} = $conf->{$key};
+      }
+
       if ($key eq 'include_directories') {
         #warn "Passed include_directories\n";
         foreach my $d (@{$conf->{'include_directories'}}) {




reply via email to

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