GNU bug report logs - #41340
26.3; ido-completing-read doesn't respect completion-auto-help

Previous Next

Package: emacs;

Reported by: "Ryan C. Thompson" <rct <at> thompsonclan.org>

Date: Sat, 16 May 2020 23:47:02 UTC

Severity: normal

Found in version 26.3

Fixed in version 28.1

Done: Dmitry Gutov <dgutov <at> yandex.ru>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41340 in the body.
You can then email your comments to 41340 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Sat, 16 May 2020 23:47:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Ryan C. Thompson" <rct <at> thompsonclan.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 16 May 2020 23:47:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Ryan C. Thompson" <rct <at> thompsonclan.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.3; ido-completing-read doesn't respect completion-auto-help
Date: Sat, 16 May 2020 19:46:15 -0400
When completion-auto-help is nil, ido-completing-read still pops up a 
completions buffer when pressing TAB on an ambiguous completion. This 
can be fixed manually by setting ido-cannot-complete-command to ignore, 
but it might be nice if ido-completion-help (the default value of 
ido-cannot-complete-command) was a no-op when completion-auto-helpis nil.

This was originally reported to me in the ido-completing-read+ issue 
tracker: 
https://github.com/DarwinAwardWinner/ido-completing-read-plus/issues/172

It would be easy enough for me to advise ido-completion-help to 
implement the above suggestion (and I probably will need to anyway, for 
the sake of older Emacsen, at least within ido-cr+ completion). However, 
this seems like something that can and probably should be fixed in ido 
itself.

Example code to reproduce the bug:

(let ((completion-auto-help nil))
  (ido-completing-read "Pick one: " '("apple" "appstore" "application") 
nil t nil nil "apple"))

Type "ap" and then press TAB repeatedly. The completions buffer will 
appear despite completion-auto-help being nil. If you replace replace 
ido-completing-read with completing-read-default and do the same, the 
completions buffer does not appear, as expected.



In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll 
bars)
of 2020-03-26, modified by Debian built on lcy01-amd64-020
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Ubuntu 20.04 LTS

Recent messages:

Mark set
ido-completion-help <at> respect-completion-auto-help
Quit [3 times]
Mark set
[3 times]
Quit [5 times]
ido-completion-help <at> respect-completion-auto-help
Quit [6 times]
Killed inactive buffer: *Ido Completions*.

Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --enable-libsystemd --with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp 

--with-sound=alsa --without-gconf --with-mailutils --build
x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
--with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp 

