aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2019-08-18 01:40:32 +0300
committerJuri Linkov2019-08-18 01:40:32 +0300
commit6616806896060d95355c965599517d7065c19b86 (patch)
treea5e24222b921dbe886511e2dc3b00245b056a3b2
parentc81c041f605afe9c9fb64d4f821a153dafd6f94d (diff)
downloademacs-6616806896060d95355c965599517d7065c19b86.tar.gz
emacs-6616806896060d95355c965599517d7065c19b86.zip
* lisp/frameset.el (frameset-restore): Make sure last-focus frame has focus.
Call select-frame-set-input-focus to restore focus on the frame that had last-focus-update frame parameter before saving frameset. (Bug#36894)
-rw-r--r--lisp/frameset.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/frameset.el b/lisp/frameset.el
index 60b6fe38ad9..9a7a75f5efc 100644
--- a/lisp/frameset.el
+++ b/lisp/frameset.el
@@ -1346,6 +1346,16 @@ All keyword parameters default to nil."
1346 (error 1346 (error
1347 (delay-warning 'frameset (error-message-string err) :warning)))))) 1347 (delay-warning 'frameset (error-message-string err) :warning))))))
1348 1348
1349 ;; Make sure the frame with last-focus-update has focus.
1350 (let ((last-focus-frame
1351 (catch 'last-focus
1352 (maphash (lambda (frame _)
1353 (when (frame-parameter frame 'last-focus-update)
1354 (throw 'last-focus frame)))
1355 frameset--action-map))))
1356 (when last-focus-frame
1357 (select-frame-set-input-focus last-focus-frame)))
1358
1349 ;; Make sure there's at least one visible frame. 1359 ;; Make sure there's at least one visible frame.
1350 (unless (or (daemonp) 1360 (unless (or (daemonp)
1351 (catch 'visible 1361 (catch 'visible