Go to the first, previous, next, last section, table of contents.


Buffers and Windows

This section describes low-level functions to examine windows or to display buffers in windows in a precisely controlled fashion. See the following section 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.

Function: set-window-buffer window buffer-or-name
This function makes window display buffer-or-name as its contents. It returns nil. This is the fundamental primitive for changing which buffer is displayed in a window, and all ways of doing that call this function.

(set-window-buffer (selected-window) "foo")
     => nil

Function: window-buffer &optional window
This function returns the buffer that window is displaying. If window is omitted, this function returns the buffer for the selected window.

(window-buffer)
     => #<buffer windows.texi>

Function: get-buffer-window buffer-or-name &optional all-frames
This function returns a window currently displaying buffer-or-name, or 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 section Cyclic Ordering of Windows.

The argument all-frames controls which windows to consider.

Function: get-buffer-window-list buffer-or-name &optional minibuf all-frames
This function returns a list of all the windows currently displaying buffer-or-name.

The two optional arguments work like the optional arguments of next-window (see section Cyclic Ordering of Windows); they are not like the single optional argument of get-buffer-window. Perhaps we should change get-buffer-window in the future to make it compatible with the other functions.

The argument all-frames controls which windows to consider.

Variable: buffer-display-time
This variable records the time at which a buffer was last made visible in a window. It is always local in each buffer; each time set-window-buffer is called, it sets this variable to (current-time) in the specified buffer (see section Time of Day). When a buffer is first created, buffer-display-time starts out with the value nil.


Go to the first, previous, next, last section, table of contents.