Hi, According to the documentation, the variable ido-completion-buffer may be set to nil to prevent completion buffers from popping up. However, if this variable is set to nil, it becomes impossible to switch buffers or visit files. Recipe: 1. emacs -Q 2. enable ido (ido-mode t) (setq ido-completion-buffer nil) 3. Try to switch buffers or visit a file C-x b RET (or C-x C-f RET) The error "Wrong type argument: stringp, nil" flashes in the minibuffer and nothing happens. I have included a patch to lisp/ido.el that should fix the problem by preventing (get-buffer nil) from being called. Regards, Anmol In GNU Emacs 24.0.94.5 (x86_64-apple-darwin11.3.0, NS apple-appkit-1138.32) of 2012-03-12 on morpheus.lan Windowing system distributor `Apple', version 10.3.1138 Configured using: `configure '--with-ns'' 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: en_US.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-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