Subject: bug#27236: 25.1; grep: nonsensical default commands offered

From: Yuri Khan <[email-masked]>
Date: Mon, 5 Jun 2017 00:22:38 +0700

Running ‘grep’ and cycling through suggested defaults starts with the
value of ‘grep-command’, followed by that command with the current
symbol substituted. After that, it offers the same command but with the
name of a text editor or viewer added in front.

The call sequence is as follows:

* ‘grep’ computes the initial command and the first default command.
* ‘grep’ calls ‘read-shell-command’.
* ‘read-shell-command’ calls ‘read-from-minibuffer’ with a setup hook
that binds ‘minibuffer-default-add-function’ to
‘minibuffer-default-add-shell-commands’.
* ‘minibuffer-default-add-shell-commands’ interprets the provided
default command as a file name and consults
‘mailcap-file-default-commands’ for commands applicable to that file
name.
* The default command has no file extension, so
‘mailcap-file-default-commands’ assumes it is a text/plain file and
returns a list of text editors and viewers.

$ emacs -Q

M-x grep RET

⇒ Run grep (like this): grep --color -nH -e

<down>

⇒ Run grep (like this): grep --color -nH ''

<down>

⇒ Run grep (like this): less grep --color -nH ''

<down>

⇒ Run grep (like this): more grep --color -nH ''

<down>

⇒ Run grep (like this): /usr/bin/emacs24 -nw grep --color -nH ''

<down>

⇒ Run grep (like this): /usr/bin/emacs24 grep --color -nH ''

<down>

⇒ Run grep (like this): /usr/bin/emacs25 -nw grep --color -nH ''

<down>

⇒ Run grep (like this): /usr/bin/emacs25 grep --color -nH ''

<down>

⇒ Run grep (like this): geany grep --color -nH ''

<down>

⇒ Run grep (like this): gvim -f grep --color -nH ''

<down>

⇒ Run grep (like this): mousepad grep --color -nH ''

<down>

⇒ Run grep (like this): gedit --new-document grep --color -nH ''

<down>

⇒ Run grep (like this): kate -b grep --color -nH ''

<down>

⇒ Run grep (like this): vim grep --color -nH ''

<down>

⇒ Run grep (like this): view grep --color -nH ''

<down>

⇒ Run grep (like this): gview grep --color -nH ''

<down>

⇒ End of defaults; no next item

In GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2016-12-13, modified by Debian built on lgw01-55
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:    Ubuntu 16.04.2 LTS

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-pop=yes
 --enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-pop=yes
 --enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --with-x=yes --with-x-toolkit=gtk3
 --with-toolkit-scroll-bars 'CFLAGS=-g -O2 -fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LC_MONETARY: en_RU.UTF-8
  value of $LC_NUMERIC: en_RU.UTF-8
  value of $LC_TIME: en_RU.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
user-error: End of defaults; no next item [4 times]
Quit

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader sendmail mail-utils mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu
cl-loaddefs pcase cl-lib mail-prsvr mailcap shell pcomplete thingatpt
grep compile comint ansi-color ring time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 105943 8853)
 (symbols 48 20562 0)
 (miscs 40 49 146)
 (strings 32 22520 4388)
 (string-bytes 1 586592)
 (vectors 16 12928)
 (vector-slots 8 441075 3385)
 (floats 8 167 117)
 (intervals 56 249 0)
 (buffers 976 17)
 (heap 1024 35911 998))