From: Ed Avis <eda@waniasset.com>
To: 19911@debbugs.gnu.org
Subject: bug#19911: 24.4; shell-mode command completion - smarter handling of backup files
Date: Fri, 20 Feb 2015 11:35:21 +0000 [thread overview]
Message-ID: <7E039918541B4C4183BFDB8F015C743032DD9159@WCL-EXCH02.wcl.local> (raw)
Create a file 'script' and make it executable. Edit it in emacs
so that a backup file 'script~' is also created (and Emacs makes
the backup file executable too).
Now m-x shell and type
ls script TAB TAB
The first TAB appears not to do anything, but the second TAB inserts a
space as a unique completion. This is because tab-completion for
filenames gives lower importance to backup files ending ~, so that they
won't by themselves cause a completions buffer to pop up. That is a
useful enhancement to the usability of tab-completion.
However, the same useful behaviour isn't applied for command completion,
in other words the first word of the shell command typed. Enter
./script TAB TAB
and you get a 'Complete, but not unique' message and on the second TAB
a completions buffer showing script and script~.
It would be more useful to treat the backup file consistently with what
happens for ordinary filename completion, so that the first TAB would
appear to do nothing, while the second TAB inserts a space.
In GNU Emacs 24.4.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.10.9)
of 2014-11-03 on wcl-linux04.wcl.local
Configured using:
`configure --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --program-prefix=
--disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
--libexecdir=/usr/libexec --localstatedir=/var
--sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
--with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
--with-gpm=no build_alias=x86_64-redhat-linux-gnu
host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g
-pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4
-grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ''
Important settings:
value of $LC_COLLATE: C
value of $LC_CTYPE: en_GB.UTF-8
value of $LC_MESSAGES: en_GB.UTF-8
value of $LC_MONETARY: en_GB.UTF-8
value of $LC_NUMERIC: en_GB.UTF-8
value of $LC_TIME: en_GB.UTF-8
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: Shell
Minor modes in effect:
diff-auto-refine-mode: t
shell-dirtrack-mode: t
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-a
C-@ C-e ESC w C-x b RET C-y DEL / ; RET TAB e x i t
SPC 1 ; ESC x p e r l SPC m o SPC RET TAB RET C-x C-s
ESC x s h e l l RET c DEL C-x b k w TAB - s TAB RET
ESC > . DEL p DEL c h m o d SPC a + x SPC h a r TAB
RET ~ / s v DEL DEL C-a C-k d e l t a RET ~ / i n s
t TAB d e l TAB b DEL d e TAB - t e s t = h a r DEL
DEL DEL . / h a r n e s s SPC - c p _ m i n i m a l
= 1 SPC 0 RET C-x C-f h a r TAB RET C-p C-p C-f C-f
C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-d m { C-e DEL DEL } ; C-x C-s C-x b RET ESC p
RET . / h C-a C-k C-x b RET C-a C-n C-k d i e SPC "
w r o n g SPC o p u t p DEL DEL DEL DEL o u t p DEL
DEL DEL DEL u t p u t SPC $ r " ; C-x C-s C-x b RET
ESC p RET C-x C-c C-c C-c C-c C-g C-c C-c . / h a r
TAB 0 RET ESC p DEL SPC 0 RET . / h a TAB TAB TAB C-a
C-k ESC x r e p o r t SPC e m SPC b SPC RET
Recent messages:
Saving file /home/eda/svn_working/repos/harness...
Wrote /home/eda/svn_working/repos/harness
Saving file /home/eda/svn_working/repos/harness...
Wrote /home/eda/svn_working/repos/harness
(No files need saving)
C-c C-c is undefined
C-c C-g is undefined
Quit
Making completion list...
Complete, but not unique
Load-path shadows:
None found.
Features:
(shadow sort emacsbug sendmail conf-mode python json css-mode smie
mail-extr log-view smerge-mode kmacro mule-util tabify imenu man
pcmpl-rpm sql view dired vc-git ffap thingatpt url-parse auth-source
eieio eieio-core gnus-util password-cache url-vars help-mode diff-mode
vc cus-edit wid-edit cus-start cus-load perl-mode misearch multi-isearch
vc-dispatcher vc-svn nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml
rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph
nxml-enc xmltok dabbrev pcmpl-unix xterm time-date log-edit easy-mmode
message format-spec rfc822 mml 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 pcvs-util add-log server
csharp-mode advice help-fns byte-opt bytecomp byte-compile cconv
cc-langs cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs zoom-frm frame-cmds frame-fns cl-macs
avoid cl gv cl-loaddefs cl-lib compile shell pcomplete comint ring
ansi-color tooltip electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment lisp-mode prog-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 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 make-network-process dbusbind gfilenotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)
Memory information:
((conses 16 588436 37383)
(symbols 48 29341 0)
(miscs 40 405 2391)
(strings 32 56756 5895)
(string-bytes 1 2915522)
(vectors 16 21282)
(vector-slots 8 540657 44252)
(floats 8 234 583)
(intervals 56 70434 224)
(buffers 960 59)
(heap 1024 56831 1822))
______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
next reply other threads:[~2015-02-20 11:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-20 11:35 Ed Avis [this message]
2015-02-20 11:43 ` bug#19911: 24.4; shell-mode command completion - smarter handling of backup files Eli Zaretskii
2015-02-20 11:47 ` Ed Avis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7E039918541B4C4183BFDB8F015C743032DD9159@WCL-EXCH02.wcl.local \
--to=eda@waniasset.com \
--cc=19911@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.