help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shell-mode command completion with slashes


From: Barry Margolin
Subject: Re: shell-mode command completion with slashes
Date: Thu, 30 Oct 2008 21:56:55 -0400
User-agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)

In article <mailman.2518.1225396148.25473.help-gnu-emacs@gnu.org>,
 Stephen Berman <stephen.berman@gmx.net> wrote:

> On Thu, 30 Oct 2008 12:57:22 -0400 Barry Margolin <barmar@alum.mit.edu> wrote:
> 
> > I'm running Emacs 22.2.50 on OS X 10.5.5, and I use shell mode 
> > extensively.  I don't have "." in my $PATH, so if I want to run a 
> > program in the current directory I need to type "./program-name".  I'd 
> > like to be able to type "./prog<TAB>" and have it complete it, but it 
> > doesn't.  I looked at the source code of shell-dynamic-complete-command, 
> > and it explicitly checks for "~" or "/" in the word being completed, and 
> > gives up.  And shell-dynamic-complete-filename gives up if it's being 
> > used for the first word of a command, it only works for arguments.
> >
> > This used to work, probably before I upgraded from 22.1 to 22.2.  Anyone 
> > know how to get the old behavior back?  Did it use 
> > comint-dynamic-complete-filename instead of 
> > shell-dynamic-complete-filename?  The former doesn't check for the 
> > location in the command, but it also doesn't care whether the file it 
> > completes to is an executable.
> 
> This was caused by this change:
> 
> 2008-04-03  Chong Yidong  <cyd@stupidchicken.com>
> 
>       * shell.el (shell-dynamic-complete-filename): New fun.
>       (shell-dynamic-complete-functions): Use it.
> 
> This was after the release of 22.2 but backported.  It was fixed by this
> change:
> 
> 2008-07-23  Chong Yidong  <cyd@stupidchicken.com>
> 
>       * shell.el (shell-dynamic-complete-functions):
>       Use comint-dynamic-complete-filename as well (bug#361).
> 
> and that is in 22.3.

So it will include all files in the completion, not just executables.  
It also seems to make shell-dynamic-complete-filename redundant, since 
it's basically the same as comint-dynamic-complete-filename except that 
it will not expand the first word of a command.

-- 
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***


reply via email to

[Prev in Thread] Current Thread [Next in Thread]