--with-sound=alsa --without-gconf --with-mailutils --with-x=yes
--with-x-toolkit=lucid --with-toolkit-scroll-bars --without-gsettings
'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs-mEZBk7/emacs-26.3+1=.
-fstack-protector-strong -Wformat -Werror=format-security -Wall'
'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GLIB NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM THREADS LIBSYSTEMD LCMS2

Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
recentf-mode: t
adjust-parens-mode: t
diff-auto-refine-mode: t
winner-mode: t
which-key-mode: t
which-function-mode: t
savehist-mode: t
save-place-mode: t
minibuffer-depth-indicate-mode: t
midnight-mode: t
icomplete-mode: t
global-hl-line-mode: t
desktop-save-mode: t
delete-selection-mode: t
ws-butler-global-mode: t
ws-butler-mode: t
volatile-highlights-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
sml-modeline-mode: t
rainbow-delimiters-mode: t
pretty-symbols-mode: t
global-pointback-mode: t
pointback-mode: t
mode-line-bell-mode: t
mac-pseudo-daemon-mode: t
lexbind-mode: t
imagex-auto-adjust-mode: t
ido-yes-or-no-mode: t
minibuffer-electric-default-mode: t
ido-everywhere: t
ido-complete-space-or-hyphen-mode: t
highlight-stages-global-mode: t
highlight-stages-mode: t
highlight-defined-mode: t
global-git-gutter-mode: t
shell-dirtrack-mode: t
editorconfig-mode: t
beacon-mode: t
bar-cursor-mode: t
autopair-global-mode: t
autopair-mode: t
show-paren-mode: t
auto-dim-other-buffers-mode: t
global-auto-complete-mode: t
auto-complete-mode: t
global-anzu-mode: t
anzu-mode: t
amx-mode: t
override-global-mode: t
straight-use-package-mode: t
straight-package-neutering-mode: t
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:
/home/ryan/.emacs.d/straight/build/flycheck-elsa/Elsafile hides 
/home/ryan/.emacs.d/straight/build/elsa/Elsafile
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-C hides 
/usr/share/emacs/26.3/lisp/org/ob-C
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-ebnf hides 
/usr/share/emacs/26.3/lisp/org/ob-ebnf
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-core hides 
/usr/share/emacs/26.3/lisp/org/ob-core
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-shen hides 
/usr/share/emacs/26.3/lisp/org/ob-shen
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-matlab hides 
/usr/share/emacs/26.3/lisp/org/ob-matlab
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-icalendar hides 
/usr/share/emacs/26.3/lisp/org/ox-icalendar
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-compat hides 
/usr/share/emacs/26.3/lisp/org/org-compat
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-indent hides 
/usr/share/emacs/26.3/lisp/org/org-indent
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-plot hides 
/usr/share/emacs/26.3/lisp/org/org-plot
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-footnote hides 
/usr/share/emacs/26.3/lisp/org/org-footnote
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-table hides 
/usr/share/emacs/26.3/lisp/org/ob-table
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-forth hides 
/usr/share/emacs/26.3/lisp/org/ob-forth
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-sass hides 
/usr/share/emacs/26.3/lisp/org/ob-sass
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-sed hides 
/usr/share/emacs/26.3/lisp/org/ob-sed
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-dot hides 
/usr/share/emacs/26.3/lisp/org/ob-dot
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-R hides 
/usr/share/emacs/26.3/lisp/org/ob-R
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-lint hides 
/usr/share/emacs/26.3/lisp/org/org-lint
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-capture hides 
/usr/share/emacs/26.3/lisp/org/org-capture
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-lisp hides 
/usr/share/emacs/26.3/lisp/org/ob-lisp
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-haskell hides 
/usr/share/emacs/26.3/lisp/org/ob-haskell
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-src hides 
/usr/share/emacs/26.3/lisp/org/org-src
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-makefile hides 
/usr/share/emacs/26.3/lisp/org/ob-makefile
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob hides 
/usr/share/emacs/26.3/lisp/org/ob
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-picolisp hides 
/usr/share/emacs/26.3/lisp/org/ob-picolisp
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-scheme hides 
/usr/share/emacs/26.3/lisp/org/ob-scheme
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-protocol hides 
/usr/share/emacs/26.3/lisp/org/org-protocol
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-crypt hides 
/usr/share/emacs/26.3/lisp/org/org-crypt
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-clojure hides 
/usr/share/emacs/26.3/lisp/org/ob-clojure
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-colview hides 
/usr/share/emacs/26.3/lisp/org/org-colview
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-exp hides 
/usr/share/emacs/26.3/lisp/org/ob-exp
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-ref hides 
/usr/share/emacs/26.3/lisp/org/ob-ref
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-element hides 
/usr/share/emacs/26.3/lisp/org/org-element
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-sql hides 
/usr/share/emacs/26.3/lisp/org/ob-sql
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-awk hides 
/usr/share/emacs/26.3/lisp/org/ob-awk
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-pcomplete hides 
/usr/share/emacs/26.3/lisp/org/org-pcomplete
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-texinfo hides 
/usr/share/emacs/26.3/lisp/org/ox-texinfo
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-java hides 
/usr/share/emacs/26.3/lisp/org/ob-java
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-lua hides 
/usr/share/emacs/26.3/lisp/org/ob-lua
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-shell hides 
/usr/share/emacs/26.3/lisp/org/ob-shell
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-python hides 
/usr/share/emacs/26.3/lisp/org/ob-python
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-stan hides 
/usr/share/emacs/26.3/lisp/org/ob-stan
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-coq hides 
/usr/share/emacs/26.3/lisp/org/ob-coq
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-ledger hides 
/usr/share/emacs/26.3/lisp/org/ob-ledger
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-duration hides 
/usr/share/emacs/26.3/lisp/org/org-duration
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-inlinetask hides 
/usr/share/emacs/26.3/lisp/org/org-inlinetask
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-emacs-lisp hides 
/usr/share/emacs/26.3/lisp/org/ob-emacs-lisp
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-clock hides 
/usr/share/emacs/26.3/lisp/org/org-clock
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-abc hides 
/usr/share/emacs/26.3/lisp/org/ob-abc
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-html hides 
/usr/share/emacs/26.3/lisp/org/ox-html
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-table hides 
/usr/share/emacs/26.3/lisp/org/org-table
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-ditaa hides 
/usr/share/emacs/26.3/lisp/org/ob-ditaa
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-asymptote hides 
/usr/share/emacs/26.3/lisp/org/ob-asymptote
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-agenda hides 
/usr/share/emacs/26.3/lisp/org/org-agenda
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-calc hides 
/usr/share/emacs/26.3/lisp/org/ob-calc
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-perl hides 
/usr/share/emacs/26.3/lisp/org/ob-perl
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-gnuplot hides 
/usr/share/emacs/26.3/lisp/org/ob-gnuplot
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org hides 
/usr/share/emacs/26.3/lisp/org/org
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-org hides 
/usr/share/emacs/26.3/lisp/org/ob-org
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-screen hides 
/usr/share/emacs/26.3/lisp/org/ob-screen
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox hides 
/usr/share/emacs/26.3/lisp/org/ox
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-latex hides 
/usr/share/emacs/26.3/lisp/org/ob-latex
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-octave hides 
/usr/share/emacs/26.3/lisp/org/ob-octave
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-lob hides 
/usr/share/emacs/26.3/lisp/org/ob-lob
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-attach hides 
/usr/share/emacs/26.3/lisp/org/org-attach
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-datetree hides 
/usr/share/emacs/26.3/lisp/org/org-datetree
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-macro hides 
/usr/share/emacs/26.3/lisp/org/org-macro
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-eval hides 
/usr/share/emacs/26.3/lisp/org/ob-eval
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-feed hides 
/usr/share/emacs/26.3/lisp/org/org-feed
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-io hides 
/usr/share/emacs/26.3/lisp/org/ob-io
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-ctags hides 
/usr/share/emacs/26.3/lisp/org/org-ctags
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-org hides 
/usr/share/emacs/26.3/lisp/org/ox-org
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-macs hides 
/usr/share/emacs/26.3/lisp/org/org-macs
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-sqlite hides 
/usr/share/emacs/26.3/lisp/org/ob-sqlite
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-fortran hides 
/usr/share/emacs/26.3/lisp/org/ob-fortran
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-groovy hides 
/usr/share/emacs/26.3/lisp/org/ob-groovy
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-list hides 
/usr/share/emacs/26.3/lisp/org/org-list
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-habit hides 
/usr/share/emacs/26.3/lisp/org/org-habit
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-tangle hides 
/usr/share/emacs/26.3/lisp/org/ob-tangle
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-comint hides 
/usr/share/emacs/26.3/lisp/org/ob-comint
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-install hides 
/usr/share/emacs/26.3/lisp/org/org-install
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-maxima hides 
/usr/share/emacs/26.3/lisp/org/ob-maxima
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-css hides 
/usr/share/emacs/26.3/lisp/org/ob-css
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-man hides 
/usr/share/emacs/26.3/lisp/org/ox-man
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-mscgen hides 
/usr/share/emacs/26.3/lisp/org/ob-mscgen
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-odt hides 
/usr/share/emacs/26.3/lisp/org/ox-odt
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-plantuml hides 
/usr/share/emacs/26.3/lisp/org/ob-plantuml
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-latex hides 
/usr/share/emacs/26.3/lisp/org/ox-latex
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-ruby hides 
/usr/share/emacs/26.3/lisp/org/ob-ruby
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-id hides 
/usr/share/emacs/26.3/lisp/org/org-id
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-J hides 
/usr/share/emacs/26.3/lisp/org/ob-J
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-faces hides 
/usr/share/emacs/26.3/lisp/org/org-faces
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-lilypond hides 
/usr/share/emacs/26.3/lisp/org/ob-lilypond
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-mobile hides 
/usr/share/emacs/26.3/lisp/org/org-mobile
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-md hides 
/usr/share/emacs/26.3/lisp/org/ox-md
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-beamer hides 
/usr/share/emacs/26.3/lisp/org/ox-beamer
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-ocaml hides 
/usr/share/emacs/26.3/lisp/org/ob-ocaml
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-js hides 
/usr/share/emacs/26.3/lisp/org/ob-js
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-entities hides 
/usr/share/emacs/26.3/lisp/org/org-entities
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-loaddefs hides 
/usr/share/emacs/26.3/lisp/org/org-loaddefs
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-vala hides 
/usr/share/emacs/26.3/lisp/org/ob-vala
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-hledger hides 
/usr/share/emacs/26.3/lisp/org/ob-hledger
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ob-processing hides 
/usr/share/emacs/26.3/lisp/org/ob-processing
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-publish hides 
/usr/share/emacs/26.3/lisp/org/ox-publish
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-archive hides 
/usr/share/emacs/26.3/lisp/org/org-archive
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-mouse hides 
/usr/share/emacs/26.3/lisp/org/org-mouse
/home/ryan/.emacs.d/straight/build/org-plus-contrib/ox-ascii hides 
/usr/share/emacs/26.3/lisp/org/ox-ascii
/home/ryan/.emacs.d/straight/build/org-plus-contrib/org-timer hides 
/usr/share/emacs/26.3/lisp/org/org-timer
/home/ryan/.emacs.d/straight/build/let-alist/let-alist hides 
/usr/share/emacs/26.3/lisp/emacs-lisp/let-alist

