emacs -Q; open a new frame using "C-x 5 2" and switch to that frame. Then switch from *scratch* to *Messages* in the first frame. Enable ido-mode using "M-x ido-mode". Switch to the second frame and try switching to *Messages*. The point (and focus) move to the other window. Setting the ido-mode variables `ido-default-file-method' and `ido-default-buffer-method' to 'selected-window does not change this behavior. This is infuriating! I should be able to switch to whatever buffer I want with multiple frames and not have the focus change. Let me give you an example: I have a gdb session running, so I have several frames, one for output, one for backtrace and one for the gdb controller. For some reason the gdb frame was split into two windows and I accidentally deleted the wrong one and now the Separate IO is going into the gdb buffer. However, when I try to to switch back to the *gud* buffer, it puts the point in a completely different window. I don't want *gud* in that frame, I want it in the one I'm trying to put it in! NOTE: THIS BEHAVIOR PERSISTS EVEN AFTER SWITCHING OUT OF IDO-SWITCH-BUFFER BY PRESSING "C-b". In GNU Emacs 23.2.1 (x86_64-redhat-linux-gnu, GTK+ Version 2.20.1) of 2010-05-13 on x86-07.phx2.fedoraproject.org Windowing system distributor `Fedora Project', version 11.0.10802000 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=gtk' '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 --param=ssp-buffer-size=4 -m64 -mtune=generic'' 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: @im=none locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Debugger Minor modes in effect: shell-dirtrack-mode: t auto-insert-mode: t global-auto-complete-mode: t diff-auto-refine-mode: t which-function-mode: t show-paren-mode: t savehist-mode: t epa-global-mail-mode: t display-time-mode: t 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-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: C-s w i n d o w M-: i d o - d e f a u l t - f i l e - m e t h o d M-: M-p M-f M-f M-f M-D b u f f e r i d m i d e m a c s i i d o C-x b C-b M-x c u s t o m i z e C-g v s w i t c h M-D s w i t c h C-g f s w i t c h SPC SPC SPC C-g M-x c u s t o m i z e SPC g r SPC w i n d o w s C-b C-x C-b C-x b C-p C-p C-n C-j C-l C-j C-l C-k C-j C-; C-l C-k C-j C-; C-l C-k C-j C-a M-x r e p o r t SPC e m a SPC SPC Recent messages: Creating group state... Creating group... done Creating customization items ...done Resetting customization items...done Creating customization setup...done byte-code: Beginning of buffer [2 times] Updating buffer list... Formats have changed, recompiling...done Updating buffer list...done Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help Load-path shadows: /usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/23.2/lisp/hex-util /usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/23.2/lisp/md4 /usr/share/emacs/site-lisp/flim/sha1 hides /usr/share/emacs/23.2/lisp/sha1 /usr/share/emacs/site-lisp/ruby-mode/ruby-mode hides /usr/share/emacs/23.2/lisp/progmodes/ruby-mode /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/23.2/lisp/net/sasl /usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/23.2/lisp/net/hmac-def /usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/23.2/lisp/net/hmac-md5 /usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/23.2/lisp/net/sasl-digest /usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/23.2/lisp/net/sasl-ntlm /usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/23.2/lisp/net/sasl-cram /usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/23.2/lisp/net/ntlm Features: (shadow emacsbug winner windmove follow warnings doc-view ps-mode crm cus-edit gnus-cite smiley mail-extr gnus-bcklg gnus-async gnus-dup gnus-uu yenc sort gnus-ml utf-7 utf7 disp-table woman man asm-mode thingatpt conf-mode newcomment dabbrev cmuscheme scheme sh-script executable gdb-ui bindat json gud image-mode image-file image-dired locate gnuplot-gui gnuplot info-look help-mode view info timezone nnfolder nnagent nnml nnimap imap nndraft nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view smime dig nntp gnus-cache gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range message idna ecomplete rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev gmm-utils mailheader canlock sha1 sha1-el hex-util hashcash gnus-win gnus gnus-ems nnheader mule-util cal-move parse-time jka-compr cal-iso compile make-mode multi-isearch vc-dispatcher vc-svn cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars vc-hg footnote flyspell ispell org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp org-exp-blocks org-agenda org-info org-gnus org-bibtex org-bbdb tramp-imap tramp-gw tramp-gvfs zeroconf url-parse url-vars mm-util mail-prsvr dbus xml tramp-fish tramp-smb tramp-cache tramp-ftp tramp-cmds tramp auth-source gnus-util netrc password-cache format-spec tramp-compat trampver shell comint autoinsert org-clock org org-footnote org-src org-list org-faces org-compat org-macs time-date noutline outline speedbar sb-image ezimage dframe assoc server appt diary-lib diary-loaddefs cal-menu calendar cal-loaddefs ansi-color xcscope idomenu ido c-eldoc cc-defs eldoc auto-complete-config auto-complete popup ibuf-ext ibuffer preview prv-emacs latex tex-style tex-buf tex reftex reftex-vars uniquify dired-x dired-aux supercite sendmail regi psvn byte-opt bytecomp byte-compile advice help-fns advice-preload edmacro kmacro log-edit ring pcvs-util add-log diff-mode easy-mmode pp elp ediff-merg ediff-diff ediff-wind ediff-mult ediff-help ediff-init ediff-util dired regexp-opt midnight which-func imenu paren savehist avoid epa-mail mail-utils epa derived epg epg-config time cus-start cus-load preview-latex color-theme easymenu wid-edit cl cl-19 bbdb-autoloads tex-site auto-loads tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag 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 loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs) -- Joel J. Adamson Servedio Lab University of North Carolina at Chapel Hill FSF Member #8164 http://www.unc.edu/~adamsonj