mirror of
https://github.com/neovim/neovim.git
synced 2025-09-23 11:38:31 +00:00
vim-patch:8.1.0864 Make 'scrolloff' and 'sidescrolloff' options window local (#11854)
Problem: cannot have a local value for 'scrolloff' and 'sidescrolloff'
Author: Bram Moolenar
375e339007
This commit is contained in:
@@ -2584,12 +2584,13 @@ do_mouse (
|
||||
|
||||
/* Set global flag that we are extending the Visual area with mouse
|
||||
* dragging; temporarily minimize 'scrolloff'. */
|
||||
if (VIsual_active && is_drag && p_so) {
|
||||
/* In the very first line, allow scrolling one line */
|
||||
if (mouse_row == 0)
|
||||
if (VIsual_active && is_drag && get_scrolloff_value()) {
|
||||
// In the very first line, allow scrolling one line
|
||||
if (mouse_row == 0) {
|
||||
mouse_dragging = 2;
|
||||
else
|
||||
} else {
|
||||
mouse_dragging = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* When dragging the mouse above the window, scroll down. */
|
||||
@@ -4089,9 +4090,9 @@ void scroll_redraw(int up, long count)
|
||||
scrollup(count, true);
|
||||
else
|
||||
scrolldown(count, true);
|
||||
if (p_so) {
|
||||
/* Adjust the cursor position for 'scrolloff'. Mark w_topline as
|
||||
* valid, otherwise the screen jumps back at the end of the file. */
|
||||
if (get_scrolloff_value()) {
|
||||
// Adjust the cursor position for 'scrolloff'. Mark w_topline as
|
||||
// valid, otherwise the screen jumps back at the end of the file.
|
||||
cursor_correct();
|
||||
check_cursor_moved(curwin);
|
||||
curwin->w_valid |= VALID_TOPLINE;
|
||||
@@ -4135,8 +4136,8 @@ static void nv_zet(cmdarg_T *cap)
|
||||
int old_fen = curwin->w_p_fen;
|
||||
bool undo = false;
|
||||
|
||||
assert(p_siso <= INT_MAX);
|
||||
int l_p_siso = (int)p_siso;
|
||||
int l_p_siso = (int)get_sidescrolloff_value();
|
||||
assert(l_p_siso <= INT_MAX);
|
||||
|
||||
if (ascii_isdigit(nchar)) {
|
||||
/*
|
||||
|
Reference in New Issue
Block a user