summaryrefslogtreecommitdiff
path: root/lisp/frameset.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2019-08-09 21:08:54 +0300
committerJuri Linkov <juri@linkov.net>2019-08-09 21:08:54 +0300
commit721035d61c88967fe1f8f24c3c4a10f4b6237326 (patch)
treeac1466c4dc385afe40e280d9a436c53f27beccf6 /lisp/frameset.el
parent495b33bb3858fbb8912f7d357e1d277062b98bcd (diff)
downloademacs-721035d61c88967fe1f8f24c3c4a10f4b6237326.tar.gz
* lisp/frameset.el (frameset--minibufferless-last-p): Add comments (bug#36894)
Diffstat (limited to 'lisp/frameset.el')
-rw-r--r--lisp/frameset.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/frameset.el b/lisp/frameset.el
index a8b16706c2d..60b6fe38ad9 100644
--- a/lisp/frameset.el
+++ b/lisp/frameset.el
@@ -1104,9 +1104,18 @@ It sorts minibuffer-owning frames before minibufferless ones.
Internal use only."
(pcase-let ((`(,hasmini1 . ,id-def1) (cdr (assq 'frameset--mini (car state1))))
(`(,hasmini2 . ,id-def2) (cdr (assq 'frameset--mini (car state2)))))
- (cond ((eq id-def1 t) t)
+ ;; hasmini1 is t when 1st frame has its own minibuffer
+ ;; hasmini2 is t when 2nd frame has its own minibuffer
+ ;; id-def1 is t when 1st minibuffer-owning frame is the default-minibuffer-frame
+ ;; or frame-id of 1st frame if it's minibufferless
+ ;; id-def2 is t when 2nd minibuffer-owning frame is the default-minibuffer-frame
+ ;; or frame-id of 2nd frame if it's minibufferless
+ (cond ;; Sort the minibuffer-owning default-minibuffer-frame first
+ ((eq id-def1 t) t)
((eq id-def2 t) nil)
- ((not (eq hasmini1 hasmini2)) (eq hasmini1 t))
+ ;; Sort non-default minibuffer-owning frames before minibufferless
+ ((not (eq hasmini1 hasmini2)) (eq hasmini1 t)) ;; boolean xor
+ ;; Sort minibufferless frames with frame-id before some remaining
((eq hasmini1 nil) (or id-def1 id-def2))
(t t))))