[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r113559: lisp/desktop.el (desktop--select-frame): Tr
From: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] trunk r113559: lisp/desktop.el (desktop--select-frame): Try harder to reuse the initial frame. |
Date: |
Fri, 26 Jul 2013 17:50:11 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 113559
revision-id: address@hidden
parent: address@hidden
committer: Juanma Barranquero <address@hidden>
branch nick: trunk
timestamp: Fri 2013-07-26 19:49:52 +0200
message:
lisp/desktop.el (desktop--select-frame): Try harder to reuse the initial
frame.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/desktop.el desktop.el-20091113204419-o5vbwnq5f7feedwu-591
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-07-26 15:09:04 +0000
+++ b/lisp/ChangeLog 2013-07-26 17:49:52 +0000
@@ -1,3 +1,8 @@
+2013-07-26 Juanma Barranquero <address@hidden>
+
+ * desktop.el (desktop--select-frame):
+ Try harder to reuse the initial frame.
+
2013-07-26 Stefan Monnier <address@hidden>
* emacs-lisp/edebug.el: Use backtrace-eval to handle lexical variables.
=== modified file 'lisp/desktop.el'
--- a/lisp/desktop.el 2013-07-26 14:01:19 +0000
+++ b/lisp/desktop.el 2013-07-26 17:49:52 +0000
@@ -1235,10 +1235,20 @@
;; If the frame has its own minibuffer, let's see whether
;; that frame has already been loaded (which can happen after
;; M-x desktop-read).
- (setq frame (or (desktop--find-frame
- (lambda (f m)
- (equal (frame-parameter f 'desktop--mini) m))
- display mini))))
+ (setq frame (desktop--find-frame
+ (lambda (f m)
+ (equal (frame-parameter f 'desktop--mini) m))
+ display mini))
+ ;; If it has not been loaded, and it is not a minibuffer-only
frame,
+ ;; let's look for an existing non-minibuffer-only frame to reuse.
+ (unless (or frame (eq (cdr (assq 'minibuffer frame-cfg)) 'only))
+ (setq frame (desktop--find-frame
+ (lambda (f)
+ (let ((w (frame-parameter f 'minibuffer)))
+ (and (window-live-p w)
+ (window-minibuffer-p w)
+ (eq (window-frame w) f))))
+ display))))
(mini
;; For minibufferless frames, check whether they already exist,
;; and that they are linked to the right minibuffer frame.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r113559: lisp/desktop.el (desktop--select-frame): Try harder to reuse the initial frame.,
Juanma Barranquero <=