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;