Function: quit-restore-window

Quit WINDOW and deal with its buffer.
WINDOW must be a live window and defaults to the selected one.

According to information stored in WINDOW's `quit-restore' window
parameter either (1) delete WINDOW and its frame, (2) delete
WINDOW, (3) restore the buffer previously displayed in WINDOW,
or (4) make WINDOW display some other buffer than the present
one. If non-nil, reset `quit-restore' parameter to nil.

Optional second argument BURY-OR-KILL tells how to proceed with
the buffer of WINDOW. The following values are handled:

`nil' means to not handle the buffer in a particular way. This
means that if WINDOW is not deleted by this function, invoking
`switch-to-prev-buffer' will usually show the buffer again.

`append' means that if WINDOW is not deleted, move its buffer to
the end of WINDOW's previous buffers so it's less likely that a
future invocation of `switch-to-prev-buffer' will switch to it.
Also, move the buffer to the end of the frame's buffer list.

`bury' means that if WINDOW is not deleted, remove its buffer
from WINDOW'S list of previous buffers. Also, move the buffer
to the end of the frame's buffer list. This value provides the
most reliable remedy to not have `switch-to-prev-buffer' switch to this buffer again without killing the buffer. `kill' means to kill WINDOW's buffer.