Function: frameset--minibufferless-last-p
frameset--minibufferless-last-p is a byte-compiled function defined in
frameset.el.gz.
Signature
(frameset--minibufferless-last-p STATE1 STATE2)
Documentation
Predicate to sort frame states in an order suitable for creating frames.
It sorts minibuffer-owning frames before minibufferless ones. Internal use only.
Source Code
;; Defined in /usr/src/emacs/lisp/frameset.el.gz
(defun frameset--minibufferless-last-p (state1 state2)
"Predicate to sort frame states in an order suitable for creating frames.
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)))))
;; 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)
;; 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))))