Subject: | Vim::Tag doesn't handle newlines correctly |
Vim::Tag::process_pm_file doesn't check for newlines after the package
keyword. I've got Data::Dump::Stream Version 2.34 installed and on line
3585 this module states something like 'sub\nDeparseOpts' which causes
ptags to write something like this in the new tags file:
DeparseOpts
/usr/local/perl/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-thread-multi-2level/Data/Dump/Streamer.pm
?^sub DeparseOpts\>
DeparseOpts
/usr/local/perl/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-thread-multi-2level/Data/Dump/Streamer.pm
?^sub
DeparseOpts\>
This means vim will complain:
E431: Format error in tags file "/Users/devnull/.vim/.ptags"
Before byte 466632
Bugfix included. :-)
Subject: | 001-exclude-newlines.patch |
--- Tag.pm 2012-07-20 21:32:21.000000000 +0200
+++ Tag.new.pm 2012-07-20 21:30:52.000000000 +0200
@@ -179,7 +179,7 @@
);
$package ||= $tag; # only remember the first package
}
- while ($text =~ /^((?:sub|use\s+constant)\s+(\w+(?:::\w+)*))/gmo) {
+ while ($text =~ /^((?:sub|use\s+constant)[^\S\n]+(\w+(?:::\w+)*))/gmo) {
$self->add_tag($2, $filename, "?^$1\\>");
}