Subject: bug#12218: 24.2.50; vc-ediff: Pressing `n' moves focus away from ediff control panel

From: Juri Linkov <[email-masked]>
Date: Tue, 12 Feb 2013 19:47:31 +0200

>> But unfortunately I can't reproduce this bug reliably
>> to try various solutions.
>
> If you circulate a diff, I can try it out, as many times as you want.

Please try this patch:

=== modified file 'lisp/vc/ediff-util.el'
--- lisp/vc/ediff-util.el	2013-01-03 00:36:36 +0000
+++ lisp/vc/ediff-util.el	2013-02-12 17:47:25 +0000
@@ -786,7 +786,11 @@ (defun ediff-recenter (&optional no-rehi
 	   (frame-live-p ediff-control-frame)
 	   (not ediff-use-long-help-message)
 	   (not (ediff-frame-iconified-p ediff-control-frame)))
-      (raise-frame ediff-control-frame))
+      (if (fboundp 'select-frame-set-input-focus)
+	  (select-frame-set-input-focus ediff-control-frame)
+	(raise-frame ediff-control-frame)
+	(select-frame ediff-control-frame)
+	(focus-frame ediff-control-frame)))
 
   ;; Redisplay whatever buffers are showing, if there is a selected difference
   (let ((control-frame ediff-control-frame)