Subject: 25.1.50; Can't other-window from minibuffer if Ediff control panel frame present
From: Richard Copley <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Wed, 21 Sep 2016 18:23:20 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

C-x C-o doesn't do anything useful when reading from the minibuffer, if
an Ediff control panel frame is present (but not activated).

From 'emacs -Q':

;; To illustrate what C-x C-o is supposed to do:
M-x     ; select minibuffer
C-x C-o ; select *scratch* window while reading from minibuffer
ESC ESC ESC ; quit

;; To illustrate what goes wrong when Ediff is active:
C-x b * RET ; create a spare buffer so we can invoke ediff-buffers
M-x ediff-buffers RET RET RET
C-x 5 o ; Activate main frame
M-x     ; Select minibuffer
C-x C-o ; Something not very useful happens

At this point in the recipe Emacs is in a strange state. The cursor in
the minibuffer is solid but not blinking. There are visual changes in
the Ediff control frame as though the window is selected, but the
Ediff frame isn't actually activated. Typing C-g doesn't exit the
minibuffer (which is still reading the command for M-x). Typing a
self-inserting character does send that character to the minibuffer,
and returns things to normal.

For the "Activate main frame" step of the recipe you can use the
Window Manager (mouse click, Alt-Tab, etc.) instead of the Emacs
command. If you miss out the "Activate main frame" step, then you
can cycle through all the windows of both frames (including the
minibuffer reading the extended command) without getting "stuck",
by typing C-x C-o.

In GNU Emacs 25.1.50.1 (x86_64-w64-mingw32)
 of 2016-09-19 built on [redacted]
Repository revision: 7fa96cb5ef8c8464496688e88c1b97211a820d79
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Recent messages:

Configured using:
 'configure --prefix /C/emacs/emacs-20160917-220655 --with-modules
 --without-imagemagick --disable-dependency-tracking
 --enable-locallisppath=%emacs_dir%/../site-lisp CFLAGS=-O3
 CPPFLAGS=-D_WIN32_WINNT=_WIN32_WINNT_WIN7'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS MODULES

Important settings:
  value of $LANG: ENG
  locale-coding-system: cp1252

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-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

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message subr-x puny seq byte-opt gv
bytecomp byte-compile cl-extra cconv dired dired-loaddefs format-spec
rfc822 mml mml-sec password-cache epa derived epg epg-config gnus-util
rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils cus-edit wid-edit cus-start cus-load
thingatpt help-fns radix-tree help-mode easymenu shell pcomplete comint
ansi-color ring ediff-merg ediff-wind ediff-diff ediff-mult ediff-help
ediff-init cl-loaddefs pcase cl-lib ediff-util ediff time-date mule-util
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow 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 charscript 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 w32notify dbusbind w32 multi-tty
make-network-process emacs)

Memory information:
((conses 16 129567 11696)
 (symbols 56 23528 0)
 (miscs 48 59 161)
 (strings 32 27309 5458)
 (string-bytes 1 840088)
 (vectors 16 16332)
 (vector-slots 8 472408 8689)
 (floats 8 199 207)
 (intervals 56 325 41)
 (buffers 976 17))