Subject: 24.0.90; shell-mode cannot complete "cvs status -v Makefile"

From: Steve Revilak <[email-masked]>
Date: Mon, 26 Sep 2011 10:30:28 -0400

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

I've discovered a case where shell-mode completion fails.  Below are
instructions for reproducing this case.

(1) first, we need to create a small directory, where the files are
under CVS version control.

cvs -d /tmp/cvs-tmp init
mkdir zz
echo "# comment" > zz/Makefile
cd zz
cvs -d /tmp/cvs-tmp import -m "testbed" zz vendor release
rm -f Makefile
cvs -d /tmp/cvs-tmp/ co -d . zz

After completing these steps, you should be in the zz directory, which
looks like this:

   $ ls -l
   4 drwxr-xr-x 2 srevilak users 4096 Sep 26 10:12 CVS/
   4 -rw-r--r-- 1 srevilak users   10 Sep 26 10:12 Makefile

Note: all of (1) is done outside emacs

(2) within the zz directory, start emacs 24.0.90 as 

   emacs -Q .

(3) From emacs, start shell mode

   M-x shell RET

(4) within shell mode, type (without pressing RET)

  cvs status -v Make

(5) while point is immediately after the "e" in "Make", press TAB (for
tab completion).  We'd like emacs to complete the filename "Makefile"

(6) The message "No match" appears in the minibuffer.  Emacs does not
complete Make -> Makefile

For regression, repeat steps (2)--(5) with Emacs 23.3.  Emacs 23.3
successfully completes Make -> Makefile.

This appears to have something to do with directories under CVS
version control.  For example, if I remove the directory "zz/CVS", and
repeat steps (2)--(5) with emacs 24.0.90, then step (5) produces the
following message in the minibuffer: 

    Opening input file: no such file or directory, /home/srevilak/zz/CVS/Entries

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
     `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/emacs-24.0.90.1/share/emacs/24.0.90/etc/DEBUG.

In GNU Emacs 24.0.90.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.1)
  of 2011-09-26 on sunny
Windowing system distributor `The X.Org Foundation', version 11.0.10903000
configured using `configure  '--prefix=/usr/local/emacs-24.0.90.1/''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: C
   value of $LC_CTYPE: nil
   value of $LC_MESSAGES: nil
   value of $LC_MONETARY: nil
   value of $LC_NUMERIC: nil
   value of $LC_TIME: nil
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=local
   locale-coding-system: utf-8-unix
   default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-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 input:
M-x r e p o r t - e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message format-spec rfc822 mml easymenu
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
emacsbug time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel
x-win x-dnd tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face files text-properties overlay sha1 md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)