Subject: bug#9724: 24.0.90; ido-mode does not kill completions buffers

From: Christoph Scholtes <[email-masked]>
Date: Mon, 10 Oct 2011 20:27:40 -0600

When ido-mode is enabled, completions buffers do not get killed when
aborting a completion with C-g. In case of ido-find-file, the *Ido
Completions* buffer seems to be buried, although cleared of any content
and in Fundamental mode. In case of another function, e.g. C-h k, the
*Completions* buffer seems to be buried instead of killed. When ido-mode
is disabled, the all completions buffers get killed.

emacs -Q 
M-: (ido-mode 1) 
C-x f 
Type t then <tab> 
C-g C-x b 
*Ido Completions* buffer is in buffer-list (but the buffer is strangely not
in Completions mode, but Fundamental mode).

C-h k
Type x then <tab>
C-g
C-x b
*Completions* buffer is in buffer-list 

I think on aborting completions with C-g both buffers should be killed
to bot pollute the buffer-list, like it does when ido-mode is not enabled.

In GNU Emacs 24.0.90.1 (i386-mingw-nt6.1.7601)
 of 2011-10-10 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
configured using `configure --with-gcc (4.5) --no-opt --cflags -I"C:/Program Files (x86)/GnuWin32/include" -ID:/devel/emacs/libXpm-3.5.8/include -ID:/devel/emacs/libXpm-3.5.8/src -ID:/devel/emacs/gnutls-2.10.5-x86/include --ldflags -LD:/devel/emacs/gnutls-2.10.5-x86/lib'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  paredit-mode: t
  my-keys-minor-mode: t
  erc-autojoin-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-pcomplete-mode: t
  erc-stamp-mode: t
  recentf-mode: t
  desktop-save-mode: t
  autopair-mode: t
  autopair-global-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  global-auto-revert-mode: t
  delete-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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t

Recent input:
M-x r e p o r t - e <tab> <return>

Recent messages:
Loading c:/Users/Christoph/AppData/Roaming/.emacs.d/mail-config.el (source)...done
Loading c:/Users/Christoph/AppData/Roaming/.emacs.d/gnus-config.el (source)...done
Loading c:/Users/Christoph/AppData/Roaming/.emacs.d/erc-config.el (source)...done
Loading c:/Users/Christoph/AppData/Roaming/.emacs.d/org-config.el (source)...done
Loading c:/Users/Christoph/AppData/Roaming/.emacs.d/keybindings.el (source)...done
Loading c:/Users/Christoph/AppData/Roaming/.emacs.d/init-custom.el (source)...done
Loading vc-hg...done
Wrote c:/Users/Christoph/AppData/Roaming/.emacs.d/data/.emacs.desktop.lock
Desktop: 2 buffers restored.
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-cite mail-extr gnus-msg gnus-art mm-uu mml2015
epg-config mm-view mml-smime smime password-cache dig mailcap emacsbug
vc-hg paredit my-zenburn-theme erc-join erc-track erc-match
erc-pcomplete erc-stamp erc-goodies erc erc-backend erc-compat thingatpt
ispell bookmark+ bookmark+-key dired-x dired bookmark+-1 nnir gnus-sum
nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec
gnus-int gnus-range message format-spec rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader
gnus-util mail-utils mm-util mail-prsvr bookmark+-bmu help-mode view
bookmark+-lit pp+ bookmark+-mac bookmark pp recentf tree-widget wid-edit
midnight desktop ibuffer uniquify autopair google-c-style cc-styles
cc-align cc-engine cc-vars cc-defs browse-kill-ring+ browse-kill-ring
second-sel ido yasnippet dropdown-list derived edmacro kmacro assoc cl
org-habit org-agenda org byte-opt warnings bytecomp byte-compile cconv
macroexp ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table org-footnote
org-src ob-comint ob-keys ob ob-eval org-pcomplete pcomplete comint ring
org-list org-faces org-compat org-entities org-macs noutline outline
easy-mmode regexp-opt cal-menu easymenu calendar cal-loaddefs
org-install server advice help-fns advice-preload debbugs-autoloads
package tabulated-list autorevert delsel time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel dos-w32 disp-table ls-lisp w32-win
w32-vars tool-bar dnd fontset image fringe lisp-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 button
faces cus-face files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process multi-tty emacs)