Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-PPIx-QuoteLike for 
openSUSE:Factory checked in at 2022-03-26 22:30:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-PPIx-QuoteLike (Old)
 and      /work/SRC/openSUSE:Factory/.perl-PPIx-QuoteLike.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-PPIx-QuoteLike"

Sat Mar 26 22:30:59 2022 rev:15 rq:964981 version:0.020

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-PPIx-QuoteLike/perl-PPIx-QuoteLike.changes  
2021-11-20 02:39:42.804666665 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-PPIx-QuoteLike.new.1900/perl-PPIx-QuoteLike.changes
        2022-03-26 22:31:06.049956498 +0100
@@ -1,0 +2,10 @@
+Fri Mar 18 03:07:22 UTC 2022 - Tina M??ller <timueller+p...@suse.de>
+
+- updated to 0.020
+   see /usr/share/doc/packages/perl-PPIx-QuoteLike/Changes
+
+  0.020                2022-03-17      T. R. Wyant
+      Correct and optimize the computation of logical column position (the
+      one that takes account of tabs).
+
+-------------------------------------------------------------------

Old:
----
  PPIx-QuoteLike-0.019.tar.gz

New:
----
  PPIx-QuoteLike-0.020.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-PPIx-QuoteLike.spec ++++++
--- /var/tmp/diff_new_pack.ToObCm/_old  2022-03-26 22:31:07.237958125 +0100
+++ /var/tmp/diff_new_pack.ToObCm/_new  2022-03-26 22:31:07.245958135 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-PPIx-QuoteLike
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
 
 %define cpan_name PPIx-QuoteLike
 Name:           perl-PPIx-QuoteLike
-Version:        0.019
+Version:        0.020
 Release:        0
-Summary:        Parse Perl string literals and string-literal-like things
 License:        Artistic-1.0 OR GPL-1.0-or-later
+Summary:        Parse Perl string literals and string-literal-like things
 URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/W/WY/WYANT/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml

++++++ PPIx-QuoteLike-0.019.tar.gz -> PPIx-QuoteLike-0.020.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/Changes 
new/PPIx-QuoteLike-0.020/Changes
--- old/PPIx-QuoteLike-0.019/Changes    2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/Changes    2022-03-17 16:32:01.000000000 +0100
@@ -1,3 +1,7 @@
+0.020          2022-03-17      T. R. Wyant
+    Correct and optimize the computation of logical column position (the
+    one that takes account of tabs).
+
 0.019          2021-11-15      T. R. Wyant
     Add CONTRIBUTING file.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/META.json 
new/PPIx-QuoteLike-0.020/META.json
--- old/PPIx-QuoteLike-0.019/META.json  2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/META.json  2022-03-17 16:32:01.000000000 +0100
@@ -45,7 +45,6 @@
             "PPI::Dumper" : "1.117",
             "Readonly" : "0",
             "Scalar::Util" : "0",
-            "Text::Tabs" : "0",
             "base" : "0",
             "constant" : "0",
             "perl" : "5.006",
