Windows and Point
=================
Each window has its own value of point, independent of the value of
point in other windows displaying the same buffer. This makes it useful
to have multiple windows showing one buffer.
* The window point is established when a window is first created; it
is initialized from the buffer's point, or from the window point
of another window opened on the buffer if such a window exists.
* Selecting a window sets the value of point in its buffer from the
window's value of point. Conversely, deselecting a window sets the
window's value of point from that of the buffer. Thus, when you
switch between windows that display a given buffer, the point
value for the selected window is in effect in the buffer, while
the point values for the other windows are stored in those windows.
* As long as the selected window displays the current buffer, the
window's point and the buffer's point always move together; they
remain equal.
* Note:Positions, for more details on buffer positions.
As far as the user is concerned, point is where the cursor is, and
when the user switches to another buffer, the cursor jumps to the
position of point in that buffer.
- Function: window-point &optional window
This function returns the current position of point in WINDOW.
For a nonselected window, this is the value point would have (in
that window's buffer) if that window were selected. If WINDOW is
`nil', the selected window is used.
When WINDOW is the selected window and its buffer is also the
current buffer, the value returned is the same as point in that
buffer.
Strictly speaking, it would be more correct to return the
"top-level" value of point, outside of any `save-excursion' forms.
But that value is hard to find.
- Function: set-window-point window position
This function positions point in WINDOW at position POSITION in
WINDOW's buffer.