GNU Emacs Lisp Reference Manual
This section describes low-level functions to examine windows or to display buffers in windows in a precisely controlled fashion. See Displaying Buffers, for related functions that find a window to use and specify a buffer for it. The functions described there are easier to use than these, but they employ heuristics in choosing or creating a window; use these functions when you need complete control.
nil.
(set-window-buffer (selected-window) "foo")
=> nil
(window-buffer)
=> #<buffer windows.texi>
nil if there is none. If there are
several such windows, then the function returns the first one in the
cyclic ordering of windows, starting from the selected window.
See Cyclic Window Ordering.
The argument all-frames controls which windows to consider.
nil, consider windows on the selected frame.
t, consider windows on all frames.
visible, consider windows on all visible frames.