indexer.pl

Jerrad Pierce <[email protected]>
Newsgroups gmane.comp.web.perlfect-search
Message-ID <[email protected]>
sub load_excludes uses a bad regexp to check for comments.
I have some files which have # in the name that I wish to exclude
and cannot do so with the current regexp. Below is a patch to
improve the exclusion rule loader.

--- indexer.pl~	Tue Apr  9 03:22:54 2002
+++ indexer.pl	Wed Feb 19 02:50:22 2003
@@ -579,17 +579,21 @@
 sub load_excludes {
   if (-e $NO_INDEX_FILE) {
     open (FILE, $NO_INDEX_FILE) or (warn "Cannot open $NO_INDEX_FILE: $!" and next);
-    while (<FILE>) {
-      chomp;
-      $_ =~ s/\r//g;        # get rid of carriage returns      
-      $_ =~ s/(\#.*)//g;    # ingore comments
+    while (chomp($_ = <FILE>)) {
+      next if /^\s*#/;      # ignore comments
+      $_ =~ s/(?<!\\)(\#.*)//g;
+
+      my $readable = $_;
+
+      $_ =~ y/\r//d;        # get rid of carriage returns      
       $_ =~ s/[\/\s]*$//;   # remove any trailing spaces and slashes
-      next if( ! $_ );
-      print "\t- $_\n";
+      next unless $_;
       
       $_ = quotemeta;       # escape all non-alphanumeric characters
       $_ =~ s/\\\*/\.\*/g;  # except for the * which is replaced by .*
-      push @no_index, $_;
+      $_ =~ s/\\\\\#/#/g;   # and # which is a special case
+      push @no_index, qr/$_$/;
+      printf "\t%s =>\n\t\t%s\n", $readable, qr/$_$/;
     }
     close (FILE);
   } else {
-- 
H4sICNoBwDoAA3NpZwA9jbsNwDAIRHumuC4NklvXTOD0KSJEnwU8fHz4Q8M9i3sGzkS7BBrm
OkCTwsycb4S3DloZuMIYeXpLFqw5LaMhXC2ymhreVXNWMw9YGuAYdfmAbwomoPSyFJuFn2x8
Opr8bBBidccAAAA=
--
MOTD on Prickle-Prickle, the 49th of Chaos, in the YOLD 3169:
This statement is false.
_______________________________________________
perlfect-search mailing list
[email protected]
To unsubscribe, set other personal options or view the list archives please visit:
http://perlfect.com/mailman/listinfo/perlfect-search

lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.