Mercurial > emacs
changeset 56486:81f58ee62d32
Various small changes in addition to:
(Window Point): Mention return value of `set-window-point'.
(Window Start): `pos-visible-in-window-p' disregards horizontal
scrolling. Explain return value if PARTIALLY is non-nil.
(Vertical Scrolling): Mention PIXELS-P argument to `window-vscroll'
and `set-window-vscroll'.
(Size of Window): The argument WINDOW to `window-inside-edges',
`window-pixel-edges' and `window-inside-pixel-edges' is optional.
(Resizing Windows): Explain return value of
`shrink-window-if-larger-than-buffer'.
`window-size-fixed' automatically becomes buffer local when set.
(Window Configurations): Explain return value of `set-window-configuration'.
author | Luc Teirlinck <teirllm@auburn.edu> |
---|---|
date | Mon, 19 Jul 2004 21:33:37 +0000 |
parents | 2060f98be086 |
children | 338a1d04223d |
files | lispref/windows.texi |
diffstat | 1 files changed, 54 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/lispref/windows.texi Mon Jul 19 21:04:00 2004 +0000 +++ b/lispref/windows.texi Mon Jul 19 21:33:37 2004 +0000 @@ -1195,7 +1195,7 @@ @defun set-window-point window position This function positions point in @var{window} at position -@var{position} in @var{window}'s buffer. +@var{position} in @var{window}'s buffer. It returns @var{position}. @end defun @node Window Start @@ -1233,7 +1233,7 @@ redisplay. For a realistic example of using @code{window-start}, see the -description of @code{count-lines} in @ref{Text Lines}. +description of @code{count-lines}. @xref{Definition of count-lines}. @end defun @defun window-end &optional window update @@ -1324,14 +1324,27 @@ @end defun @defun pos-visible-in-window-p &optional position window partially -This function returns @code{t} if @var{position} is within the range of -text currently visible on the screen in @var{window}. It returns -@code{nil} if @var{position} is scrolled vertically or horizontally out -of view. Locations that are partially obscured are not considered +This function returns non-@code{nil} if @var{position} is within the +range of text currently visible on the screen in @var{window}. It +returns @code{nil} if @var{position} is scrolled vertically out of +view. Locations that are partially obscured are not considered visible unless @var{partially} is non-@code{nil}. The argument @var{position} defaults to the current position of point in @var{window}; @var{window}, to the selected window. +The @code{pos-visible-in-window-p} function considers only vertical +scrolling. If @var{position} is out of view only because @var{window} +has been scrolled horizontally, @code{pos-visible-in-window-p} returns +non-@code{nil} anyway. @xref{Horizontal Scrolling}. + +If @var{position} is visible, @code{pos-visible-in-window-p} returns +@code{t} if @var{partially} is @code{nil}; if @var{partially} is +non-@code{nil}, it returns a list of the form @code{(@var{x} @var{y} +@var{fully})}, where @var{x} and @var{y} are the pixel coordinates +relative to the top left corner of the window, and @var{fully} is +@code{t} if the character after @var{position} is fully visible and +@code{nil} otherwise. + Here is an example: @example @@ -1348,7 +1361,7 @@ @cindex textual scrolling @cindex scrolling textually - @dfn{Textual scrolling} means moving the text up or down though a + @dfn{Textual scrolling} means moving the text up or down through a window. It works by changing the value of the window's display-start location. It may also change the value of @code{window-point} to keep point on the screen. @@ -1419,7 +1432,10 @@ the one at the top left corner. You can specify a different window to scroll, when the minibuffer is selected, by setting the variable @code{minibuffer-scroll-window}. This variable has no effect when any -other window is selected. @xref{Minibuffer Misc}. +other window is selected. When it is non-@code{nil} and the +minibuffer is selected, it takes precedence over +@code{other-window-scroll-buffer}. @xref{Definition of +minibuffer-scroll-window}. When the minibuffer is active, it is the next window if the selected window is the one at the bottom right corner. In this case, @@ -1563,10 +1579,11 @@ line whose height is very short off the screen, while a value of 3.3 could scroll just part of the way through a tall line or an image. -@defun window-vscroll &optional window +@defun window-vscroll &optional window pixels-p This function returns the current vertical scroll position of -@var{window}, If @var{window} is @code{nil}, the selected window is -used. +@var{window}. If @var{window} is @code{nil}, the selected window is +used. If @var{pixels-p} is non-@code{nil}, the return value is +measured in pixels, rather than in units of the normal line height. @example @group @@ -1576,7 +1593,7 @@ @end example @end defun -@defun set-window-vscroll window lines +@defun set-window-vscroll window lines &optional pixels-p This function sets @var{window}'s vertical scroll position to @var{lines}. The argument @var{lines} should be zero or positive; if not, it is taken as zero. @@ -1595,6 +1612,9 @@ @result{} 1.13 @end group @end example + +If @var{pixels-p} is non-@code{nil}, @var{lines} specifies a number of +pixels. In this case, the return value is @var{lines}. @end defun @node Horizontal Scrolling @@ -1803,15 +1823,16 @@ rightmost column used by @var{window}, and @var{bottom} is one more than the bottommost row used by @var{window} and its mode-line. -If a window has a scroll bar, the right edge value includes the width of -the scroll bar. Otherwise, if the window has a neighbor on the right, -its right edge value includes the width of the separator line between -the window and that neighbor. Since the width of the window does not -include this separator, the width does not usually equal the difference -between the right and left edges. +The edges include the space used by the window's scroll bar, display +margins, fringes, header line, and mode line, if it has them. Also, +if the window has a neighbor on the right, its right edge value +includes the width of the separator line between the window and that +neighbor. Since the width of the window does not include this +separator, the width does not usually equal the difference between the +right and left edges. @end defun -@defun window-inside-edges window +@defun window-inside-edges &optional window This is similar to @code{window-edges}, but the edge values it returns include only the text area of the window. They do not include the header line, mode line, scroll bar or @@ -1877,13 +1898,13 @@ @end group @end example -@defun window-pixel-edges window +@defun window-pixel-edges &optional window This function is like @code{window-edges} except that, on a graphical display, the edge values are measured in pixels instead of in character lines and columns. @end defun -@defun window-inside-pixel-edges window +@defun window-inside-pixel-edges &optional window This function is like @code{window-inside-edges} except that, on a graphical display, the edge values are measured in pixels instead of in character lines and columns. @@ -1975,6 +1996,9 @@ display the whole text of the buffer, or if part of the contents are currently scrolled off screen, or if the window is not the full width of its frame, or if the window is the only window in its frame. + +This command returns non-@code{nil} if it actually shrank the window +and @code{nil} otherwise. @end deffn @tindex window-size-fixed @@ -1988,9 +2012,7 @@ if the value is @code{width}, then only the window's width is fixed. Any other non-@code{nil} value fixes both the width and the height. -The usual way to use this variable is to give it a buffer-local value in -a particular buffer. That way, the windows (but usually there is only -one) displaying that buffer have fixed size. +This variable automatically becomes buffer-local when set. Explicit size-change functions such as @code{enlarge-window} get an error if they would have to change a window size which is fixed. @@ -2132,7 +2154,8 @@ If the frame which @var{configuration} was saved from is dead, all this function does is restore the three variables @code{window-min-height}, -@code{window-min-width} and @code{minibuffer-scroll-window}. +@code{window-min-width} and @code{minibuffer-scroll-window}. In this +case, the function returns @code{nil}. Otherwise, it returns @code{t}. Here is a way of using this function to get the same effect as @code{save-window-excursion}: @@ -2151,10 +2174,11 @@ @defspec save-window-excursion forms@dots{} This special form records the window configuration, executes @var{forms} in sequence, then restores the earlier window configuration. The window -configuration includes the value of point and the portion of the buffer -that is visible. It also includes the choice of selected window. -However, it does not include the value of point in the current buffer; -use @code{save-excursion} also, if you wish to preserve that. +configuration includes, for each window, the value of point and the +portion of the buffer that is visible. It also includes the choice of +selected window. However, it does not include the value of point in +the current buffer; use @code{save-excursion} also, if you wish to +preserve that. Don't use this construct when @code{save-selected-window} is sufficient. @@ -2275,6 +2299,7 @@ @defun window-redisplay-end-trigger &optional window This function returns @var{window}'s current end trigger position. +If @var{window} is @code{nil} or omitted, it uses the selected window. @end defun @defvar window-configuration-change-hook