* bug#74944: 31.0.50; Double TAB does not pop up *Completions* buffer when completing filename with dashes
@ 2024-12-18 12:50 Visuwesh
2024-12-21 12:31 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 4+ messages in thread
From: Visuwesh @ 2024-12-18 12:50 UTC (permalink / raw)
To: 74944
When completing filenames with dashes in them inside a shell-buffer,
double TAB does not pop open the *Completions* buffer because it
conflicts with argument completion. To reproduce,
1. cd /tmp
2. mkdir test; cd test
3. touch blah_blah-pos-1.xyz; touch wowow-pos-1.xyz
4. Go to this directory in a shell buffer
5. Type rm pos.xyz TAB
6. Observe how it completes to `rm -pos-1.xyz'
7. Press TAB again and observe *Completions* buffer not popping up
I expect Emacs to fall back to completing filenames when completing
against arguments fail. The current situation is a bit confusing (and
annoying) when completing filenames like these.
In GNU Emacs 31.0.50 (build 27, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.18.2, Xaw scroll bars) of 2024-12-07 built on astatine
Repository revision: 9ddec89e422d0dd6e9069731b8f2dd2c90aa5607
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101014
System Description: Debian GNU/Linux trixie/sid
Configured using:
'configure --with-sound=alsa --with-x-toolkit=lucid --without-xaw3d
--without-gconf --without-libsystemd --with-cairo CFLAGS=-g3'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG
SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM
XINPUT2 XPM LUCID ZLIB
Important settings:
value of $LC_MONETARY: ta_IN.UTF-8
value of $LC_NUMERIC: ta_IN.UTF-8
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: Shell
Minor modes in effect:
TeX-PDF-mode: t
recentf-mode: t
buffer-face-mode: t
eros-mode: t
pdf-occur-global-minor-mode: t
minibuffer-depth-indicate-mode: t
repeat-mode: t
display-time-mode: t
display-battery-mode: t
delete-selection-mode: t
xterm-mouse-mode: t
vz/winkey-minor-mode: t
straight-use-package-mode: t
straight-package-neutering-mode: t
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
use-hard-newlines: t
tab-bar-history-mode: t
tab-bar-mode: t
file-name-shadow-mode: t
context-menu-mode: t
global-font-lock-mode: t
font-lock-mode: t
undelete-frame-mode: t
minibuffer-regexp-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
/home/viz/lib/emacs/straight/build/transient/transient hides /home/viz/lib/ports/emacs/lisp/transient
/home/viz/lib/emacs/straight/build/org/ob-awk hides /home/viz/lib/ports/emacs/lisp/org/ob-awk
/home/viz/lib/emacs/straight/build/org/org-capture hides /home/viz/lib/ports/emacs/lisp/org/org-capture
/home/viz/lib/emacs/straight/build/org/ob-sql hides /home/viz/lib/ports/emacs/lisp/org/ob-sql
/home/viz/lib/emacs/straight/build/org/ol-doi hides /home/viz/lib/ports/emacs/lisp/org/ol-doi
/home/viz/lib/emacs/straight/build/org/org-plot hides /home/viz/lib/ports/emacs/lisp/org/org-plot
/home/viz/lib/emacs/straight/build/org/ob-dot hides /home/viz/lib/ports/emacs/lisp/org/ob-dot
/home/viz/lib/emacs/straight/build/org/ol-eshell hides /home/viz/lib/ports/emacs/lisp/org/ol-eshell
/home/viz/lib/emacs/straight/build/org/ob-C hides /home/viz/lib/ports/emacs/lisp/org/ob-C
/home/viz/lib/emacs/straight/build/org/ob-ref hides /home/viz/lib/ports/emacs/lisp/org/ob-ref
/home/viz/lib/emacs/straight/build/org/org-list hides /home/viz/lib/ports/emacs/lisp/org/org-list
/home/viz/lib/emacs/straight/build/org/org-mouse hides /home/viz/lib/ports/emacs/lisp/org/org-mouse
/home/viz/lib/emacs/straight/build/org/ob-haskell hides /home/viz/lib/ports/emacs/lisp/org/ob-haskell
/home/viz/lib/emacs/straight/build/org/ob-plantuml hides /home/viz/lib/ports/emacs/lisp/org/ob-plantuml
/home/viz/lib/emacs/straight/build/org/org-keys hides /home/viz/lib/ports/emacs/lisp/org/org-keys
/home/viz/lib/emacs/straight/build/org/org-clock hides /home/viz/lib/ports/emacs/lisp/org/org-clock
/home/viz/lib/emacs/straight/build/org/ox-html hides /home/viz/lib/ports/emacs/lisp/org/ox-html
/home/viz/lib/emacs/straight/build/org/oc-biblatex hides /home/viz/lib/ports/emacs/lisp/org/oc-biblatex
/home/viz/lib/emacs/straight/build/org/ob-table hides /home/viz/lib/ports/emacs/lisp/org/ob-table
/home/viz/lib/emacs/straight/build/org/ob hides /home/viz/lib/ports/emacs/lisp/org/ob
/home/viz/lib/emacs/straight/build/org/ol-w3m hides /home/viz/lib/ports/emacs/lisp/org/ol-w3m
/home/viz/lib/emacs/straight/build/org/ob-groovy hides /home/viz/lib/ports/emacs/lisp/org/ob-groovy
/home/viz/lib/emacs/straight/build/org/org-footnote hides /home/viz/lib/ports/emacs/lisp/org/org-footnote
/home/viz/lib/emacs/straight/build/org/org-entities hides /home/viz/lib/ports/emacs/lisp/org/org-entities
/home/viz/lib/emacs/straight/build/org/ob-org hides /home/viz/lib/ports/emacs/lisp/org/ob-org
/home/viz/lib/emacs/straight/build/org/org-macs hides /home/viz/lib/ports/emacs/lisp/org/org-macs
/home/viz/lib/emacs/straight/build/org/ob-shell hides /home/viz/lib/ports/emacs/lisp/org/ob-shell
/home/viz/lib/emacs/straight/build/org/ob-R hides /home/viz/lib/ports/emacs/lisp/org/ob-R
/home/viz/lib/emacs/straight/build/org/ob-lisp hides /home/viz/lib/ports/emacs/lisp/org/ob-lisp
/home/viz/lib/emacs/straight/build/org/ob-js hides /home/viz/lib/ports/emacs/lisp/org/ob-js
/home/viz/lib/emacs/straight/build/org/ob-maxima hides /home/viz/lib/ports/emacs/lisp/org/ob-maxima
/home/viz/lib/emacs/straight/build/org/org-element-ast hides /home/viz/lib/ports/emacs/lisp/org/org-element-ast
/home/viz/lib/emacs/straight/build/org/ox-ascii hides /home/viz/lib/ports/emacs/lisp/org/ox-ascii
/home/viz/lib/emacs/straight/build/org/org-persist hides /home/viz/lib/ports/emacs/lisp/org/org-persist
/home/viz/lib/emacs/straight/build/org/ox-md hides /home/viz/lib/ports/emacs/lisp/org/ox-md
/home/viz/lib/emacs/straight/build/org/org-duration hides /home/viz/lib/ports/emacs/lisp/org/org-duration
/home/viz/lib/emacs/straight/build/org/ob-lilypond hides /home/viz/lib/ports/emacs/lisp/org/ob-lilypond
/home/viz/lib/emacs/straight/build/org/ob-ruby hides /home/viz/lib/ports/emacs/lisp/org/ob-ruby
/home/viz/lib/emacs/straight/build/org/ob-core hides /home/viz/lib/ports/emacs/lisp/org/ob-core
/home/viz/lib/emacs/straight/build/org/ol-mhe hides /home/viz/lib/ports/emacs/lisp/org/ol-mhe
/home/viz/lib/emacs/straight/build/org/ob-ditaa hides /home/viz/lib/ports/emacs/lisp/org/ob-ditaa
/home/viz/lib/emacs/straight/build/org/ol-irc hides /home/viz/lib/ports/emacs/lisp/org/ol-irc
/home/viz/lib/emacs/straight/build/org/ob-fortran hides /home/viz/lib/ports/emacs/lisp/org/ob-fortran
/home/viz/lib/emacs/straight/build/org/org-feed hides /home/viz/lib/ports/emacs/lisp/org/org-feed
/home/viz/lib/emacs/straight/build/org/ob-java hides /home/viz/lib/ports/emacs/lisp/org/ob-java
/home/viz/lib/emacs/straight/build/org/ox hides /home/viz/lib/ports/emacs/lisp/org/ox
/home/viz/lib/emacs/straight/build/org/oc-csl hides /home/viz/lib/ports/emacs/lisp/org/oc-csl
/home/viz/lib/emacs/straight/build/org/ob-exp hides /home/viz/lib/ports/emacs/lisp/org/ob-exp
/home/viz/lib/emacs/straight/build/org/org-loaddefs hides /home/viz/lib/ports/emacs/lisp/org/org-loaddefs
/home/viz/lib/emacs/straight/build/org/ob-scheme hides /home/viz/lib/ports/emacs/lisp/org/ob-scheme
/home/viz/lib/emacs/straight/build/org/ob-tangle hides /home/viz/lib/ports/emacs/lisp/org/ob-tangle
/home/viz/lib/emacs/straight/build/org/ox-koma-letter hides /home/viz/lib/ports/emacs/lisp/org/ox-koma-letter
/home/viz/lib/emacs/straight/build/org/ob-gnuplot hides /home/viz/lib/ports/emacs/lisp/org/ob-gnuplot
/home/viz/lib/emacs/straight/build/org/org-crypt hides /home/viz/lib/ports/emacs/lisp/org/org-crypt
/home/viz/lib/emacs/straight/build/org/org-datetree hides /home/viz/lib/ports/emacs/lisp/org/org-datetree
/home/viz/lib/emacs/straight/build/org/org-attach hides /home/viz/lib/ports/emacs/lisp/org/org-attach
/home/viz/lib/emacs/straight/build/org/ob-julia hides /home/viz/lib/ports/emacs/lisp/org/ob-julia
/home/viz/lib/emacs/straight/build/org/ob-sqlite hides /home/viz/lib/ports/emacs/lisp/org/ob-sqlite
/home/viz/lib/emacs/straight/build/org/org-cycle hides /home/viz/lib/ports/emacs/lisp/org/org-cycle
/home/viz/lib/emacs/straight/build/org/org-faces hides /home/viz/lib/ports/emacs/lisp/org/org-faces
/home/viz/lib/emacs/straight/build/org/org-mobile hides /home/viz/lib/ports/emacs/lisp/org/org-mobile
/home/viz/lib/emacs/straight/build/org/org-ctags hides /home/viz/lib/ports/emacs/lisp/org/org-ctags
/home/viz/lib/emacs/straight/build/org/ob-latex hides /home/viz/lib/ports/emacs/lisp/org/ob-latex
/home/viz/lib/emacs/straight/build/org/ob-matlab hides /home/viz/lib/ports/emacs/lisp/org/ob-matlab
/home/viz/lib/emacs/straight/build/org/ob-sed hides /home/viz/lib/ports/emacs/lisp/org/ob-sed
/home/viz/lib/emacs/straight/build/org/org-attach-git hides /home/viz/lib/ports/emacs/lisp/org/org-attach-git
/home/viz/lib/emacs/straight/build/org/ob-python hides /home/viz/lib/ports/emacs/lisp/org/ob-python
/home/viz/lib/emacs/straight/build/org/ox-icalendar hides /home/viz/lib/ports/emacs/lisp/org/ox-icalendar
/home/viz/lib/emacs/straight/build/org/org-tempo hides /home/viz/lib/ports/emacs/lisp/org/org-tempo
/home/viz/lib/emacs/straight/build/org/ob-screen hides /home/viz/lib/ports/emacs/lisp/org/ob-screen
/home/viz/lib/emacs/straight/build/org/org-num hides /home/viz/lib/ports/emacs/lisp/org/org-num
/home/viz/lib/emacs/straight/build/org/ob-forth hides /home/viz/lib/ports/emacs/lisp/org/ob-forth
/home/viz/lib/emacs/straight/build/org/ox-odt hides /home/viz/lib/ports/emacs/lisp/org/ox-odt
/home/viz/lib/emacs/straight/build/org/ol-bbdb hides /home/viz/lib/ports/emacs/lisp/org/ol-bbdb
/home/viz/lib/emacs/straight/build/org/org-table hides /home/viz/lib/ports/emacs/lisp/org/org-table
/home/viz/lib/emacs/straight/build/org/ox-man hides /home/viz/lib/ports/emacs/lisp/org/ox-man
/home/viz/lib/emacs/straight/build/org/ox-org hides /home/viz/lib/ports/emacs/lisp/org/ox-org
/home/viz/lib/emacs/straight/build/org/ob-comint hides /home/viz/lib/ports/emacs/lisp/org/ob-comint
/home/viz/lib/emacs/straight/build/org/ob-clojure hides /home/viz/lib/ports/emacs/lisp/org/ob-clojure
/home/viz/lib/emacs/straight/build/org/org-id hides /home/viz/lib/ports/emacs/lisp/org/org-id
/home/viz/lib/emacs/straight/build/org/oc-natbib hides /home/viz/lib/ports/emacs/lisp/org/oc-natbib
/home/viz/lib/emacs/straight/build/org/ox-texinfo hides /home/viz/lib/ports/emacs/lisp/org/ox-texinfo
/home/viz/lib/emacs/straight/build/org/org-agenda hides /home/viz/lib/ports/emacs/lisp/org/org-agenda
/home/viz/lib/emacs/straight/build/org/org-src hides /home/viz/lib/ports/emacs/lisp/org/org-src
/home/viz/lib/emacs/straight/build/org/ob-emacs-lisp hides /home/viz/lib/ports/emacs/lisp/org/ob-emacs-lisp
/home/viz/lib/emacs/straight/build/org/ob-css hides /home/viz/lib/ports/emacs/lisp/org/ob-css
/home/viz/lib/emacs/straight/build/org/ox-latex hides /home/viz/lib/ports/emacs/lisp/org/ox-latex
/home/viz/lib/emacs/straight/build/org/oc hides /home/viz/lib/ports/emacs/lisp/org/oc
/home/viz/lib/emacs/straight/build/org/ol hides /home/viz/lib/ports/emacs/lisp/org/ol
/home/viz/lib/emacs/straight/build/org/org-element hides /home/viz/lib/ports/emacs/lisp/org/org-element
/home/viz/lib/emacs/straight/build/org/org hides /home/viz/lib/ports/emacs/lisp/org/org
/home/viz/lib/emacs/straight/build/org/org-goto hides /home/viz/lib/ports/emacs/lisp/org/org-goto
/home/viz/lib/emacs/straight/build/org/ob-eval hides /home/viz/lib/ports/emacs/lisp/org/ob-eval
/home/viz/lib/emacs/straight/build/org/org-habit hides /home/viz/lib/ports/emacs/lisp/org/org-habit
/home/viz/lib/emacs/straight/build/org/org-pcomplete hides /home/viz/lib/ports/emacs/lisp/org/org-pcomplete
/home/viz/lib/emacs/straight/build/org/ol-eww hides /home/viz/lib/ports/emacs/lisp/org/ol-eww
/home/viz/lib/emacs/straight/build/org/ob-processing hides /home/viz/lib/ports/emacs/lisp/org/ob-processing
/home/viz/lib/emacs/straight/build/org/org-timer hides /home/viz/lib/ports/emacs/lisp/org/org-timer
/home/viz/lib/emacs/straight/build/org/org-inlinetask hides /home/viz/lib/ports/emacs/lisp/org/org-inlinetask
/home/viz/lib/emacs/straight/build/org/ol-bibtex hides /home/viz/lib/ports/emacs/lisp/org/ol-bibtex
/home/viz/lib/emacs/straight/build/org/org-fold-core hides /home/viz/lib/ports/emacs/lisp/org/org-fold-core
/home/viz/lib/emacs/straight/build/org/oc-basic hides /home/viz/lib/ports/emacs/lisp/org/oc-basic
/home/viz/lib/emacs/straight/build/org/ox-publish hides /home/viz/lib/ports/emacs/lisp/org/ox-publish
/home/viz/lib/emacs/straight/build/org/oc-bibtex hides /home/viz/lib/ports/emacs/lisp/org/oc-bibtex
/home/viz/lib/emacs/straight/build/org/org-macro hides /home/viz/lib/ports/emacs/lisp/org/org-macro
/home/viz/lib/emacs/straight/build/org/ol-docview hides /home/viz/lib/ports/emacs/lisp/org/ol-docview
/home/viz/lib/emacs/straight/build/org/org-fold hides /home/viz/lib/ports/emacs/lisp/org/org-fold
/home/viz/lib/emacs/straight/build/org/org-lint hides /home/viz/lib/ports/emacs/lisp/org/org-lint
/home/viz/lib/emacs/straight/build/org/org-version hides /home/viz/lib/ports/emacs/lisp/org/org-version
/home/viz/lib/emacs/straight/build/org/ob-ocaml hides /home/viz/lib/ports/emacs/lisp/org/ob-ocaml
/home/viz/lib/emacs/straight/build/org/ob-sass hides /home/viz/lib/ports/emacs/lisp/org/ob-sass
/home/viz/lib/emacs/straight/build/org/ob-perl hides /home/viz/lib/ports/emacs/lisp/org/ob-perl
/home/viz/lib/emacs/straight/build/org/ol-rmail hides /home/viz/lib/ports/emacs/lisp/org/ol-rmail
/home/viz/lib/emacs/straight/build/org/org-protocol hides /home/viz/lib/ports/emacs/lisp/org/org-protocol
/home/viz/lib/emacs/straight/build/org/ol-info hides /home/viz/lib/ports/emacs/lisp/org/ol-info
/home/viz/lib/emacs/straight/build/org/ob-eshell hides /home/viz/lib/ports/emacs/lisp/org/ob-eshell
/home/viz/lib/emacs/straight/build/org/org-refile hides /home/viz/lib/ports/emacs/lisp/org/org-refile
/home/viz/lib/emacs/straight/build/org/ob-octave hides /home/viz/lib/ports/emacs/lisp/org/ob-octave
/home/viz/lib/emacs/straight/build/org/ob-lua hides /home/viz/lib/ports/emacs/lisp/org/ob-lua
/home/viz/lib/emacs/straight/build/org/ol-gnus hides /home/viz/lib/ports/emacs/lisp/org/ol-gnus
/home/viz/lib/emacs/straight/build/org/ob-makefile hides /home/viz/lib/ports/emacs/lisp/org/ob-makefile
/home/viz/lib/emacs/straight/build/org/org-archive hides /home/viz/lib/ports/emacs/lisp/org/org-archive
/home/viz/lib/emacs/straight/build/org/ob-lob hides /home/viz/lib/ports/emacs/lisp/org/ob-lob
/home/viz/lib/emacs/straight/build/org/ol-man hides /home/viz/lib/ports/emacs/lisp/org/ol-man
/home/viz/lib/emacs/straight/build/org/org-compat hides /home/viz/lib/ports/emacs/lisp/org/org-compat
/home/viz/lib/emacs/straight/build/org/org-colview hides /home/viz/lib/ports/emacs/lisp/org/org-colview
/home/viz/lib/emacs/straight/build/org/org-indent hides /home/viz/lib/ports/emacs/lisp/org/org-indent
/home/viz/lib/emacs/straight/build/org/ox-beamer hides /home/viz/lib/ports/emacs/lisp/org/ox-beamer
/home/viz/lib/emacs/straight/build/org/ob-calc hides /home/viz/lib/ports/emacs/lisp/org/ob-calc
Features:
(shadow emacsbug msb pcmpl-linux transmission calc-bin xapian-lite xeft
notifications comint-mime olivetti pdf-sync pdf-outline pdf-links
pdf-history pdf-roll calc-map calc-vec f90 calc-mode calccomp calc-arith
calc-misc calc-alg calc-aent calc-menu math-delimiters gnuplot-context
ox-beamer string-edit ob-ditaa ob-plantuml org-clock org-colview
org-crypt org-ctags org-mouse org-plot org-protocol ox-md ox-texinfo
cus-start ox-org gnuplot info-look gnus-fun shortdoc comp-common
inspector edebug descr-text help-at-pt display-line-numbers
bug-reference url-http url-auth url-gw url-cache cl-print help-fns
radix-tree flyspell ecomplete man etags fileloop imenu-xref icomplete
misc dabbrev ispell tabify org-datetree org-capture doct expand-region
text-mode-expansions cc-mode-expansions the-org-mode-expansions
python-el-fgallina-expansions latex-mode-expansions er-basic-expansions
expand-region-core expand-region-custom reveal shell-command+ gnus-dired
flow-fill network-stream nsm gnus-cite qp mm-archive mail-extr textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-async gnus-bcklg sort gnus-ml nndraft nnmh nnmaildir nnagent nnml
nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache typo wdired avy rfc2104 pcmpl-unix latex latex-flymake
tex-ispell tex-style tex smerge-mode org-pdftools pdf-annot facemenu
org-noter latexenc oc-bibtex image-file image-converter oc-basic
org-ql-find org-ql-completing-read org-ql-search org-ql-view transient
ov crm org-super-agenda ht f s org-ql peg ts dash org-habit org-duration
embark-org ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
ox-icalendar org-agenda ox-html ox-mathml org-latex-preview ox-latex
table ox-ascii ox-publish ox org-element org-persist avl-tree generator
ob-fortran ob-python python ob-calc calc-store calc-trail calc-ext calc
calc-loaddefs rect calc-macs ob-C cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell ob-racket
cdlatex texmathp org-attach ol-eww eww vtable mule-util url-queue mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap
nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus
nnheader range ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi
org-link-doi org-tempo org-id org-refile org-element-ast inline ol-man
org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src
ob-comint org-pcomplete org-list org-footnote org-faces org-entities
noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol
org-fold org-fold-core org-keys oc org-loaddefs org-version org-compat
org-macs recentf tree-widget misearch multi-isearch pulse color vc-git
diff-mode track-changes vc-backup log-view log-edit message sendmail
puny rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader add-log
pcvs-util vc vc-dispatcher diff xref face-remap sh-script smie treesit
executable tramp-cmds tramp-sh tramp-cache tramp trampver
tramp-integration tramp-message time-stamp tramp-compat xdg shell
pcomplete parse-time tramp-loaddefs dired-aux yank-media cursor-sensor
paredit edmacro kmacro eros checkdoc lisp-mnt flymake project
wordel-autoloads mines-autoloads sokoban-autoloads ement-autoloads
svg-lib-autoloads taxy-magit-section-autoloads magit-section-autoloads
taxy-autoloads persist-autoloads nov-autoloads esxml-autoloads
kv-autoloads transmission-autoloads csv-mode-autoloads
lua-mode-autoloads gnuplot-autoloads go-mode-autoloads
racket-mode-autoloads eros-autoloads comint-mime-autoloads
writegood-mode-autoloads embark ffap thingatpt compat embark-autoloads
xeft-autoloads siege-mode-autoloads paredit-autoloads puni-autoloads
expand-region-autoloads filladapt-autoloads compose org-ql-autoloads
transient-autoloads ov-autoloads org-super-agenda-autoloads ts-autoloads
ht-autoloads f-autoloads s-autoloads dash-autoloads
org-pdftools-autoloads org-noter-autoloads change-env-autoloads
math-delimiters-autoloads doct-autoloads emacs-ob-racket-autoloads
valign-autoloads cdlatex-autoloads tempo bibtex iso8601 time-date
auctex-autoloads tex-site pdf-occur ibuf-ext ibuffer ibuffer-loaddefs
tablist advice tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
let-alist pdf-misc imenu pdf-tools package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source eieio eieio-core json url-vars compile comint ansi-osc
ansi-color ring cus-edit wid-edit pdf-view password-cache jka-compr
pdf-cache pdf-info tq pdf-util pdf-macs image-mode dired-x dired
dired-loaddefs exif pdf-tools-autoloads tablist-autoloads typo-autoloads
mb-depth repeat visual-fill-autoloads olivetti-autoloads time
format-spec battery filenotify dom tamil99 quail disp-table
lacarte-autoloads shell-command-plus-autoloads delsel xt-mouse cus-load
avy-autoloads icalendar diary-lib diary-loaddefs cal-menu calendar
cal-loaddefs plz warnings icons easy-mmode dired-du-autoloads finder-inf
filecache imenu-xref-autoloads ert map byte-opt ewoc debug backtrace
find-func qrencode-autoloads derived tochemfig-autoloads
chemtable-autoloads molar-mass-autoloads files-x vc-backup-autoloads
skeleton saveplace-pdf-view saveplace bookmark text-property-search pp
saveplace-pdf-view-autoloads dbus xml rx plz-autoloads
inspector-autoloads xr-autoloads info straight-autoloads cl-seq cl-extra
help-mode straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp
byte-compile pcase vz-nh-theme vz-options-theme rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process
emacs)
Memory information:
((conses 16 2825494 612612) (symbols 48 76187 8)
(strings 32 485518 42939) (string-bytes 1 55643806)
(vectors 16 194274) (vector-slots 8 2813432 396900)
(floats 8 49048 24282) (intervals 56 197603 1119) (buffers 984 175))
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#74944: 31.0.50; Double TAB does not pop up *Completions* buffer when completing filename with dashes
2024-12-18 12:50 bug#74944: 31.0.50; Double TAB does not pop up *Completions* buffer when completing filename with dashes Visuwesh
@ 2024-12-21 12:31 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-22 11:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 4+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-21 12:31 UTC (permalink / raw)
To: Visuwesh; +Cc: 74944
Visuwesh <visuweshm@gmail.com> writes:
> When completing filenames with dashes in them inside a shell-buffer,
> double TAB does not pop open the *Completions* buffer because it
> conflicts with argument completion. To reproduce,
>
> 1. cd /tmp
> 2. mkdir test; cd test
> 3. touch blah_blah-pos-1.xyz; touch wowow-pos-1.xyz
> 4. Go to this directory in a shell buffer
> 5. Type rm pos.xyz TAB
> 6. Observe how it completes to `rm -pos-1.xyz'
> 7. Press TAB again and observe *Completions* buffer not popping up
Hi Visuwesh,
I can reproduce this. FWIW, by instrumenting
`shell-filename-completion' with edebug, I can see that there is a
correct *Completions* buffer at some point but it "disappears" later.
I'll try to investigate it further.
--
Manuel Giraud
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#74944: 31.0.50; Double TAB does not pop up *Completions* buffer when completing filename with dashes
2024-12-21 12:31 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-22 11:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-26 13:11 ` Visuwesh
0 siblings, 1 reply; 4+ messages in thread
From: Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-22 11:45 UTC (permalink / raw)
To: 74944; +Cc: visuweshm
Manuel Giraud via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs@gnu.org> writes:
> Visuwesh <visuweshm@gmail.com> writes:
>
>> When completing filenames with dashes in them inside a shell-buffer,
>> double TAB does not pop open the *Completions* buffer because it
>> conflicts with argument completion. To reproduce,
>>
>> 1. cd /tmp
>> 2. mkdir test; cd test
>> 3. touch blah_blah-pos-1.xyz; touch wowow-pos-1.xyz
>> 4. Go to this directory in a shell buffer
>> 5. Type rm pos.xyz TAB
>> 6. Observe how it completes to `rm -pos-1.xyz'
>> 7. Press TAB again and observe *Completions* buffer not popping up
>
> Hi Visuwesh,
>
> I can reproduce this. FWIW, by instrumenting
> `shell-filename-completion' with edebug, I can see that there is a
> correct *Completions* buffer at some point but it "disappears" later.
> I'll try to investigate it further.
Hi,
I did some more tests but this issue is tricky for me and I'm not
familiar with the completion framework. Anyway, here is what I did (and
think I understood):
- First, I instrument `shell-filename-completion' with edebug
- I enter "rm -pos-1.xyz" and hit Tab with the point is right
after the 'z'
- Edebug is trigerred and I can step through it hitting Space.
- All seems fine, but at the end of this
`shell-filename-completion' call (which returns something),
Edebug is triggered again this time with the point placed just
before the first '-'
I really don't understand why there is what seems to be a *second* call
to `shell-filename-completion' while the first one seems to have
succeeded. The backtrace from the first call looks like this:
--8<---------------cut here---------------start------------->8---
shell-command-completion()
run-hook-with-args-until-success(shell-command-completion)
comint-completion-at-point()
completion--capf-wrapper(comint-completion-at-point all)
run-hook-wrapped(completion--capf-wrapper comint-completion-at-point all)
completion-at-point()
funcall-interactively(completion-at-point)
call-interactively(completion-at-point nil nil)
command-execute(completion-at-point)
--8<---------------cut here---------------end--------------->8---
And here is the backtrace from this "second" call:
--8<---------------cut here---------------start------------->8---
shell-command-completion()
run-hook-with-args-until-success(shell-command-completion)
comint-completion-at-point()
#f(compiled-function () #<bytecode 0x347c002d48b3cbc>)()
completion-in-region--postch()
--8<---------------cut here---------------end--------------->8---
--
Manuel Giraud
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#74944: 31.0.50; Double TAB does not pop up *Completions* buffer when completing filename with dashes
2024-12-22 11:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-26 13:11 ` Visuwesh
0 siblings, 0 replies; 4+ messages in thread
From: Visuwesh @ 2024-12-26 13:11 UTC (permalink / raw)
To: Manuel Giraud; +Cc: 74944
[ஞாயிறு டிசம்பர் 22, 2024] Manuel Giraud wrote:
> Manuel Giraud via "Bug reports for GNU Emacs, the Swiss army knife of
> text editors" <bug-gnu-emacs@gnu.org> writes:
>
>> Visuwesh <visuweshm@gmail.com> writes:
>>
>>> When completing filenames with dashes in them inside a shell-buffer,
>>> double TAB does not pop open the *Completions* buffer because it
>>> conflicts with argument completion. To reproduce,
>>>
>>> 1. cd /tmp
>>> 2. mkdir test; cd test
>>> 3. touch blah_blah-pos-1.xyz; touch wowow-pos-1.xyz
>>> 4. Go to this directory in a shell buffer
>>> 5. Type rm pos.xyz TAB
>>> 6. Observe how it completes to `rm -pos-1.xyz'
>>> 7. Press TAB again and observe *Completions* buffer not popping up
>>
>> Hi Visuwesh,
>>
>> I can reproduce this. FWIW, by instrumenting
>> `shell-filename-completion' with edebug, I can see that there is a
>> correct *Completions* buffer at some point but it "disappears" later.
>> I'll try to investigate it further.
>
> Hi,
>
> I did some more tests but this issue is tricky for me and I'm not
> familiar with the completion framework.
Thank you for looking into this. I have probably lower familiarity with
it than you.
> Anyway, here is what I did (and think I understood):
>
> - First, I instrument `shell-filename-completion' with edebug
>
> - I enter "rm -pos-1.xyz" and hit Tab with the point is right
> after the 'z'
>
> - Edebug is trigerred and I can step through it hitting Space.
>
> - All seems fine, but at the end of this
> `shell-filename-completion' call (which returns something),
> Edebug is triggered again this time with the point placed just
> before the first '-'
>
> I really don't understand why there is what seems to be a *second* call
> to `shell-filename-completion' while the first one seems to have
> succeeded.
The second call which moves the before the first '-' makes sense to me
since to complete further one, one has to insert text before that
character. This happens elsewhere too so I am not exactly surprised.
However, I think this is where the capf gets stuck since Emacs thinks it
has to complete an option / a flag and the completion engine stops.
This is my guess, anyway.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-12-26 13:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-18 12:50 bug#74944: 31.0.50; Double TAB does not pop up *Completions* buffer when completing filename with dashes Visuwesh
2024-12-21 12:31 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-22 11:45 ` Manuel Giraud via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-26 13:11 ` Visuwesh
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.