diff options
author | Juri Linkov <juri@linkov.net> | 2019-08-18 01:40:32 +0300 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2019-08-18 01:40:32 +0300 |
commit | 6616806896060d95355c965599517d7065c19b86 (patch) | |
tree | a5e24222b921dbe886511e2dc3b00245b056a3b2 /lisp/frameset.el | |
parent | c81c041f605afe9c9fb64d4f821a153dafd6f94d (diff) | |
download | emacs-6616806896060d95355c965599517d7065c19b86.tar.gz |
* 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)
Diffstat (limited to 'lisp/frameset.el')
-rw-r--r-- | lisp/frameset.el | 10 |
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." (error (delay-warning 'frameset (error-message-string err) :warning)))))) + ;; Make sure the frame with last-focus-update has focus. + (let ((last-focus-frame + (catch 'last-focus + (maphash (lambda (frame _) + (when (frame-parameter frame 'last-focus-update) + (throw 'last-focus frame))) + frameset--action-map)))) + (when last-focus-frame + (select-frame-set-input-focus last-focus-frame))) + ;; Make sure there's at least one visible frame. (unless (or (daemonp) (catch 'visible |