@@ -58,51 +57,51 @@
    "provides" : {
       "PPIx::QuoteLike" : {
          "file" : "lib/PPIx/QuoteLike.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Constant" : {
          "file" : "lib/PPIx/QuoteLike/Constant.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Dumper" : {
          "file" : "lib/PPIx/QuoteLike/Dumper.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token" : {
          "file" : "lib/PPIx/QuoteLike/Token.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::Control" : {
          "file" : "lib/PPIx/QuoteLike/Token/Control.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::Delimiter" : {
          "file" : "lib/PPIx/QuoteLike/Token/Delimiter.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::Interpolation" : {
          "file" : "lib/PPIx/QuoteLike/Token/Interpolation.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::String" : {
          "file" : "lib/PPIx/QuoteLike/Token/String.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::Structure" : {
          "file" : "lib/PPIx/QuoteLike/Token/Structure.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::Unknown" : {
          "file" : "lib/PPIx/QuoteLike/Token/Unknown.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Token::Whitespace" : {
          "file" : "lib/PPIx/QuoteLike/Token/Whitespace.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       },
       "PPIx::QuoteLike::Utils" : {
          "file" : "lib/PPIx/QuoteLike/Utils.pm",
-         "version" : "0.019"
+         "version" : "0.020"
       }
    },
    "release_status" : "stable",
@@ -120,6 +119,6 @@
          "web" : "https://github.com/trwyant/perl-PPIx-QuoteLike";
       }
    },
-   "version" : "0.019",
-   "x_serialization_backend" : "JSON::PP version 4.06"
+   "version" : "0.020",
+   "x_serialization_backend" : "JSON::PP version 4.07"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/META.yml 
new/PPIx-QuoteLike-0.020/META.yml
--- old/PPIx-QuoteLike-0.019/META.yml   2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/META.yml   2022-03-17 16:32:01.000000000 +0100
@@ -25,40 +25,40 @@
 provides:
   PPIx::QuoteLike:
     file: lib/PPIx/QuoteLike.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Constant:
     file: lib/PPIx/QuoteLike/Constant.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Dumper:
     file: lib/PPIx/QuoteLike/Dumper.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token:
     file: lib/PPIx/QuoteLike/Token.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::Control:
     file: lib/PPIx/QuoteLike/Token/Control.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::Delimiter:
     file: lib/PPIx/QuoteLike/Token/Delimiter.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::Interpolation:
     file: lib/PPIx/QuoteLike/Token/Interpolation.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::String:
     file: lib/PPIx/QuoteLike/Token/String.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::Structure:
     file: lib/PPIx/QuoteLike/Token/Structure.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::Unknown:
     file: lib/PPIx/QuoteLike/Token/Unknown.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Token::Whitespace:
     file: lib/PPIx/QuoteLike/Token/Whitespace.pm
-    version: '0.019'
+    version: '0.020'
   PPIx::QuoteLike::Utils:
     file: lib/PPIx/QuoteLike/Utils.pm
-    version: '0.019'
+    version: '0.020'
 requires:
   Carp: '0'
   Encode: '0'
@@ -68,7 +68,6 @@
   PPI::Dumper: '1.117'
   Readonly: '0'
   Scalar::Util: '0'
-  Text::Tabs: '0'
   base: '0'
   constant: '0'
   perl: '5.006'
@@ -79,5 +78,5 @@
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=PPIx-QuoteLike
   license: http://dev.perl.org/licenses/
   repository: git://github.com/trwyant/perl-PPIx-QuoteLike.git
-version: '0.019'
+version: '0.020'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/README 
new/PPIx-QuoteLike-0.020/README
--- old/PPIx-QuoteLike-0.019/README     2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/README     2022-03-17 16:32:01.000000000 +0100
@@ -1,4 +1,4 @@
-PPIx-QuoteLike is Copyright (C) 2016-2021 by Thomas R. Wyant, III
+PPIx-QuoteLike is Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/eg/pqldump 
new/PPIx-QuoteLike-0.020/eg/pqldump
--- old/PPIx-QuoteLike-0.019/eg/pqldump 2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/eg/pqldump 2022-03-17 16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 use Pod::Usage;
 use PPIx::QuoteLike::Dumper;
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 my %opt;
 
@@ -159,7 +159,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/eg/variables 
new/PPIx-QuoteLike-0.020/eg/variables
--- old/PPIx-QuoteLike-0.019/eg/variables       2021-11-15 17:22:55.000000000 
+0100
+++ new/PPIx-QuoteLike-0.020/eg/variables       2022-03-17 16:32:01.000000000 
+0100
@@ -10,7 +10,7 @@
 use PPI::Document;
 use PPIx::QuoteLike::Utils qw{ __variables };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 my %opt;
 
@@ -81,7 +81,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2019-2021 by Thomas R. Wyant, III
+Copyright (C) 2019-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/inc/My/Module/Build.pm 
new/PPIx-QuoteLike-0.020/inc/My/Module/Build.pm
--- old/PPIx-QuoteLike-0.019/inc/My/Module/Build.pm     2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/inc/My/Module/Build.pm     2022-03-17 
16:32:01.000000000 +0100
@@ -191,7 +191,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/inc/My/Module/Meta.pm 
new/PPIx-QuoteLike-0.020/inc/My/Module/Meta.pm
--- old/PPIx-QuoteLike-0.019/inc/My/Module/Meta.pm      2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/inc/My/Module/Meta.pm      2022-03-17 
16:32:01.000000000 +0100
@@ -153,7 +153,6 @@
        'PPI::Dumper'   => 1.117,
        'Readonly'      => 0,
        'Scalar::Util'  => 0,
-       'Text::Tabs'    => 0,
        base            => 0,
        constant        => 0,
        re              => 0,
@@ -347,7 +346,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/inc/My/Module/Recommend/Any.pm 
new/PPIx-QuoteLike-0.020/inc/My/Module/Recommend/Any.pm
--- old/PPIx-QuoteLike-0.019/inc/My/Module/Recommend/Any.pm     2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/inc/My/Module/Recommend/Any.pm     2022-03-17 
16:32:01.000000000 +0100
@@ -12,7 +12,7 @@
 BEGIN {
     *import    = \&Exporter::import;
 }
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 our @EXPORT_OK = qw{ __any };
 
@@ -158,7 +158,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/inc/My/Module/Recommend.pm 
new/PPIx-QuoteLike-0.020/inc/My/Module/Recommend.pm
--- old/PPIx-QuoteLike-0.019/inc/My/Module/Recommend.pm 2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/inc/My/Module/Recommend.pm 2022-03-17 
16:32:01.000000000 +0100
@@ -90,7 +90,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014-2021 by Thomas R. Wyant, III
+Copyright (C) 2014-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Constant.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Constant.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Constant.pm     2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Constant.pm     2022-03-17 
16:32:01.000000000 +0100
@@ -8,7 +8,7 @@
 use Carp;
 use base qw{ Exporter };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 no warnings qw{ once };        # For older Perls.
 
@@ -146,7 +146,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Dumper.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Dumper.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Dumper.pm       2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Dumper.pm       2022-03-17 
16:32:01.000000000 +0100
@@ -12,7 +12,7 @@
 use PPIx::QuoteLike::Utils qw{ __instance };
 use Scalar::Util ();
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 use constant SCALAR_REF        => ref \0;
 
@@ -516,7 +516,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Control.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Control.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Control.pm        
2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Control.pm        
2022-03-17 16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 
 use PPIx::QuoteLike::Constant qw{ @CARP_NOT };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 {
     # TODO make this a state variable when we can require Perl 5.10.
@@ -71,7 +71,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Delimiter.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Delimiter.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Delimiter.pm      
2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Delimiter.pm      
2022-03-17 16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 
 use PPIx::QuoteLike::Constant qw{ MINIMUM_PERL @CARP_NOT };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 # Perl 5.29.0 disallows unassigned code points and combining code points
 # as delimiters. Unfortunately for me non-characters and illegal
@@ -111,7 +111,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Interpolation.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Interpolation.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Interpolation.pm  
2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Interpolation.pm  
2022-03-17 16:32:01.000000000 +0100
@@ -20,7 +20,7 @@
 
 use base qw{ PPIx::QuoteLike::Token };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 sub ppi {
     my ( $self ) = @_;
@@ -158,7 +158,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/String.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/String.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/String.pm 2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/String.pm 2022-03-17 
16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 
 use PPIx::QuoteLike::Constant qw{ @CARP_NOT };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 1;
 
@@ -57,7 +57,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Structure.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Structure.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Structure.pm      
2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Structure.pm      
2022-03-17 16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 
 use PPIx::QuoteLike::Constant qw{ @CARP_NOT };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 1;
 
@@ -61,7 +61,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Unknown.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Unknown.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Unknown.pm        
2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Unknown.pm        
2022-03-17 16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 
 use PPIx::QuoteLike::Constant qw{ @CARP_NOT };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 1;
 
@@ -58,7 +58,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Whitespace.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Whitespace.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token/Whitespace.pm     
2021-11-15 17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token/Whitespace.pm     
2022-03-17 16:32:01.000000000 +0100
@@ -9,7 +9,7 @@
 
 use PPIx::QuoteLike::Constant qw{ @CARP_NOT };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 sub significant {
     return 0;
@@ -65,7 +65,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Token.pm        2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Token.pm        2022-03-17 
16:32:01.000000000 +0100
@@ -16,7 +16,7 @@
     visual_column_number
 };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 # Private to this package.
 sub __new {
@@ -321,7 +321,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Utils.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Utils.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike/Utils.pm        2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike/Utils.pm        2022-03-17 
16:32:01.000000000 +0100
@@ -39,7 +39,7 @@
     __variables
 };
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 # Readonly::Scalar my $BRACED_RE       => __match_enclosed( LEFT_CURLY );
 Readonly::Scalar my $BRACKETED_RE      => __match_enclosed( '[' ); # ]
@@ -686,7 +686,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike.pm 
new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike.pm
--- old/PPIx-QuoteLike-0.019/lib/PPIx/QuoteLike.pm      2021-11-15 
17:22:55.000000000 +0100
+++ new/PPIx-QuoteLike-0.020/lib/PPIx/QuoteLike.pm      2022-03-17 
16:32:01.000000000 +0100
@@ -38,9 +38,8 @@
     __matching_delimiter
 };
 use Scalar::Util ();
-use Text::Tabs ();
 
-our $VERSION = '0.019';
+our $VERSION = '0.020';
 
 use constant CLASS_CONTROL       => 'PPIx::QuoteLike::Token::Control';
 use constant CLASS_DELIMITER     => 'PPIx::QuoteLike::Token::Delimiter';
@@ -460,21 +459,42 @@
     $loc->{location}
        or return;
     $token->{location} = [ @{ $loc->{location} } ];
+
     if ( defined( my $content = $token->content() ) ) {
-       if ( my $newlines = $content =~ tr/\n/\n/ ) {
-           $loc->{location}[LOCATION_LINE] += $newlines;
-           $loc->{location}[LOCATION_LOGICAL_LINE] += $newlines;
-           $content =~ s/ .* \n //smx;
+
+       my $lines;
+       pos( $content ) = 0;
+       $lines++ while $content =~ m/ \n /smxgc;
+       if ( pos $content ) {
+           $loc->{location}[LOCATION_LINE] += $lines;
+           $loc->{location}[LOCATION_LOGICAL_LINE] += $lines;
            $loc->{location}[LOCATION_CHARACTER] =
                $loc->{location}[LOCATION_COLUMN] = 1;
-           $loc->{line_content} = '';
        }
-       $loc->{location}[LOCATION_CHARACTER] += length $content;
-       $loc->{line_content} .= $content;
-       local $Text::Tabs::tabstop = $loc->{tab_width};
-       $loc->{location}[LOCATION_COLUMN] = 1 + length Text::Tabs::expand(
-           $loc->{line_content} );
+
+       if ( my $chars = length( $content ) - pos( $content ) ) {
+           $loc->{location}[LOCATION_CHARACTER] += $chars;
+           if ( $loc->{tab_width} > 1 && $content =~ m/ \t /smx ) {
+               my $pos = $loc->{location}[LOCATION_COLUMN];
+               my $tab_width = $loc->{tab_width};
+               # Stolen shamelessly from PPI::Document::_visual_length
+               my ( $vis_inc );
+               foreach my $part ( split /(\t)/, $content ) {
+                   if ($part eq "\t") {
+                       $vis_inc = $tab_width - ($pos-1) % $tab_width;
+                   } else {
+                       $vis_inc = length $part;
+                   }
+                   $pos    += $vis_inc;
+               }
+               $loc->{location}[LOCATION_COLUMN] = $pos;
+           } else {
+               $loc->{location}[LOCATION_COLUMN] += $chars;
+           }
+       }
+
     }
+
     return;
 }
 
@@ -1420,7 +1440,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2016-2021 by Thomas R. Wyant, III
+Copyright (C) 2016-2022 by Thomas R. Wyant, III
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl 5.10.0. For more details, see the full text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/PPIx-QuoteLike-0.019/t/locations.t 
new/PPIx-QuoteLike-0.020/t/locations.t
--- old/PPIx-QuoteLike-0.019/t/locations.t      2021-11-15 17:22:55.000000000 
+0100
+++ new/PPIx-QuoteLike-0.020/t/locations.t      2022-03-17 16:32:01.000000000 
+0100
@@ -63,6 +63,46 @@
        q<Token 0 ('$bar') location>;
 }
 
+{
+    note <<'EOD';
+Parse $var = "\t$x\t$xx\t$xxx\t\t"; with literal tabs
+NOTE that tab widths other than 1 are unsupported by PPI as of 1.272
+EOD
+    my $doc = PPI::Document->new( \<<"EOD" );
+#line 31 "Halloween"
+\$var = "\t\$x\t\$xx\t\$xxx\t\t";
+EOD
+    $doc->tab_width( 8 );
+    my $quote = $doc->find( 'PPI::Token::Quote::Double' );
+    ok $quote, 'Found PPI::Token::Regexp::Match';
+    cmp_ok @{ $quote }, '==', 1,
+       'Found exactly one PPI::Token::Regexp::Match';
+    my $ql = PPIx::QuoteLike->new( $quote->[0] );
+    my @token = $ql->elements();
+    cmp_ok scalar @token, '==', 10, 'Found 10 tokens in quote';
+    is_deeply $token[0]->location(), [ 2, 8, 8, 31, 'Halloween' ],
+       q<Token 0 ('') location>;
+    is_deeply $token[1]->location(), [ 2, 8, 8, 31, 'Halloween' ],
+       q<Token 1 ('"') location>;
+    is_deeply $token[2]->location(), [ 2, 9, 9, 31, 'Halloween' ],
+       q<Token 2 ('\\t') location>;
+    is_deeply $token[3]->location(), [ 2, 10, 17, 31, 'Halloween' ],
+       q<Token 3 ('$x') location>;
+    is_deeply $token[4]->location(), [ 2, 12, 19, 31, 'Halloween' ],
+       q<Token 4 ('\\t') location>;
+    is_deeply $token[5]->location(), [ 2, 13, 25, 31, 'Halloween' ],
+       q<Token 5 ('$xx') location>;
+    is_deeply $token[6]->location(), [ 2, 16, 28, 31, 'Halloween' ],
+       q<Token 6 ('\t') location>;
+    is_deeply $token[7]->location(), [ 2, 17, 33, 31, 'Halloween' ],
+       q<Token 7 ('$xxx') location>;
+    is_deeply $token[8]->location(), [ 2, 21, 37, 31, 'Halloween' ],
+       q<Token 8 ('\t\t') location>;
+    is_deeply $token[9]->location(), [ 2, 23, 49, 31, 'Halloween' ],
+       q<Token 9 ('"') location>;
+
+}
+
 done_testing;
 
 1;

Reply via email to