Features:
(shadow sort mail-extr tramp-cache recentf tree-widget misearch
multi-isearch iso-transl eieio-opt speedbar sb-image ezimage dframe
two-column crux dabbrev cl-print completion help-fns radix-tree poly-R
poly-markdown poly-noweb markdown-mode edit-indirect cursor-sensor
ess-r-mode ess-r-flymake ess-r-xref ess-trns ess-r-package
ess-r-completion ess-roxy ess-r-syntax ess-rd hideshow ess-s-lang
ess-help ess-mode ess-inf ess-tracebug sh-script smie executable
adjust-parens elec-pair org-eldoc ol-eww eww mm-url url-queue url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap shr svg xml ol-rmail ol-mhe ol-irc ol-info
ol-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap
nnmail mail-source tls gnutls utf7 netrc nnoo gnus-spec gnus-int
gnus-range gnus-win ol-docview doc-view jka-compr image-mode ol-bibtex
bibtex ol-bbdb ol-w3m conf-mode autorevert filenotify vc-git diff-mode
flymake-proc flymake editorconfig-core editorconfig-core-handle
editorconfig-fnmatch server emacsbug message rmc puny rfc822 mml mml-sec
epa epg mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail face-remap winner which-key which-func
savehist saveplace mb-depth midnight icomplete hl-line desktop frameset
delsel yaml-mode ws-butler with-simulated-input volatile-highlights
undo-tree diff tempbuf system-specific-settings snakemake-mode python
tramp-sh smooth-scrolling sml-modeline slime compile etags xref project
arc-mode archive-mode hyperspec browse-url slime-autoloads
reveal-in-osx-finder dired dired-loaddefs rainbow-delimiters
pretty-symbols polymode derived poly-lock polymode-base polymode-weave
polymode-export polymode-compat polymode-methods polymode-core
polymode-classes eieio-custom eieio-base color pointback assoc paradox
paradox-menu paradox-commit-list hydra lv paradox-execute paradox-github
paradox-core spinner package-lint let-alist finder org-bullets ox-extra
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-latex ox-icalendar
ox-html table ox-ascii ox-publish ox org-element avl-tree generator gnus
nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
mail-utils mm-util mail-prsvr occur-context-resize noflet cl-indent
mode-line-bell mac-pseudo-daemon lexbind-mode json-mode json-reformat
json-snatcher js sgml-mode dom imenu cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs iqa image+
image-file ido-yes-or-no ido-completing-read+ memoize minibuf-eldef ido
ido-complete-space-or-hyphen htmlize cl highlight-stages
highlight-defined header2 header2-autoloads git-wip-mode vc
vc-dispatcher git-wip-mode-autoloads git-gutter-fringe fringe-helper
git-gutter-fringe-autoloads fringe-helper-autoloads git-gutter
git-gutter-autoloads flycheck-elsa flycheck-elsa-autoloads flycheck
flycheck-autoloads let-alist-autoloads pkg-info-autoloads filelock
filelock-autoloads esup-autoloads cus-edit cus-start cus-load wid-edit
ess ess-utils ess-custom tramp tramp-compat tramp-loaddefs trampver
ucs-normalize shell parse-time ess-autoloads julia-mode-autoloads elsa
elsa-typed-subr elsa-typed-thingatpt elsa-typed-syntax
elsa-extension-builtin elsa-ruleset elsa-rules-list elsa-analyser
elsa-typed-builtin elsa-english elsa-check elsa-state elsa-scope
elsa-reader elsa-type-helpers elsa-error pcase elsa-variable trinary
elsa-types elsa-autoloads trinary-autoloads editorconfig
editorconfig-autoloads readme-debian readme-debian-autoloads
debian-copyright debian-copyright-autoloads debian-control-mode
debian-control-mode-autoloads debian-changelog-mode add-log
debian-changelog-mode-autoloads diminish diminish-autoloads decide
decide-autoloads crux-autoloads creole-mode-autoloads cl-lib-highlight
cl-lib-highlight-autoloads cask-mode cask-mode-autoloads cask
cask-bootstrap ansi package-recipe-mode package-build-badges
package-build package-recipe eieio-compat json map lisp-mnt shut-up epl
git commander cask-autoloads ansi-autoloads package-build-autoloads
shut-up-autoloads epl-autoloads buttercup warnings ert pp ewoc debug
buttercup-compat buttercup-autoloads beacon beacon-autoloads bar-cursor
bar-cursor-autoloads autopair paren autopair-autoloads
auto-dim-other-buffers auto-dim-other-buffers-autoloads auto-complete
edmacro kmacro popup auto-complete-autoloads popup-autoloads finder-inf
async async-autoloads apt-sources-list apt-sources-list-autoloads
apache-mode-autoloads anzu thingatpt anzu-autoloads amx amx-autoloads
adjust-parens-autoloads exec-path-from-shell
exec-path-from-shell-autoloads f s f-autoloads s-autoloads req-package
view req-package-cycles req-package-args req-package-hooks ht log4e rx
dash use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key use-package-core
package epg-config url-handlers url-parse auth-source cl-seq eieio
eieio-core eieio-loaddefs password-cache url-vars seq
req-package-autoloads ht-autoloads log4e-autoloads dash-autoloads
use-package-autoloads bind-key-autoloads org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete
pcomplete comint ansi-color ring org-list org-faces org-entities
time-date noutline outline easy-mmode ob-emacs-lisp ob-core ob-eval
org-table ol org-keys org-compat byte-opt advice org-macs org-loaddefs
format-spec find-func cal-menu calendar cal-loaddefs
org-plus-contrib-autoloads org-version straight-autoloads info cl-extra
help-mode easymenu straight subr-x cl-macs gv bytecomp byte-compile
cl-loaddefs cl-lib cconv mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded 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 threads dbusbind inotify lcms2 dynamic-setting
font-render-setting x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 1289052 127286)
(symbols 48 79943 1)
(miscs 40 2767 3163)
(strings 32 448440 6578)
(string-bytes 1 7618228)
(vectors 16 107525)
(vector-slots 8 2429484 97702)
(floats 8 583 1378)
(intervals 56 11794 168)
(buffers 992 50))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Sat, 16 May 2020 23:56:01 GMT) Full text and rfc822 format available.

