--- Begin Message ---
Subject: |
Shell-mode: File completion breaks editing previous commands |
Date: |
Fri, 4 Apr 2008 12:39:53 +0100 |
Emacs shell mode allows editing of previous commands. These can then
be executed by pressing return. Shell mode also allows tab completion
to expand filenames. These do not work together. If we try to modify
a previously executed command (to re-execute it with different params)
and attempt to use filename completion, the beginning of the command
is lost.
For example, the following sequence:
touch foo bar
echo bar
Edit the echo command to "touch foo bar" and press return.
produces the following output:
% touch foo bar
% echo bar foo
foo
% foo
bash: ./foo: Permission denied
%
This behaviour worked under Emacs 21.
Richard
In GNU Emacs 22.2.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2008-03-31 on belgrano
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure '--with-x' '--without-sound''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: C
value of $LC_CTYPE: en_GB.UTF-8
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
locale-coding-system: utf-8
default-enable-multibyte-characters: t
Major mode: Shell
Minor modes in effect:
shell-dirtrack-mode: t
delete-selection-mode: t
pc-selection-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
SPC SPC SPC SPC SPC SPC SPC <escape> x s h e l l <return>
t o u c h SPC f o o b a <backspace> <backspace> SPC
b a r <return> e c h o SPC f o <tab> <return> <up>
<up> <right> <right> <right> <right> <right> b a <tab>
<return> <escape> x <up> <up> <return>
Recent messages:
Completed
Completing file name...
Completed
Making completion list... [2 times]
Loading emacsbug...done
Mark set [2 times]
Completing file name...
Completed
Completing file name...
Completed
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#114: Shell-mode: File completion breaks editing previous commands |
Date: |
Mon, 17 Oct 2011 12:34:41 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux) |
> I think there are two issues:
> 1- handling the `insert' case as well as possible, because a lot of code
> uses just `insert' (tho in practice very few cases seem to show up:
> yank, completion, any other?).
I've installed the patch that makes comint use nil rather than `input'
for the field property.
> 2- changing (some) users of `insert' such as completion to use
> insert-and-inherit.
And I've also installed a patch that makes completion use
insert-and-inherit for good measure.
Stefan
--- End Message ---