Hello community,

here is the log from the commit of package the_silver_searcher for 
openSUSE:Factory checked in at 2016-09-30 15:35:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/the_silver_searcher (Old)
 and      /work/SRC/openSUSE:Factory/.the_silver_searcher.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "the_silver_searcher"

Changes:
--------
--- /work/SRC/openSUSE:Factory/the_silver_searcher/the_silver_searcher.changes  
2016-05-19 12:16:00.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.the_silver_searcher.new/the_silver_searcher.changes 
    2016-09-30 15:35:33.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Sep 29 09:55:32 UTC 2016 - astie...@suse.com
+
+- update to 0.33.0:
+  * Fix --word-regexp not applying to alternates
+  * The preferred ignore file is .ignore, .agignore is deprecated
+
+-------------------------------------------------------------------

Old:
----
  the_silver_searcher-0.32.0.tar.gz
  the_silver_searcher-0.32.0.tar.gz.asc

New:
----
  the_silver_searcher-0.33.0.tar.gz
  the_silver_searcher-0.33.0.tar.gz.asc

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

Other differences:
------------------
++++++ the_silver_searcher.spec ++++++
--- /var/tmp/diff_new_pack.nltduY/_old  2016-09-30 15:35:35.000000000 +0200
+++ /var/tmp/diff_new_pack.nltduY/_new  2016-09-30 15:35:35.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           the_silver_searcher
-Version:        0.32.0
+Version:        0.33.0
 Release:        0
 Summary:        A code-searching tool similar to ack, but faster
 License:        Apache-2.0
@@ -27,7 +27,7 @@
 Source2:        http://geoff.greer.fm/ag/releases/%{name}-%{version}.tar.gz.asc
 Source3:        %{name}.keyring
 Source4:        %{name}.changes
-BuildRequires:  pkg-config >= 0.9.0
+BuildRequires:  pkgconfig >= 0.9.0
 Requires:       bash-completion
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if 0%{?suse_version} > 1110
@@ -51,7 +51,7 @@
 make %{?_smp_mflags}
 
 %install
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
+make %{?_smp_mflags} DESTDIR=%{buildroot} install
 mkdir -p %{buildroot}/%{_sysconfdir}/bash_completion.d
 mv -v %{buildroot}%{_datadir}/%{name}/completions/ag.bashcomp.sh 
%{buildroot}/%{_sysconfdir}/bash_completion.d/%{name}
 
@@ -59,7 +59,7 @@
 %defattr(-,root,root)
 %doc LICENSE NOTICE README.md
 %{_bindir}/ag
-%{_mandir}/man1/ag.1.gz
+%{_mandir}/man1/ag.1%{ext_man}
 %config %{_sysconfdir}/bash_completion.d/%{name}
 
 %changelog

++++++ the_silver_searcher-0.32.0.tar.gz -> the_silver_searcher-0.33.0.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/NOTICE 
new/the_silver_searcher-0.33.0/NOTICE
--- old/the_silver_searcher-0.32.0/NOTICE       2016-05-10 19:39:40.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/NOTICE       2016-06-23 20:33:43.000000000 
+0200
@@ -1,2 +1,2 @@
 The Silver Searcher
-Copyright 2011-2014 Geoff Greer
+Copyright 2011-2016 Geoff Greer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/README.md 
new/the_silver_searcher-0.33.0/README.md
--- old/the_silver_searcher-0.32.0/README.md    2016-05-10 19:39:39.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/README.md    2016-09-24 03:33:26.000000000 
+0200
@@ -15,7 +15,7 @@
 
 * It is an order of magnitude faster than `ack`.
 * It ignores file patterns from your `.gitignore` and `.hgignore`.
-* If there are files in your source repo you don't want to search, just add 
their patterns to a `.agignore` file. (\*cough\* extern \*cough\*)
+* If there are files in your source repo you don't want to search, just add 
their patterns to a `.ignore` file. (\*cough\* `*.min.js` \*cough\*)
 * The command name is 33% shorter than `ack`, and all keys are on the home row!
 
 Ag is quite stable now. Most changes are new features, minor bug fixes, or 
performance improvements. It's much faster than Ack in my benchmarks:
@@ -64,8 +64,7 @@
         dnf install the_silver_searcher
 * RHEL7+
 
-        rpm -Uvh 
http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
-        yum install the_silver_searcher
+        yum install epel-release.noarch the_silver_searcher
 * Gentoo
 
         emerge the_silver_searcher
@@ -158,7 +157,7 @@
 
 ### Emacs
 