Message #8 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: "Ryan C. Thompson" <rct <at> thompsonclan.org>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Sun, 17 May 2020 02:55:04 +0300
Hi Ryan,

On 17.05.2020 02:46, Ryan C. Thompson wrote:
> This can be fixed manually by setting ido-cannot-complete-command to 
> ignore, but it might be nice if ido-completion-help (the default value 
> of ido-cannot-complete-command) was a no-op when completion-auto-helpis 
> nil.

Care to propose a patch?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Sun, 17 May 2020 00:14:02 GMT) Full text and rfc822 format available.

Message #11 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: "Ryan C. Thompson" <rct <at> thompsonclan.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Sat, 16 May 2020 20:12:51 -0400
On 5/16/20 7:55 PM, Dmitry Gutov wrote:
> Hi Ryan,
>
> On 17.05.2020 02:46, Ryan C. Thompson wrote:
>> This can be fixed manually by setting ido-cannot-complete-command to 
>> ignore, but it might be nice if ido-completion-help (the default 
>> value of ido-cannot-complete-command) was a no-op when 
>> completion-auto-helpis nil.
>
> Care to propose a patch?

One minor wrinkle is that completion-auto-help has 3 valid values: nil, 
t, and lazy. I'm not sure I understand the difference between t and 
lazy, so I'm also unsure as to how to apply them to ido. In my testing, 
both t and lazy seem to result in the identical behavior in 
completing-read-default.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Sun, 17 May 2020 00:58:01 GMT) Full text and rfc822 format available.

