* src/window.c (other-window-scroll-default): New variable (bug#51210).

(Fother_window_for_scrolling): Use it.
This commit is contained in:
Juri Linkov 2022-01-11 19:28:52 +02:00
parent 4765487d5d
commit ecdda194a8
2 changed files with 14 additions and 2 deletions

View file

@ -269,6 +269,8 @@ For example, a 'display-buffer-alist' entry of
will make the body of the chosen window 40 columns wide. For the
height use 'window-height' in combination with 'body-lines'.
*** 'other-window-scroll-default' can define the other window to scroll.
** Rcirc
+++

View file

@ -6307,10 +6307,12 @@ followed by all visible frames on the current terminal. */)
if (NILP (window))
window = display_buffer (Vother_window_scroll_buffer, Qt, Qnil);
}
else if (FUNCTIONP (Vother_window_scroll_default))
/* Nothing specified; try to get a window from the function. */
window = call0 (Vother_window_scroll_default);
else
{
/* Nothing specified; look for a neighboring window on the same
frame. */
/* Otherwise, look for a neighboring window on the same frame. */
window = Fnext_window (selected_window, Qlambda, Qnil);
if (EQ (window, selected_window))
@ -8268,6 +8270,14 @@ is displayed in the `mode-line' face. */);
doc: /* If this is a live buffer, \\[scroll-other-window] should scroll its window. */);
Vother_window_scroll_buffer = Qnil;
DEFVAR_LISP ("other-window-scroll-default", Vother_window_scroll_default,
doc: /* Function that provides the window to scroll by \\[scroll-other-window].
The function `other-window-for-scrolling' first tries to use
`minibuffer-scroll-window' and `other-window-scroll-buffer'.
But when both are nil, then by default it uses a neighboring window.
This variable is intended to get another default instead of `next-window'. */);
Vother_window_scroll_default = Qnil;
DEFVAR_BOOL ("auto-window-vscroll", auto_window_vscroll_p,
doc: /* Non-nil means to automatically adjust `window-vscroll' to view tall lines. */);
auto_window_vscroll_p = true;