GNU bug report logs - #28615
25.3; rgrep, grep-read-files confusingly completes file names

Previous Next

Package: emacs;

Reported by: ヌエルモリノ <vianchielfaura <at> gmail.com>

Date: Wed, 27 Sep 2017 07:03:01 UTC

Severity: minor

Found in version 25.3

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: ヌエルモリノ <vianchielfaura <at> gmail.com>
To: 28615 <at> debbugs.gnu.org
Subject: bug#28615: 25.3; rgrep, grep-read-files confusingly completes file names
Date: Wed, 27 Sep 2017 00:01:56 -0700
rgrep uses grep-read-files to read a filename as the second argument.
However, rgrep cannot actually accept a filename as the second argument.

For example, this is a normal rgrep call

  (rgrep "foo" "*.el" "/some/dir/" nil)

"*.el" is read with grep-read-files, which uses filename completion.
However, actually entering a filename doesn’t really work

  (rgrep "foo" "foo/*.el" "/some/dir/" nil)
  (rgrep "foo" "foo/bar.el" "/some/dir/" nil)

The second argument is passed to the find program as an -iname argument
as a glob, which matches against strictly the filename (e.g., like
file-name-nondirectory) and not the path.

There are a few points that could be improved here.

1. The grep-read-files prompt is confusing.  The prompt is: "Search for
\"foo\" in files: ".  It is not clear that this is asking for a filename
glob.

2. grep-read-files uses filename completion, which suggests that the
user should enter a filename.  This is very misleading as most paths
will fail to work, passing a filename without a slash will likely not
work as the user would expect, and almost certainly a glob would be the
desired input.

In GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.19)
 of 2017-09-16 built on juergen
Windowing system distributor 'The X.Org Foundation', version 11.0.11903000
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
 -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'




This bug report was last modified 7 years and 227 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.