Message #14 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: "Ryan C. Thompson" <rct <at> thompsonclan.org>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Sun, 17 May 2020 03:57:45 +0300
On 17.05.2020 03:12, Ryan C. Thompson wrote:
> 
> One minor wrinkle is that completion-auto-help has 3 valid values: nil, 
> t, and lazy. I'm not sure I understand the difference between t and 
> lazy, so I'm also unsure as to how to apply them to ido. In my testing, 
> both t and lazy seem to result in the identical behavior in 
> completing-read-default.

When it's `lazy', you need to press TAB twice to see the completions 
list. At first it'll just say "Next char is not unique".

If you can honor both values, that would be best, but even making the 
nil/non-nil distinction will be an improvement, sounds like.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Sun, 17 May 2020 01:18:01 GMT) Full text and rfc822 format available.

Message #17 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: "Ryan C. Thompson" <rct <at> thompsonclan.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Sat, 16 May 2020 21:16:54 -0400
On 5/16/20 8:57 PM, Dmitry Gutov wrote:
> On 17.05.2020 03:12, Ryan C. Thompson wrote:
>>
>> One minor wrinkle is that completion-auto-help has 3 valid values: 
>> nil, t, and lazy. I'm not sure I understand the difference between t 
>> and lazy, so I'm also unsure as to how to apply them to ido. In my 
>> testing, both t and lazy seem to result in the identical behavior in 
>> completing-read-default.
>
> When it's `lazy', you need to press TAB twice to see the completions 
> list. At first it'll just say "Next char is not unique".
>
> If you can honor both values, that would be best, but even making the 
> nil/non-nil distinction will be an improvement, sounds like.

