emacs-devel
[Top][All Lists]
Advanced

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

[gmane.emacs.help] Re: shell-mode command completion with slashes


From: Stephen Berman
Subject: [gmane.emacs.help] Re: shell-mode command completion with slashes
Date: Fri, 31 Oct 2008 09:46:46 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Are the consequences Barry Margolin notes below ("include all files in
the completion, not just executables", "shell-dynamic-complete-filename
redundant") intended by the 2008-07-23 change?

Steve Berman


From: Barry Margolin <address@hidden>
Newsgroups: gmane.emacs.help
Subject: Re: shell-mode command completion with slashes
Date: Thu, 30 Oct 2008 21:56:55 -0400
Archived-At: <http://permalink.gmane.org/gmane.emacs.help/59280>

In article <address@hidden>,
 Stephen Berman <address@hidden> wrote:

> On Thu, 30 Oct 2008 12:57:22 -0400 Barry Margolin <address@hidden> 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  <address@hidden>
> 
>       * 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  <address@hidden>
> 
>       * 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, address@hidden
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]