Subject: 26.3; ediff-buffers appears to have a focus issue

From: Matthew Persico <[email-masked]>
Date: Thu, 12 Sep 2019 11:42:06 -0400

-text follows this line--
In ediff-buffers mode, anytime you lose focus out of the ediff command
window (either by explicitly changing it OR executing an ediff selection of
a diff (via the 'a' or 'b' keys), all subsequent commands in the ediff
command window lose focus out of the window and you have to re-establish
focus after every ediff command.

Try this to reproduce:

cp ~/.profile /tmp/bufa
cp ~/.profile /tmp/bufbb
sed 's/x/y/' bufbb > bufb
emacs /tmp/bufa /tmp/bufb
In emacs diff the two buffers with M-x ediff-buffers
In the ediff command window
n
n
now change focus to any other window on your desktop OR pick diff 'a' or
'b' to apply.
now change focus back to the ediff window
n
focus should have jumped out of the ediff command window to one of the
diffed buffers.

26.2 did not do that; once back in the ediff command window, focus stayed
there after each ediff command. This issue makes it very annoying to
process diffs.

In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.8.9)
 of 2019-08-29 built on ip-1-76-197-86
Windowing system distributor 'Hummingbird - Open Text', version 11.0.138110
System Description: Red Hat Enterprise Linux Server release 7.7 (Maipo)
Recent messages:
Mark saved where search started
Saving file
/home/mpersico5/gits/bbgithub/dpkg/blp-bcc-dpkg-terraform/scripts/REBUILD...
Wrote
/home/mpersico5/gits/bbgithub/dpkg/blp-bcc-dpkg-terraform/scripts/REBUILD
Mark saved where search started
Saving file
/home/mpersico5/gits/bbgithub/dpkg/blp-bcc-dpkg-terraform/scripts/REBUILD...
Wrote
/home/mpersico5/gits/bbgithub/dpkg/blp-bcc-dpkg-terraform/scripts/REBUILD
Mark set
Saving file
/home/mpersico5/gits/bbgithub/dpkg/blp-bcc-dpkg-terraform/scripts/REBUILD...
Wrote
/home/mpersico5/gits/bbgithub/dpkg/blp-bcc-dpkg-terraform/scripts/REBUILD
Making completion list...
Configured using:
 'configure --prefix=/opt/bb --libdir=/opt/bb/lib64
 -x-includes=/opt/bb/include -x-libraries=/opt/bb/lib64
 --with-x-toolkit=gtk3 --without-selinux --without-gsettings
 'CFLAGS=-m64 ' CPPFLAGS=-I/opt/bb/include 'LDFLAGS=-Wl,-melf_x86_64
 -L/opt/bb/lib64 -Wl,--enable-new-dtags,-R/opt/bb/lib64''
Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GLIB NOTIFY GNUTLS LIBXML2 FREETYPE XFT
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS
Important settings:
  value of $LC_ALL: C
  value of $LANG: C
  locale-coding-system: nil
Major mode: Flycheck errors
Minor modes in effect:
  eval-sexp-fu-flash-mode: t
  global-flycheck-mode: t
  exordium-global-git-gutter-mode: t
  global-magit-file-mode: t
  diff-auto-refine-mode: t
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-fringe-indicator-mode: t
  projectile-mode: t
  global-auto-complete-mode: t
  recentf-mode: t
  exordium-global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  global-delete-trailing-whitespace-mode: t
  delete-trailing-whitespace-mode: t
  shell-dirtrack-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  cl-old-struct-compat-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
