Congratulations! You may have unearthed a bug in Ediff!
Please make a concise and accurate summary of what happened
and mail it to the address above.
-----------------------------------------------------------
1) Open several ediff-files3 sessions (whether on single frame or
multiple). Say sessions 1, 2, 3 ...
2) focus the control panel of a diff session-1
3) click 'R' to show registry. A new frame is opened with registry
buffer, raised and focused.
4) select session-1. Click 'RET' to show the session.
The frame with this session will be raised **but not be focused**.
6) focus this frame's contron panel and click 'R' to go back to
registry.
The registry frame will be raised **but not focused**.
7) focus registy and select session-2. Click 'RET'.
session-2 frame is raised and focused.
8) click 'R' back to registry
The registry frame will be raised **but not focused**.
9) focus registy and select session-2. Click 'RET'.
session-2 frame is raised **but not focused**.
Generally another frame you ask to see is raised - but is only focused
the first time it is opened - on later requests it will be raised but
not focused.
My conf:
(customize-set-variable 'ediff-split-window-function 'split-window-horizontally)
(customize-set-variable 'ediff-window-setup-function 'ediff-setup-windows-plain)
(setq itaj-ediff-face-noncurrent '((t (:background "#404010"))))
(setq itaj-ediff-face-current '((t (:background "#006000"))))
(setq itaj-ediff-face-fine '((t (:background "#903030"))))
(custom-set-faces `(ediff-fine-diff-A ,itaj-ediff-face-fine))
(custom-set-faces `(ediff-fine-diff-B ,itaj-ediff-face-fine))
(custom-set-faces `(ediff-fine-diff-C ,itaj-ediff-face-fine))
(custom-set-faces `(ediff-current-diff-A ,itaj-ediff-face-current))
(custom-set-faces `(ediff-current-diff-B ,itaj-ediff-face-current))
(custom-set-faces `(ediff-current-diff-C ,itaj-ediff-face-current))
(custom-set-faces `(ediff-even-diff-A ,itaj-ediff-face-noncurrent))
(custom-set-faces `(ediff-even-diff-B ,itaj-ediff-face-noncurrent))
(custom-set-faces `(ediff-even-diff-C ,itaj-ediff-face-noncurrent))
(custom-set-faces `(ediff-odd-diff-A ,itaj-ediff-face-noncurrent))
(custom-set-faces `(ediff-odd-diff-B ,itaj-ediff-face-noncurrent))
(custom-set-faces `(ediff-odd-diff-C ,itaj-ediff-face-noncurrent))
(defun disable-y-or-n-p (orig-fun &rest args)
(cl-letf (((symbol-function 'y-or-n-p) (lambda (prompt) t)))
(apply orig-fun args)))
(advice-add 'ediff-quit :around #'disable-y-or-n-p)
Emacs : GNU Emacs 25.2.1 (x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2017-09-22, modified by Debian
Package: Ediff 2.81.5 of July 4, 2013
current state:
==============
(setq
ediff-diff-program "diff"
ediff-diff-options ""
ediff-diff3-program "diff3"
ediff-diff3-options ""
ediff-shell "sh"
ediff-use-faces t
ediff-auto-refine 'on
ediff-highlighting-style 'face
ediff-buffer-A #<buffer test_npal_locks_out_of_resources.c<t0>>
ediff-buffer-B #<buffer test_npal_locks_out_of_resources.c<w>>
ediff-control-buffer #<buffer *Ediff Control Panel<5>*>
ediff-forward-word-function 'ediff-forward-word
ediff-control-frame nil
ediff-control-frame-parameters '((name . "Ediff") (minibuffer) (user-position . t) (vertical-scroll-bars)
(scrollbar-width . 0) (scrollbar-height . 0) (menu-bar-lines . 0)
(tool-bar-lines . 0) (left-fringe . 0) (right-fringe . 0) (auto-lower)
(auto-raise . t) (visibility) (width . 1) (height . 1) (top . 1081)
(left . 1921))
ediff-control-frame-position-function 'ediff-make-frame-position
ediff-prefer-iconified-control-frame nil
ediff-window-setup-function 'ediff-setup-windows-plain
ediff-split-window-function 'split-window-horizontally
ediff-job-name 'ediff-files3
ediff-word-mode nil
buffer-name "*Ediff Control Panel<5>*"
ediff-device-type 'x
)