Hmm, that's not the behavior I see, even in emacs -Q. Regardless of 
whether it's `t' or `lazy', the first TAB press completes any common 
prefix, and then the very next TAB press shows the completions buffer. I 
never get the "Next char is not unique" message (I checked the Messages 
buffer to be sure).

I don't have time to dig deeper into this right now, but I'll come back 
to it, probably on Monday.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Sun, 17 May 2020 01:34:01 GMT) Full text and rfc822 format available.

Message #20 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: "Ryan C. Thompson" <rct <at> thompsonclan.org>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Sun, 17 May 2020 04:32:56 +0300
On 17.05.2020 04:16, Ryan C. Thompson wrote:
> Hmm, that's not the behavior I see, even in emacs -Q.

That's odd.

I get it in 'M-x describe-function', at least.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Wed, 20 May 2020 14:13:02 GMT) Full text and rfc822 format available.

Message #23 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: "Ryan C. Thompson" <rct <at> thompsonclan.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Wed, 20 May 2020 10:12:07 -0400
[Message part 1 (text/plain, inline)]
On 5/16/20 9:32 PM, Dmitry Gutov wrote:
> On 17.05.2020 04:16, Ryan C. Thompson wrote:
>> Hmm, that's not the behavior I see, even in emacs -Q.
>
> That's odd.
>
> I get it in 'M-x describe-function', at least.
Ok, I figured out the difference between t and `lazy', and I determined 
that the lazy setting is not meaningful for ido, since ido already 
eagerly shows completions at all times. Hence, the attached patch 
teaches ido how to respect `completion-auto-help' being set to nil but 
doesn't make any special allowance for `lazy'. The existing behavior of 
ido is already correct when `completion-auto-help' is non-nil.
[0001-lisp-ido.el-Respect-completion-auto-help-setting.patch (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Wed, 20 May 2020 14:21:02 GMT) Full text and rfc822 format available.

Message #26 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: "Ryan C. Thompson" <rct <at> thompsonclan.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Wed, 20 May 2020 10:20:06 -0400
On 5/20/20 10:12 AM, Ryan C. Thompson wrote:
> Ok, I figured out the difference between t and `lazy', and I 
> determined that the lazy setting is not meaningful for ido, since ido 
> already eagerly shows completions at all times. Hence, the attached 
> patch teaches ido how to respect `completion-auto-help' being set to 
> nil but doesn't make any special allowance for `lazy'. The existing 
> behavior of ido is already correct when `completion-auto-help' is 
> non-nil.

Actually, on further consideration, I've realized a problem with this 
approach: this patch uses the value of `completion-auto-help' to 
determine whether to call `ido-cannot-complete-command'. However, the 
ido documentation mentions the possibility of setting 
`ido-cannot-complete-command' to `ido-next-match', which allows the user 
to cycle through available completions with repeated TAB presses. This 
patch kind of breaks that, in the sense that `completion-auto-help' ends 
up affecting something totally unrelated.

Perhaps an better approach would be to define an auxiliary wrapper 
function that only calls `ido-completion-help' if `completion-auto-help' 
is non-nil, and set that as the default for `ido-cannot-complete-command'.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41340; Package emacs. (Wed, 20 May 2020 14:35:02 GMT) Full text and rfc822 format available.

Message #29 received at 41340 <at> debbugs.gnu.org (full text, mbox):

From: "Ryan C. Thompson" <rct <at> thompsonclan.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>, 41340 <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Wed, 20 May 2020 10:34:06 -0400
[Message part 1 (text/plain, inline)]
On 5/20/20 10:20 AM, Ryan C. Thompson wrote:
> Perhaps an better approach would be to define an auxiliary wrapper 
> function that only calls `ido-completion-help' if 
> `completion-auto-help' is non-nil, and set that as the default for 
> `ido-cannot-complete-command'.

