What's wrong with putting the first disjunct into the
conditional as in
the below? In general, always try to avoid larger indentation
changes -
they can make forensics cumbersome while bisecting.
(cond
;; First try to delete dedicated windows that are not
side windows
((and dedicated (not (eq dedicated 'side))
(window--delete window 'dedicated (eq bury-or-kill
'kill))))
((and (not prev-buffer)
(eq (nth 1 quit-restore) 'tab)
(eq (nth 3 quit-restore) buffer))
The difference is a window dedicated with flag t may not be
deletable, and in this case, we want it
to pass through the others conditionals branch of
quit-restore-window, so it can try to use the
'quit-restore parameter, close the tab or to fallback in t, etc.
Explaining it makes me thing I could use 'window-deletable-p' in
its conditional and ...
I guess, problem solved