Load-path shadows:
/home/mpersico5/.emacs.d/elpa/dpkg-dev-el-20190824.2314/debian-autoloads
hides /home/mpersico5/.emacs.d/elpa/debian-el-20181020.1513/debian-autoloads
/home/mpersico5/.emacs.d/elpa/let-alist-1.0.6/let-alist hides
/opt/bb/share/emacs/26.3/lisp/emacs-lisp/let-alist
Features:
(shadow sort mail-extr emacsbug sendmail misearch multi-isearch
ido-completing-read+ cus-edit cus-start cus-load minibuf-eldef vc-git
disp-table init-powerline all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons memoize after-init
tomorrow-night-bright-theme sh-script-imode sh-script smie executable
kbmacros perltidy bash-completion two-column init-iwyu init-elisp
eval-sexp-fu highlight page-break-lines init-ruby init-python
init-javascript js2-imenu-extras js2-mode-expansions js2-mode etags
js-mode-expansions js html-mode-expansions sgml-mode dom init-rtags-cdb
init-rtags-cmake init-rtags-helm helm-rtags init-rtags
auto-complete-c-headers ac-rtags rtags repeat tramp tramp-compat
tramp-loaddefs trampver ucs-normalize parse-time asm-mode magit-bookmark
treemacs-bookmarks bookmark init-gdb gdb-mi bindat gud init-yasnippet
yasnippet flycheck json map flymake-proc flymake elec-pair
init-bde-style init-cpp cpp init-xml init-org ob-dot ob-C
cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs ob-python ob-shell ob-ruby ob-perl
ox-gfm ox-beamer ox-md org-bullets 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
init-markdown impatient-mode htmlize simple-httpd pp url-util
markdown-mode init-shell init-prog-mode init-flb-mode
init-git-visit-diffs init-git git-gutter-fringe fringe-helper git-gutter
diminish magit-submodule magit-obsolete magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func magit-diff smerge-mode diff-mode magit-core magit-autorevert
autorevert magit-margin magit-transient magit-process magit-mode
transient git-commit magit-git magit-section magit-utils crm log-edit
message rmc puny rfc822 mml mml-sec epa derived epg gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils
mailheader pcvs-util add-log with-editor cl-extra help-mode
async-bytecomp server init-dired find-dired wdired dired dired-loaddefs
init-helm helm-ag init-helm-projectile treemacs-projectile treemacs
treemacs-compatibility treemacs-mode treemacs-interface
treemacs-extensions treemacs-persistence treemacs-mouse-interface
treemacs-tag-follow-mode hydra lv treemacs-filewatch-mode treemacs-tags
imenu xref project filenotify treemacs-follow-mode treemacs-rendering
treemacs-async treemacs-faces treemacs-icons treemacs-workspaces
treemacs-dom treemacs-visuals treemacs-fringe-indicator pulse
treemacs-themes treemacs-core-utils pfuture hl-line treemacs-macros
pcase inline ht treemacs-customization f s dash helm-swoop
helm-projectile helm-files helm-tags helm-buffers helm-occur helm-grep
helm-regexp helm-utils helm-locate helm-help helm-types projectile grep
compile ibuf-ext ibuffer ibuffer-loaddefs init-autocomplete
auto-complete-config auto-complete init-highlight hi-lock
highlight-symbol init-ido helm helm-source eieio-compat helm-multi-match
helm-lib async recentf tree-widget wid-edit ido init-util warnings popup
goto-chg init-window-manager ace-window avy init-linum
display-line-numbers nlinum init-font-lock init-look-and-feel vlf-setup
expand-region text-mode-expansions the-org-mode-expansions
er-basic-expansions expand-region-core expand-region-custom
default-text-scale evil evil-keybindings evil-integration undo-tree diff
evil-maps evil-commands reveal flyspell ispell evil-jumps
evil-command-window evil-types evil-search evil-ex shell evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs evil-vars edmacro kmacro delsel paren init-themes
tomorrow-night-theme color-theme-tomorrow org-element avl-tree generator
org org-macro org-footnote org-pcomplete pcomplete org-list org-faces
org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob
ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint comint
ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs
format-spec find-func cal-menu calendar cal-loaddefs powerline
powerline-separators color powerline-themes hilinum-mode advice linum
fill-column-indicator init-progress-bar init-prefs init-environment
init-lib subr-x cl finder-inf dpkg-dev-el debian-el rx info package
easymenu epg-config url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt
gv bytecomp byte-compile cconv cl-loaddefs cl-lib before-init time-date
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 dynamic-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)
Memory information:
((conses 16 932171 682810)
 (symbols 48 65634 208)
 (miscs 40 280 1861)
 (strings 32 253869 74142)
 (string-bytes 1 7303367)
 (vectors 16 106900)
 (vector-slots 8 1549597 560932)
 (floats 8 769 1330)
 (intervals 56 4152 3996)
 (buffers 992 20)
 (heap 1024 102208 77017))

-- 
Matthew O. Persico