Here is a patch to implement the suggestion above.

[0001-lisp-ido.el-Respect-completion-auto-help-setting.patch (text/plain, attachment)]

Reply sent to Dmitry Gutov <dgutov <at> yandex.ru>:
You have taken responsibility. (Wed, 20 May 2020 23:27:01 GMT) Full text and rfc822 format available.

Notification sent to "Ryan C. Thompson" <rct <at> thompsonclan.org>:
bug acknowledged by developer. (Wed, 20 May 2020 23:27:01 GMT) Full text and rfc822 format available.

Message #34 received at 41340-done <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: "Ryan C. Thompson" <rct <at> thompsonclan.org>, 41340-done <at> debbugs.gnu.org
Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect
 completion-auto-help
Date: Thu, 21 May 2020 02:26:03 +0300
Version: 28.1

On 20.05.2020 17:34, Ryan C. Thompson wrote:
> On 5/20/20 10:20 AM, Ryan C. Thompson wrote:
>> Perhaps an better approach would be to define an auxiliary wrapper 
>> function that only calls `ido-completion-help' if 
>> `completion-auto-help' is non-nil, and set that as the default for 
>> `ido-cannot-complete-command'.
> 
> Here is a patch to implement the suggestion above.

Pushed to master, thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 18 Jun 2020 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 59 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.