-You can use [ag.el][] as an Emacs fronted to Ag. See also: [helm-ag].
+You can use [ag.el][] as an Emacs front-end to Ag. See also: [helm-ag].
 
 [ag.el]: https://github.com/Wilfred/ag.el
 [helm-ag]: https://github.com/syohex/emacs-helm-ag
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/ag.bashcomp.sh 
new/the_silver_searcher-0.33.0/ag.bashcomp.sh
--- old/the_silver_searcher-0.32.0/ag.bashcomp.sh       2016-05-10 
19:39:40.000000000 +0200
+++ new/the_silver_searcher-0.33.0/ag.bashcomp.sh       2016-06-23 
20:33:43.000000000 +0200
@@ -1,5 +1,3 @@
-#!/bin/bash
-
 _ag() {
   local lngopt shtopt split=false
   local cur prev
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/configure 
new/the_silver_searcher-0.33.0/configure
--- old/the_silver_searcher-0.32.0/configure    2016-05-16 07:14:57.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/configure    2016-09-24 22:33:17.000000000 
+0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for the_silver_searcher 0.32.0.
+# Generated by GNU Autoconf 2.69 for the_silver_searcher 0.33.0.
 #
 # Report bugs to <https://github.com/ggreer/the_silver_searcher/issues>.
 #
@@ -581,8 +581,8 @@
 # Identity of this package.
 PACKAGE_NAME='the_silver_searcher'
 PACKAGE_TARNAME='the_silver_searcher'
-PACKAGE_VERSION='0.32.0'
-PACKAGE_STRING='the_silver_searcher 0.32.0'
+PACKAGE_VERSION='0.33.0'
+PACKAGE_STRING='the_silver_searcher 0.33.0'
 PACKAGE_BUGREPORT='https://github.com/ggreer/the_silver_searcher/issues'
 PACKAGE_URL='https://github.com/ggreer/the_silver_searcher'
 
@@ -1297,7 +1297,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures the_silver_searcher 0.32.0 to adapt to many kinds of 
systems.
+\`configure' configures the_silver_searcher 0.33.0 to adapt to many kinds of 
systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1368,7 +1368,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of the_silver_searcher 0.32.0:";;
+     short | recursive ) echo "Configuration of the_silver_searcher 0.33.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1471,7 +1471,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-the_silver_searcher configure 0.32.0
+the_silver_searcher configure 0.33.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1943,7 +1943,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by the_silver_searcher $as_me 0.32.0, which was
+It was created by the_silver_searcher $as_me 0.33.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2807,7 +2807,7 @@
 
 # Define the identity of the package.
  PACKAGE='the_silver_searcher'
- VERSION='0.32.0'
+ VERSION='0.33.0'
 
 
 # Some tools Automake needs.
@@ -5512,7 +5512,7 @@
 ac_config_headers="$ac_config_headers src/config.h"
 
 
-for ac_prog in clang-format-3.7 clang-format-3.6 clang-format
+for ac_prog in clang-format-3.8 clang-format-3.7 clang-format-3.6 clang-format
 do
   # Extract the first word of "$ac_prog", so it can be a program name with 
args.
 set dummy $ac_prog; ac_word=$2
@@ -6107,7 +6107,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by the_silver_searcher $as_me 0.32.0, which was
+This file was extended by the_silver_searcher $as_me 0.33.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6174,7 +6174,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-the_silver_searcher config.status 0.32.0
+the_silver_searcher config.status 0.33.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/configure.ac 
new/the_silver_searcher-0.33.0/configure.ac
--- old/the_silver_searcher-0.32.0/configure.ac 2016-05-16 07:13:17.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/configure.ac 2016-09-24 22:03:14.000000000 
+0200
@@ -1,6 +1,6 @@
 AC_INIT(
     [the_silver_searcher],
-    [0.32.0],
+    [0.33.0],
     [https://github.com/ggreer/the_silver_searcher/issues],
     [the_silver_searcher],
     [https://github.com/ggreer/the_silver_searcher])
@@ -64,7 +64,7 @@
 
 AC_CHECK_PROGS(
     [CLANG_FORMAT],
-    [clang-format-3.7 clang-format-3.6 clang-format],
+    [clang-format-3.8 clang-format-3.7 clang-format-3.6 clang-format],
     [no]
 )
 AM_CONDITIONAL([HAS_CLANG_FORMAT], [test x$CLANG_FORMAT != xno])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/doc/ag.1 
new/the_silver_searcher-0.33.0/doc/ag.1
--- old/the_silver_searcher-0.32.0/doc/ag.1     2016-05-16 07:20:04.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/doc/ag.1     2016-09-25 02:18:03.000000000 
+0200
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "AG" "1" "February 2015" "" ""
+.TH "AG" "1" "September 2016" "" ""
 .
 .SH "NAME"
 \fBag\fR \- The Silver Searcher\. Like ack, but faster\.
@@ -19,16 +19,20 @@
 Output results in a format parseable by AckMate 
\fIhttps://github\.com/protocool/AckMate\fR\.
 .
 .TP
+\fB\-\-[no]affinity\fR
+Set thread affinity (if platform supports it)\. Default is true\.
+.
+.TP
 \fB\-a \-\-all\-types\fR
 Search all files\. This doesn\'t include hidden files, and doesn\'t respect 
any ignore files\.
 .
 .TP
 \fB\-A \-\-after [LINES]\fR
-Print lines after match\. Defaults to 2\.
+Print lines after match\. If not provided, LINES defaults to 2\.
 .
 .TP
 \fB\-B \-\-before [LINES]\fR
-Print lines before match\. Defaults to 2\.
+Print lines before match\. If not provided, LINES defaults to 2\.
 .
 .TP
 \fB\-\-[no]break\fR
@@ -44,15 +48,15 @@
 .
 .TP
 \fB\-\-color\-line\-number\fR
-Color codes for line numbers\. Defaults to 1;33\.
+Color codes for line numbers\. Default is 1;33\.
 .
 .TP
 \fB\-\-color\-match\fR
-Color codes for result match numbers\. Defaults to 30;43\.
+Color codes for result match numbers\. Default is 30;43\.
 .
 .TP
 \fB\-\-color\-path\fR
-Color codes for path names\. Defaults to 1;32\.
+Color codes for path names\. Default is 1;32\.
 .
 .TP
 \fB\-\-column\fR
@@ -60,11 +64,11 @@
 .
 .TP
 \fB\-C \-\-context [LINES]\fR
-Print lines before and after matches\. Defaults to 2\.
+Print lines before and after matches\. Default is 2\.
 .
 .TP
 \fB\-D \-\-debug\fR
-Output ridiculous amounts of debugging info\. Probably not useful\.
+Output ridiculous amounts of debugging info\. Not useful unless you\'re 
actually debugging\.
 .
 .TP
 \fB\-\-depth NUM\fR
@@ -75,8 +79,8 @@
 Print file names\. Enabled by default, except when searching a single file\.
 .
 .TP
-\fB\-f \-\-follow\fR
-Follow symlinks\.
+\fB\-f \-\-[no]follow\fR
+Follow symlinks\. Default is false\.
 .
 .TP
 \fB\-F \-\-fixed\-strings\fR
@@ -131,6 +135,18 @@
 Skip the rest of a file after NUM matches\. Default is 0, which never skips\.
 .
 .TP
+\fB\-\-[no]mmap\fR
+Toggle use of memory\-mapped I/O\. Defaults to true\.
+.
+.TP
+\fB\-\-[no]multiline\fR
+Match regexes across newlines\. Enabled by default\.
+.
+.TP
+\fB\-n \-\-norecurse\fR
+Don\'t recurse into directories\.
+.
+.TP
 \fB\-\-[no]numbers\fR
 Print line numbers\. Default is to omit line numbers when searching streams\.
 .
@@ -139,19 +155,27 @@
 Print only the matching part of the lines\.
 .
 .TP
-\fB\-p \-\-path\-to\-agignore STRING\fR
-Provide a path to a specific \.agignore file\.
+\fB\-\-one\-device\fR
+When recursing directories, don\'t scan dirs that reside on other storage 
devices\. This lets you avoid scanning slow network mounts\. This feature is 
not supported on all platforms\.
+.
+.TP
+\fB\-p \-\-path\-to\-ignore STRING\fR
+Provide a path to a specific \.ignore file\.
 .
 .TP
 \fB\-\-pager COMMAND\fR
-Use a pager such as less\. Use \fB\-\-nopager\fR to override\. This option is 
also ignored if output is piped to another program\.
+Use a pager such as \fBless\fR\. Use \fB\-\-nopager\fR to override\. This 
option is also ignored if output is piped to another program\.
+.
+.TP
+\fB\-\-parallel\fR
+Parse the input stream as a search term, not data to search\. This is meant to 
be used with tools such as GNU parallel\. For example: \fBecho 
"foo\enbar\enbaz" | parallel "ag {} \."\fR will run 3 instances of ag, 
searching the current directory for "foo", "bar", and "baz"\.
 .
 .TP
 \fB\-\-print\-long\-lines\fR
 Print matches on very long lines (> 2k characters by default)\.
 .
 .TP
-\fB\-\-passthrough\fR
+\fB\-\-passthrough \-\-passthru\fR
 When searching a stream, print all lines even if they don\'t match\.
 .
 .TP
@@ -159,6 +183,10 @@
 Do not parse PATTERN as a regular expression\. Try to match it literally\.
 .
 .TP
+\fB\-r \-\-recurse\fR
+Recurse into directories when seacrhing\. Default is true\.
+.
+.TP
 \fB\-s \-\-case\-sensitive\fR
 Match case\-sensitively\.
 .
@@ -179,7 +207,7 @@
 Print stats (files scanned, time taken, etc)\.
 .
 .TP
-\fB\-\-stats-only\fR
+\fB\-\-stats\-only\fR
 Print stats (files scanned, time taken, etc) and nothing else\.
 .
 .TP
@@ -188,55 +216,57 @@
 .
 .TP
 \fB\-u \-\-unrestricted\fR
-Search \fIall\fR files\. This ignores \.agignore, \.gitignore, etc\. It 
searches binary and hidden files as well\.
+Search \fIall\fR files\. This ignores \.ignore, \.gitignore, etc\. It searches 
binary and hidden files as well\.
 .
 .TP
 \fB\-U \-\-skip\-vcs\-ignores\fR
-Ignore VCS ignore files (\.gitignore, \.hgignore, svn:ignore), but still use 
\.agignore\.
+Ignore VCS ignore files (\.gitignore, \.hgignore, svn:ignore), but still use 
\.ignore\.
 .
 .TP
 \fB\-v \-\-invert\-match\fR
 Match every line \fInot\fR containing the specified pattern\.
 .
 .TP
-\fB\-\-vimgrep\fR
-Output results like vim\'s \fB:vimgrep /pattern/g\fR would (it reports every 
match on the line)\.
+\fB\-V \-\-version\fR
+Print version info\.
 .
-.br
-Here\'s a ~/\.vimrc configuration example:
+.TP
+\fB\-\-vimgrep\fR
+Output results in the same form as Vim\'s \fB:vimgrep /pattern/g\fR
 .
 .IP
-\fBset grepprg=ag\e \-\-vimgrep\e $*\fR
-.
-.br
-\fBset grepformat=%f:%l:%c:%m\fR
+Here is a ~/\.vimrc configuration example:
 .
 .IP
-Then use \fB:grep\fR to grep for something\.
+\fBset grepprg=ag\e \-\-vimgrep\e $*\fR \fBset grepformat=%f:%l:%c:%m\fR
 .
-.br
-Then use \fB:copen\fR, \fB:cn\fR, \fB:cp\fR, etc\. to navigate through the 
matches\.
+.IP
+Then use \fB:grep\fR to grep for something\. Then use \fB:copen\fR, \fB:cn\fR, 
\fB:cp\fR, etc\. to navigate through the matches\.
 .
 .TP
 \fB\-w \-\-word\-regexp\fR
 Only match whole words\.
 .
 .TP
+\fB\-\-workers NUM\fR
+Use NUM worker threads\. Default is the number of CPU cores, with a max of 8\.
+.
+.TP
 \fB\-z \-\-search\-zip\fR
-Search contents of compressed files\.
+Search contents of compressed files\. Currently, gz and xz are supported\. 
This option requires that ag is built with lzma and zlib\.
 .
 .TP
 \fB\-0 \-\-null \-\-print0\fR
 Separate the filenames with \fB\e0\fR, rather than \fB\en\fR: this allows 
\fBxargs \-0 <command>\fR to correctly process filenames containing spaces or 
newlines\.
 .
 .SH "FILE TYPES"
-It is possible to restrict the types of files searched\. For example, passing 
\fB\-\-html\fR as the \fBfile\-types\fR parameter will search only files with 
the extensions \fBhtm\fR, \fBhtml\fR, \fBshtml\fR or \fBxhtml\fR\. For a list 
of supported \fBfile\-types\fR run \fBag \-\-list\-file\-types\fR\.
+It is possible to restrict the types of files searched\. For example, passing 
\fB\-\-html\fR as the \fBfile\-types\fR parameter will search only files with 
the extensions \fBhtm\fR, \fBhtml\fR, \fBshtml\fR or \fBxhtml\fR\. For a list 
of supported types, run \fBag \-\-list\-file\-types\fR\.
 .
 .SH "IGNORING FILES"
-By default, ag will ignore files whose names match patterns in \.gitignore, 
\.hgignore, or \.agignore\. These files can be anywhere in the directories 
being searched\. Ag also ignores files matched by the svn:ignore property if 
\fBsvn \-\-version\fR is 1\.6 or older\. Finally, ag looks in $HOME/\.agignore 
for ignore patterns\. Binary files are ignored by default as well\.
+By default, ag will ignore files whose names match patterns in \.gitignore, 
\.hgignore, or \.ignore\. These files can be anywhere in the directories being 
searched\. Ag also ignores files matched by the svn:ignore property if \fBsvn 
\-\-version\fR is 1\.6 or older\. Finally, ag looks in $HOME/\.agignore for 
ignore patterns\. Binary files are ignored by default as well\.
 .
 .P
-If you want to ignore \.gitignore, \.hgignore, and svn:ignore, but still take 
\.agignore into account, use \fB\-U\fR\.
+If you want to ignore \.gitignore, \.hgignore, and svn:ignore, but still take 
\.ignore into account, use \fB\-U\fR\.
 .
 .P
 Use the \fB\-t\fR option to search all text files; \fB\-a\fR to search all 
files; and \fB\-u\fR to search all, including hidden files\.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/ignore.c 
new/the_silver_searcher-0.33.0/src/ignore.c
--- old/the_silver_searcher-0.32.0/src/ignore.c 2016-05-10 19:39:37.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/ignore.c 2016-09-24 22:30:46.000000000 
+0200
@@ -1,5 +1,6 @@
 #include <ctype.h>
 #include <dirent.h>
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -27,9 +28,11 @@
     NULL
 };
 
-/* Warning: changing the first string will break skip_vcs_ignores. */
+/* Warning: changing the first two strings will break skip_vcs_ignores. */
 const char *ignore_pattern_files[] = {
+    /* Warning: .agignore will one day be removed in favor of .ignore */
     ".agignore",
+    ".ignore",
     ".gitignore",
     ".git/info/exclude",
     ".hgignore",
@@ -208,6 +211,10 @@
     int matches;
 
     while (fscanf(fp, "K %zu\n", &key_len) == 1) {
+        if (key_len >= INT_MAX) {
+            log_debug("Unable to parse svnignore file %s: key is absurdly 
long.", dir_prop_base);
+            goto cleanup;
+        }
         key = ag_realloc(key, key_len + 1);
         bytes_read = fread(key, 1, key_len, fp);
         key[key_len] = '\0';
@@ -220,7 +227,11 @@
         if (strncmp(SVN_PROP_IGNORE, key, bytes_read) != 0) {
             log_debug("key is %s, not %s. skipping %u bytes", key, 
SVN_PROP_IGNORE, entry_len);
             /* Not the key we care about. fseek and repeat */
-            fseek(fp, entry_len + 1, SEEK_CUR); /* +1 to account for newline. 
yes I know this is hacky */
+            int rv = fseek(fp, entry_len + 1, SEEK_CUR); /* +1 to account for 
newline. yes I know this is hacky */
+            if (rv == -1) {
+                log_debug("Skipping svnignore file %s: fseek() error.", 
dir_prop_base);
+                goto cleanup;
+            }
             continue;
         }
         /* Aww yeah. Time to ignore stuff */
@@ -358,7 +369,7 @@
         return 0;
     }
 
-    if (opts.search_all_files && !opts.path_to_agignore) {
+    if (opts.search_all_files && !opts.path_to_ignore) {
         return 1;
     }
 
@@ -384,20 +395,23 @@
         }
     }
 
-/* TODO: don't call strlen on filename every time we call filename_filter() */
 #ifdef HAVE_DIRENT_DNAMLEN
     size_t filename_len = dir->d_namlen;
 #else
-    size_t filename_len = strlen(filename);
+    size_t filename_len = 0;
+#endif
+
+    if (strncmp(filename, "./", 2) == 0) {
+#ifndef HAVE_DIRENT_DNAMLEN
+        filename_len = strlen(filename);
 #endif
+        filename++;
+        filename_len--;
+    }
+
     const ignores *ig = scandir_baton->ig;
 
     while (ig != NULL) {
-        if (strncmp(filename, "./", 2) == 0) {
-            filename++;
-            filename_len--;
-        }
-
         if (extension) {
             int match_pos = binary_search(extension, ig->extensions, 0, 
ig->extensions_len);
             if (match_pos >= 0) {
@@ -410,13 +424,20 @@
             return 0;
         }
 
-        if (is_directory(path, dir) && filename[filename_len - 1] != '/') {
-            char *temp;
-            ag_asprintf(&temp, "%s/", filename);
-            int rv = path_ignore_search(ig, path_start, temp);
-            free(temp);
-            if (rv) {
-                return 0;
+        if (is_directory(path, dir)) {
+#ifndef HAVE_DIRENT_DNAMLEN
+            if (!filename_len) {
+                filename_len = strlen(filename);
+            }
+#endif
+            if (filename[filename_len - 1] != '/') {
+                char *temp;
+                ag_asprintf(&temp, "%s/", filename);
+                int rv = path_ignore_search(ig, path_start, temp);
+                free(temp);
+                if (rv) {
+                    return 0;
+                }
             }
         }
         ig = ig->parent;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/lang.c 
new/the_silver_searcher-0.33.0/src/lang.c
--- old/the_silver_searcher-0.32.0/src/lang.c   2016-05-12 09:19:27.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/lang.c   2016-07-09 19:51:01.000000000 
+0200
@@ -70,7 +70,7 @@
     { "python", { "py" } },
     { "qml", { "qml" } },
     { "racket", { "rkt", "ss", "scm" } },
-    { "rake", { "Rakefiles" } },
+    { "rake", { "Rakefile" } },
     { "restructuredtext", { "rst" } },
     { "rs", { "rs" } },
     { "r", { "R", "Rmd", "Rnw", "Rtex", "Rrst" } },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/log.c 
new/the_silver_searcher-0.33.0/src/log.c
--- old/the_silver_searcher-0.32.0/src/log.c    2016-05-10 19:39:41.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/log.c    2016-09-03 17:39:14.000000000 
+0200
@@ -1,5 +1,5 @@
-#include <stdio.h>
 #include <stdarg.h>
+#include <stdio.h>
 
 #include "log.h"
 #include "util.h"
@@ -43,6 +43,7 @@
         return;
     }
 
+    pthread_mutex_lock(&print_mtx);
     FILE *stream = out_fd;
 
     switch (level) {
@@ -63,6 +64,7 @@
 
     vfprintf(stream, fmt, args);
     fprintf(stream, "\n");
+    pthread_mutex_unlock(&print_mtx);
 }
 
 void plog(const unsigned int level, const char *fmt, ...) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/log.h 
new/the_silver_searcher-0.33.0/src/log.h
--- old/the_silver_searcher-0.32.0/src/log.h    2016-05-10 19:39:41.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/log.h    2016-09-03 17:39:14.000000000 
+0200
@@ -3,6 +3,14 @@
 
 #include <stdarg.h>
 
+#include "config.h"
+
+#ifdef HAVE_PTHREAD_H
+#include <pthread.h>
+#endif
+
+pthread_mutex_t print_mtx;
+
 enum log_level {
     LOG_LEVEL_DEBUG = 10,
     LOG_LEVEL_MSG = 20,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/main.c 
new/the_silver_searcher-0.33.0/src/main.c
--- old/the_silver_searcher-0.32.0/src/main.c   2016-05-10 19:39:37.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/main.c   2016-09-24 02:56:42.000000000 
+0200
@@ -1,8 +1,8 @@
+#include <ctype.h>
 #include <pcre.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
-#include <ctype.h>
 #include <sys/time.h>
 #include <unistd.h>
 #ifdef _WIN32
@@ -73,7 +73,7 @@
     num_cores = (int)sysconf(_SC_NPROCESSORS_ONLN);
 #endif
 
-    workers_len = num_cores;
+    workers_len = num_cores < 8 ? num_cores : 8;
     if (opts.literal) {
         workers_len--;
     }
@@ -126,7 +126,7 @@
         }
         if (opts.word_regexp) {
             char *word_regexp_query;
-            ag_asprintf(&word_regexp_query, "\\b%s\\b", opts.query);
+            ag_asprintf(&word_regexp_query, "\\b(?:%s)\\b", opts.query);
             free(opts.query);
             opts.query = word_regexp_query;
             opts.query_len = strlen(opts.query);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/options.c 
new/the_silver_searcher-0.33.0/src/options.c
--- old/the_silver_searcher-0.32.0/src/options.c        2016-05-10 
19:39:40.000000000 +0200
+++ new/the_silver_searcher-0.33.0/src/options.c        2016-09-25 
01:55:10.000000000 +0200
@@ -10,11 +10,11 @@
 
 #include "config.h"
 #include "ignore.h"
-#include "options.h"
 #include "lang.h"
 #include "log.h"
-#include "util.h"
+#include "options.h"
 #include "print.h"
+#include "util.h"
 
 const char *color_line_number = "\033[1;33m"; /* bold yellow */
 const char *color_match = "\033[30;43m";      /* black with yellow background 
*/
@@ -91,18 +91,18 @@
      --ignore-dir NAME    Alias for --ignore for compatibility with ack.\n\
   -m --max-count NUM      Skip the rest of a file after NUM matches (Default: 
10,000)\n\
      --one-device         Don't follow links to other devices.\n\
-  -p --path-to-agignore STRING\n\
-                          Use .agignore file at STRING\n\
+  -p --path-to-ignore STRING\n\
+                          Use .ignore file at STRING\n\
   -Q --literal            Don't parse PATTERN as a regular expression\n\
   -s --case-sensitive     Match case sensitively\n\
   -S --smart-case         Match case insensitively unless PATTERN contains\n\
                           uppercase characters (Enabled by default)\n\
      --search-binary      Search binary files for matches\n\
   -t --all-text           Search all text files (doesn't include hidden 
files)\n\
-  -u --unrestricted       Search all files (ignore .agignore, .gitignore, 
etc.;\n\
+  -u --unrestricted       Search all files (ignore .ignore, .gitignore, 
etc.;\n\
                           searches binary and hidden files as well)\n\
   -U --skip-vcs-ignores   Ignore VCS ignore files\n\
-                          (.gitignore, .hgignore, .svnignore; still obey 
.agignore)\n\
+                          (.gitignore, .hgignore, .svnignore; still obey 
.ignore)\n\
   -v --invert-match\n\
   -w --word-regexp        Only match whole words\n\
   -W --width NUM          Truncate match lines after NUM characters\n\
@@ -144,6 +144,7 @@
     opts.color_win_ansi = FALSE;
     opts.max_matches_per_file = 0;
     opts.max_search_depth = DEFAULT_MAX_SEARCH_DEPTH;
+    opts.mmap = TRUE;
     opts.multiline = TRUE;
     opts.width = 0;
     opts.path_sep = '\n';
@@ -257,6 +258,7 @@
         { "literal", no_argument, NULL, 'Q' },
         { "match", no_argument, &useless, 0 },
         { "max-count", required_argument, NULL, 'm' },
+        { "mmap", no_argument, &opts.mmap, TRUE },
         { "multiline", no_argument, &opts.multiline, TRUE },
         /* "no-" is deprecated. Remove these eventually. */
         { "no-numbers", no_argument, &opts.print_line_numbers, FALSE },
@@ -268,6 +270,7 @@
         { "nofollow", no_argument, &opts.follow_symlinks, 0 },
         { "nogroup", no_argument, &group, 0 },
         { "noheading", no_argument, &opts.print_path, PATH_PRINT_EACH_LINE },
+        { "nommap", no_argument, &opts.mmap, FALSE },
         { "nomultiline", no_argument, &opts.multiline, FALSE },
         { "nonumbers", no_argument, &opts.print_line_numbers, FALSE },
         { "nopager", no_argument, NULL, 0 },
@@ -280,7 +283,7 @@
         { "parallel", no_argument, &opts.parallel, 1 },
         { "passthrough", no_argument, &opts.passthrough, 1 },
         { "passthru", no_argument, &opts.passthrough, 1 },
-        { "path-to-agignore", required_argument, NULL, 'p' },
+        { "path-to-ignore", required_argument, NULL, 'p' },
         { "print0", no_argument, NULL, '0' },
         { "print-long-lines", no_argument, &opts.print_long_lines, 1 },
         { "recurse", no_argument, NULL, 'r' },
@@ -432,7 +435,7 @@
                 opts.recurse_dirs = 0;
                 break;
             case 'p':
-                opts.path_to_agignore = optarg;
+                opts.path_to_ignore = optarg;
                 break;
             case 'o':
                 opts.only_matching = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/options.h 
new/the_silver_searcher-0.33.0/src/options.h
--- old/the_silver_searcher-0.32.0/src/options.h        2016-05-10 
19:39:40.000000000 +0200
+++ new/the_silver_searcher-0.33.0/src/options.h        2016-09-24 
22:30:36.000000000 +0200
@@ -51,11 +51,12 @@
     int literal_ends_wordchar;
     size_t max_matches_per_file;
     int max_search_depth;
+    int mmap;
     int multiline;
     int one_dev;
     int only_matching;
     char path_sep;
-    char *path_to_agignore;
+    char *path_to_ignore;
     int print_break;
     int print_count;
     int print_filename_only;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/print.c 
new/the_silver_searcher-0.33.0/src/print.c
--- old/the_silver_searcher-0.32.0/src/print.c  2016-05-10 19:39:41.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/print.c  2016-06-23 20:33:43.000000000 
+0200
@@ -1,8 +1,8 @@
+#include <limits.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <limits.h>
 
 #include "ignore.h"
 #include "log.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/print_w32.c 
new/the_silver_searcher-0.33.0/src/print_w32.c
--- old/the_silver_searcher-0.32.0/src/print_w32.c      2016-05-10 
19:39:38.000000000 +0200
+++ new/the_silver_searcher-0.33.0/src/print_w32.c      2016-06-23 
20:33:43.000000000 +0200
@@ -1,10 +1,10 @@
 #ifdef _WIN32
 
-#include <windows.h>
-#include <stdio.h>
+#include "print.h"
 #include <io.h>
 #include <stdarg.h>
-#include "print.h"
+#include <stdio.h>
+#include <windows.h>
 
 #ifndef FOREGROUND_MASK
 #define FOREGROUND_MASK (FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN | 
FOREGROUND_INTENSITY)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/search.c 
new/the_silver_searcher-0.33.0/src/search.c
--- old/the_silver_searcher-0.32.0/src/search.c 2016-05-10 19:39:40.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/search.c 2016-09-24 22:33:08.000000000 
+0200
@@ -38,7 +38,7 @@
 
     if (!opts.literal && opts.query_len == 1 && opts.query[0] == '.') {
         matches_size = 1;
-        matches = ag_malloc(matches_size * sizeof(match_t));
+        matches = matches == NULL ? ag_malloc(matches_size * sizeof(match_t)) 
: matches;
         matches[0].start = 0;
         matches[0].end = buf_len;
         matches_len = 1;
@@ -286,16 +286,25 @@
         goto cleanup;
     }
 #else
-    buf = mmap(0, f_len, PROT_READ, MAP_SHARED, fd, 0);
-    if (buf == MAP_FAILED) {
-        log_err("File %s failed to load: %s.", file_full_path, 
strerror(errno));
-        goto cleanup;
-    }
+
+    if (opts.mmap) {
+        buf = mmap(0, f_len, PROT_READ, MAP_PRIVATE, fd, 0);
+        if (buf == MAP_FAILED) {
+            log_err("File %s failed to load: %s.", file_full_path, 
strerror(errno));
+            goto cleanup;
+        }
 #if HAVE_MADVISE
-    madvise(buf, f_len, MADV_SEQUENTIAL);
+        madvise(buf, f_len, MADV_SEQUENTIAL);
 #elif HAVE_POSIX_FADVISE
-    posix_fadvise(fd, 0, f_len, POSIX_MADV_SEQUENTIAL);
+        posix_fadvise(fd, 0, f_len, POSIX_MADV_SEQUENTIAL);
 #endif
+    } else {
+        buf = ag_malloc(f_len);
+        size_t bytes_read = read(fd, buf, f_len);
+        if ((off_t)bytes_read != f_len) {
+            die("expected to read %u bytes but read %u", f_len, bytes_read);
+        }
+    }
 #endif
 
     if (opts.search_zip_files) {
@@ -321,7 +330,11 @@
 #ifdef _WIN32
         UnmapViewOfFile(buf);
 #else
-        munmap(buf, f_len);
+        if (opts.mmap) {
+            munmap(buf, f_len);
+        } else {
+            free(buf);
+        }
 #endif
     }
     if (fd != -1) {
@@ -435,8 +448,8 @@
         return;
     }
 
-    /* find agignore/gitignore/hgignore/etc files to load ignore patterns from 
*/
-    for (i = 0; opts.skip_vcs_ignores ? (i == 0) : (ignore_pattern_files[i] != 
NULL); i++) {
+    /* find .*ignore files to load ignore patterns from */
+    for (i = 0; opts.skip_vcs_ignores ? (i <= 1) : (ignore_pattern_files[i] != 
NULL); i++) {
         ignore_file = ignore_pattern_files[i];
         ag_asprintf(&dir_full_path, "%s/%s", path, ignore_file);
         if (strcmp(SVN_DIR, ignore_file) == 0) {
@@ -448,8 +461,9 @@
         dir_full_path = NULL;
     }
 
-    if (opts.path_to_agignore) {
-        load_ignore_patterns(ig, opts.path_to_agignore);
+    /* TODO: this is extremely wasteful */
+    if (opts.path_to_ignore) {
+        load_ignore_patterns(ig, opts.path_to_ignore);
     }
 
     scandir_baton.ig = ig;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/search.h 
new/the_silver_searcher-0.33.0/src/search.h
--- old/the_silver_searcher-0.32.0/src/search.h 2016-05-10 19:39:41.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/search.h 2016-09-03 17:39:14.000000000 
+0200
@@ -23,13 +23,13 @@
 #include <pthread.h>
 #endif
 
+#include "decompress.h"
 #include "ignore.h"
 #include "log.h"
 #include "options.h"
 #include "print.h"
-#include "util.h"
-#include "decompress.h"
 #include "uthash.h"
+#include "util.h"
 
 size_t alpha_skip_lookup[256];
 size_t *find_skip_lookup;
@@ -44,7 +44,6 @@
 work_queue_t *work_queue_tail;
 int done_adding_files;
 pthread_cond_t files_ready;
-pthread_mutex_t print_mtx;
 pthread_mutex_t stats_mtx;
 pthread_mutex_t work_queue_mtx;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/uthash.h 
new/the_silver_searcher-0.33.0/src/uthash.h
--- old/the_silver_searcher-0.32.0/src/uthash.h 2016-05-10 19:39:38.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/uthash.h 2016-06-23 20:33:43.000000000 
+0200
@@ -24,9 +24,9 @@
 #ifndef UTHASH_H
 #define UTHASH_H
 
-#include <string.h> /* memcmp,strlen */
 #include <stddef.h> /* ptrdiff_t */
 #include <stdlib.h> /* exit() */
+#include <string.h> /* memcmp,strlen */
 
 /* These macros use decltype or the earlier __typeof GNU extension.
    As decltype is only available in newer compilers (VS2010 or gcc 4.3+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/util.c 
new/the_silver_searcher-0.33.0/src/util.c
--- old/the_silver_searcher-0.32.0/src/util.c   2016-05-10 19:39:40.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/util.c   2016-09-02 00:25:39.000000000 
+0200
@@ -1,12 +1,12 @@
 #include <ctype.h>
-#include <string.h>
-#include <stdio.h>
 #include <stdarg.h>
+#include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sys/stat.h>
 
-#include "util.h"
 #include "config.h"
+#include "util.h"
 
 #ifdef _WIN32
 #include <windows.h>
@@ -292,6 +292,7 @@
     size_t i;
 
     if (buf_len == 0) {
+        /* Is an empty file binary? Is it text? */
         return 0;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/src/util.h 
new/the_silver_searcher-0.33.0/src/util.h
--- old/the_silver_searcher-0.32.0/src/util.h   2016-05-10 19:39:40.000000000 
+0200
+++ new/the_silver_searcher-0.33.0/src/util.h   2016-06-23 20:33:43.000000000 
+0200
@@ -4,8 +4,8 @@
 #include <dirent.h>
 #include <pcre.h>
 #include <stdio.h>
-#include <string.h>
 #include <stdio.h>
+#include <string.h>
 #include <sys/time.h>
 
 #include "config.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/the_silver_searcher-0.32.0/the_silver_searcher.spec 
new/the_silver_searcher-0.33.0/the_silver_searcher.spec
--- old/the_silver_searcher-0.32.0/the_silver_searcher.spec     2016-05-16 
07:16:07.000000000 +0200
+++ new/the_silver_searcher-0.33.0/the_silver_searcher.spec     2016-09-25 
02:22:49.000000000 +0200
@@ -2,7 +2,7 @@
 
 
 Name:          the_silver_searcher
-Version:       0.32.0
+Version:       0.33.0
 Release:       1%{?dist}
 Summary:       A code-searching tool similar to ack, but faster
 
@@ -22,7 +22,7 @@
 Why use Ag?
 * It searches code about 3–5× faster than ack.
 * It ignores file patterns from your .gitignore and .hgignore.
-* If there are files in your source repo you don't want to search, just add 
their patterns to a .agignore file. *cough* extern *cough*
+* If there are files in your source repo you don't want to search, just add 
their patterns to a .ignore file. *cough* extern *cough*
 * The command name is 33% shorter than ack!
 
 How is it so fast?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/the_silver_searcher-0.32.0/the_silver_searcher.spec.in 
new/the_silver_searcher-0.33.0/the_silver_searcher.spec.in
--- old/the_silver_searcher-0.32.0/the_silver_searcher.spec.in  2016-05-10 
19:39:38.000000000 +0200
+++ new/the_silver_searcher-0.33.0/the_silver_searcher.spec.in  2016-09-24 
03:33:26.000000000 +0200
@@ -22,7 +22,7 @@
 Why use Ag?
 * It searches code about 3–5× faster than ack.
 * It ignores file patterns from your .gitignore and .hgignore.
-* If there are files in your source repo you don't want to search, just add 
their patterns to a .agignore file. *cough* extern *cough*
+* If there are files in your source repo you don't want to search, just add 
their patterns to a .ignore file. *cough* extern *cough*
 * The command name is 33% shorter than ack!
 
 How is it so fast?



Reply via email to