[vim/vim] feat(move): allow scrolloff to be satisfied using screen rows past EOF (PR #19040)

67 views
Skip to first unread message

mcauley-penney

unread,
Dec 29, 2025, 1:09:28 AM12/29/25
to vim/vim, Subscribed

Add a new window-local option 'scrolloffpad' that lets 'scrolloff' remain effective at the end of a buffer by treating EOF filler rows as usable screen space.

When enabled, cursor movements and jumps (e.g. j, G) keep the cursor line centered according to 'scrolloff' even past the last buffer line. When disabled, existing scrolloff behavior is preserved.


You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/19040

Commit Summary

  • bc03504 feat(move): allow scrolloff to be satisfied using screen rows past EOF

File Changes

(10 files)

Patch Links:


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040@github.com>

mcauley-penney

unread,
Jan 2, 2026, 2:18:20 PMJan 2
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 4f1d2e9 docs(options): init scrolloffpad option docs


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/bc0350461e344819d5713e82fab1ae2796d8c8bd/after/4f1d2e93acae4de43d26349895659fdb73055055@github.com>

mcauley-penney

unread,
Jan 2, 2026, 2:23:00 PMJan 2
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 3e4f519 feat(options): add wiring for 'scrolloffpad' option

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/4f1d2e93acae4de43d26349895659fdb73055055/after/3e4f519001c6f293b1eae56abd479255a92573b2@github.com>

mcauley-penney

unread,
Jan 2, 2026, 9:24:00 PMJan 2
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • c856028 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/3e4f519001c6f293b1eae56abd479255a92573b2/after/c85602807b7fe6b520f5df2f22ad810f1a73e588@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:01:58 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • bbd8a56 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/c85602807b7fe6b520f5df2f22ad810f1a73e588/after/bbd8a564d2e82a4cb9c11ad1ab25b06886300579@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:03:04 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 12cbb36 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/bbd8a564d2e82a4cb9c11ad1ab25b06886300579/after/12cbb361632d8663cc9cfc9661835b37abb64042@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:06:40 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • 4e6a098 feat(options): add wiring for 'scrolloffpad' option
  • 35d14e4 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/12cbb361632d8663cc9cfc9661835b37abb64042/after/35d14e4533978a02b102c596265612379584be79@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:10:28 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • ac71fdf feat(options): add wiring for 'scrolloffpad' option
  • 1e5654e feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/35d14e4533978a02b102c596265612379584be79/after/1e5654e958fa9f10c26e8c787db8ceabf1fc302e@github.com>

mcauley-penney

unread,
Jan 3, 2026, 1:11:15 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • 1ef0b53 feat(options): add wiring for 'scrolloffpad' option
  • 42c0ba8 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/1e5654e958fa9f10c26e8c787db8ceabf1fc302e/after/42c0ba845da8b4ce68378ad26d7582d79ae3edb0@github.com>

mcauley-penney

unread,
Jan 3, 2026, 5:59:37 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • 09581ea docs(options): init scrolloffpad option docs
  • a22cddc feat(options): add wiring for 'scrolloffpad' option
  • 9f666b0 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/42c0ba845da8b4ce68378ad26d7582d79ae3edb0/after/9f666b076b9c0a414c7117bcf4994075f7ffa05f@github.com>

mcauley-penney

unread,
Jan 3, 2026, 8:22:29 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 1cd4276 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/9f666b076b9c0a414c7117bcf4994075f7ffa05f/after/1cd4276b536d7e7380e4a11ec7573f0418ddfcd2@github.com>

mcauley-penney

unread,
Jan 3, 2026, 9:42:22 PMJan 3
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 0b64ca9 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/1cd4276b536d7e7380e4a11ec7573f0418ddfcd2/after/0b64ca98dd66f1663354e905a7128049be9c8d56@github.com>

mcauley-penney

unread,
Jan 4, 2026, 12:48:56 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • e96fec2 docs(options): init scrolloffpad option docs
  • 882f91b feat(options): add wiring for 'scrolloffpad' option
  • 6dbd639 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/0b64ca98dd66f1663354e905a7128049be9c8d56/after/6dbd63912650fcad3307fe466dbc44382fda5198@github.com>

mcauley-penney

unread,
Jan 4, 2026, 1:26:45 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • bd8a2d0 docs(options): init scrolloffpad option docs
  • 2762631 feat(options): add wiring for 'scrolloffpad' option
  • 2275bfc feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/6dbd63912650fcad3307fe466dbc44382fda5198/after/2275bfca1701addc541f54700a21a225d14b8702@github.com>

mcauley-penney

unread,
Jan 4, 2026, 1:35:37 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • 38fa28c feat(options): add wiring for 'scrolloffpad' option
  • 2a76ebf feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/2275bfca1701addc541f54700a21a225d14b8702/after/2a76ebf011504f45489f3135ce61b59ead7a6fbd@github.com>

mcauley-penney

unread,
Jan 4, 2026, 4:16:00 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • bced57e feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/2a76ebf011504f45489f3135ce61b59ead7a6fbd/after/bced57ed605a3ca6533f110ace159e0e042263cf@github.com>

mcauley-penney

unread,
Jan 4, 2026, 5:06:28 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • f0280ab docs(options): init scrolloffpad option docs
  • 570f9b3 feat(options): add wiring for 'scrolloffpad' option
  • c17251e feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/bced57ed605a3ca6533f110ace159e0e042263cf/after/c17251ec33bae9c206d91057d0d5dbb5b9c687f3@github.com>

mcauley-penney

unread,
Jan 4, 2026, 5:37:26 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • e63841c docs(options): init scrolloffpad option docs
  • 012dbbe feat(options): add wiring for 'scrolloffpad' option
  • c927f47 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/c17251ec33bae9c206d91057d0d5dbb5b9c687f3/after/c927f47dd6adc8c3ea1e192341017832a2d0959b@github.com>

mcauley-penney

unread,
Jan 4, 2026, 6:49:12 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 670e072 test(scrolloffpad): make terminal sizes deterministic

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/c927f47dd6adc8c3ea1e192341017832a2d0959b/after/670e0729342bcf7802f06b4ae76c53e7517cdf5d@github.com>

mcauley-penney

unread,
Jan 4, 2026, 8:09:36 PMJan 4
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 856bab2 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/670e0729342bcf7802f06b4ae76c53e7517cdf5d/after/856bab2f527314fb5b0b0d19ed8ed803217548a3@github.com>

mcauley-penney

unread,
Jan 29, 2026, 10:19:24 PMJan 29
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • 5fa2df3 docs(options): init scrolloffpad option docs
  • 0e18520 feat(options): add wiring for 'scrolloffpad' option
  • 3e0d6a0 feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/856bab2f527314fb5b0b0d19ed8ed803217548a3/after/3e0d6a0c94b47b7dd744f2fbc27ac728279f9210@github.com>

mcauley-penney

unread,
Feb 8, 2026, 3:50:18 PMFeb 8
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 292532c feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/3c7c28e570e1c4f7f35b0bb62458f30bdd73f517/after/292532cd83f522120b309ec701dea71d9f7a9c5c@github.com>

mcauley-penney

unread,
Feb 14, 2026, 9:01:10 PMFeb 14
to vim/vim, Push

@mcauley-penney pushed 3 commits.

  • 7ffeaad docs(options): init scrolloffpad option docs
  • 97220ff feat(options): add wiring for 'scrolloffpad' option
  • 8eedfce feat(move): implement scrolloffpad functionality

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/04d08cde187e630be4d202a158d3fa632cde888f/after/8eedfce27da5068bd55249d8459b47f3eb623f21@github.com>

Christian Brabandt

unread,
Feb 15, 2026, 10:59:03 AMFeb 15
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

Thanks. I’m wondering, do we really need a new option for this? Perhaps we should just implement the missing functionality. Or would that be too intrusive a behavioral change for users who already use the 'scrolloff' option?


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3904729559@github.com>

Copilot

unread,
Feb 15, 2026, 12:18:53 PMFeb 15
to vim/vim, Subscribed

@Copilot commented on this pull request.

Pull request overview

Copilot reviewed 25 out of 25 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


In src/move.c:

> +		    }
+		    if (n >= *so_ptr && !eof_pressure)
+			// sufficient context, no need to scroll
+			check_botline = FALSE;
 		}
-		if (n >= *so_ptr)
+		else
 		    // sufficient context, no need to scroll
 		    check_botline = FALSE;

The comment 'sufficient context, no need to scroll' appears twice with identical meaning. The duplicate 'else' branch at line 518-520 can be consolidated with the condition at line 514-516 to reduce redundancy and improve clarity.


In src/testdir/test_cursor_func.vim:

> +  let winbar_height = get(wininfo, 'winbar', 0)
+  call assert_equal({'row': winrow + wininfo.height - 1 + winbar_height,

The variable 'winbar_height' is misleading because it retrieves the 'winbar' value from wininfo, which is not necessarily a height. Consider renaming to 'winbar_offset' or documenting what the 'winbar' property actually represents.

⬇️ Suggested change
-  let winbar_height = get(wininfo, 'winbar', 0)
-  call assert_equal({'row': winrow + wininfo.height - 1 + winbar_height,
+  let winbar_offset = get(wininfo, 'winbar', 0)
+  call assert_equal({'row': winrow + wininfo.height - 1 + winbar_offset,


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/review/3805232744@github.com>

mcauley-penney

unread,
Feb 15, 2026, 2:05:08 PMFeb 15
to vim/vim, Subscribed
mcauley-penney left a comment (vim/vim#19040)

Thanks. I’m wondering, do we really need a new option for this? Perhaps we should just implement the missing functionality. Or would that be too intrusive a behavioral change for users who already use the 'scrolloff' option?

I think that the Vim community generally doesn't like changes to longstanding behavior and that a bigger discussion would be needed, with more users, before something like that.

I also think that this isn't necessarily a case of missing functionality, because scrolloff without this new option does have a benefit. It allows the user to see a lot of context around the edges of the buffer. When the user is at the top or bottom, they can see below or above, respectively. I view this option as implementing a tradeoff instead of adding missing functionality: it centers the bottom edge of the buffer for ease of viewing (kind of like what all of the Zen mode plugins do) but sacrifices context.

So, I think that users may like to select one or the other.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3905014130@github.com>

Christian Brabandt

unread,
Feb 28, 2026, 1:00:03 PMFeb 28
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

is this ready?


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3977504682@github.com>

mcauley-penney

unread,
Feb 28, 2026, 1:04:08 PMFeb 28
to vim/vim, Subscribed
mcauley-penney left a comment (vim/vim#19040)

Let me take one last look at it right now and ping you. I will

  1. resolve the conflicts,
  2. address the two comments from Copilot, and
  3. do a last pass over it.

I left it alone for a bit just in case there was further discussion about it


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3977510391@github.com>

mcauley-penney

unread,
Feb 28, 2026, 1:08:43 PMFeb 28
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • fceb056 Merge branch 'master' into feat-scrolloffpad

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/8eedfce27da5068bd55249d8459b47f3eb623f21/after/fceb056adf553afa06d61b1a7f529b8edd673b0e@github.com>

mcauley-penney

unread,
Feb 28, 2026, 1:18:03 PMFeb 28
to vim/vim, Subscribed

@mcauley-penney commented on this pull request.


In src/move.c:

> +		    }
+		    if (n >= *so_ptr && !eof_pressure)
+			// sufficient context, no need to scroll
+			check_botline = FALSE;
 		}
-		if (n >= *so_ptr)
+		else
 		    // sufficient context, no need to scroll
 		    check_botline = FALSE;

This branch is not duplicated. The comment text is, but the else condition at 518 is not redundant logic


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/review/3870658357@github.com>

mcauley-penney

unread,
Feb 28, 2026, 1:27:56 PMFeb 28
to vim/vim, Subscribed

@mcauley-penney commented on this pull request.


In src/testdir/test_cursor_func.vim:

> +  let winbar_height = get(wininfo, 'winbar', 0)
+  call assert_equal({'row': winrow + wininfo.height - 1 + winbar_height,

In getwininfo(), winbar is documented as a 0/1 presence flag. This test adds it to wininfo.height, which excludes winbar, as a one-line row adjustment, so the current naming is intentional


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/review/3870664148@github.com>

mcauley-penney

unread,
Feb 28, 2026, 2:06:33 PMFeb 28
to vim/vim, Push

@mcauley-penney pushed 2 commits.

  • d20e4b8 Merge branch 'master' into feat-scrolloffpad
  • 63fa971 test(scrolloffpad): fix fragile diff mode test


View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/fceb056adf553afa06d61b1a7f529b8edd673b0e/after/63fa971f5f81ccf6f526dd6576aa9f4310c8aeb1@github.com>

mcauley-penney

unread,
Feb 28, 2026, 2:47:57 PMFeb 28
to vim/vim, Subscribed
mcauley-penney left a comment (vim/vim#19040)

is this ready?

This is ready, though I'm not sure about the lowered codecov score


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3977650169@github.com>

dkearns

unread,
Mar 1, 2026, 12:38:06 AMMar 1
to vim/vim, Subscribed

@dkearns commented on this pull request.


In src/move.c:

> @@ -279,6 +279,31 @@ update_topline_redraw(void)
 	update_screen(0);
 }
 
+/*
+ * Return TRUE when 'scrolloffpad' may augment 'scrolloff'.
+ * This only applies to automatic cursor visibility correction.
+ * For now 'scrolloffpad' is treated as boolean: 0 disables, > 0 enables.
+ */
+    static int
+use_scrolloffpad(void)
+{
+	return get_scrolloff_value() > 0 && get_scrolloffpad_value() > 0;
+}
+
+/*
+ * Return TRUE when there are not enough real buffer lines below "lnum" to
+ * satisfy the requested "so" context.
⬇️ Suggested change
- * satisfy the requested "so" context.
+ * satisfy the requested 'so' context.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/review/3871394194@github.com>

dkearns

unread,
Mar 1, 2026, 12:43:08 AMMar 1
to vim/vim, Subscribed
dkearns left a comment (vim/vim#19040)

With regards to this becoming a non-optional default, I'm chiming in to say that as a user I dislike this 'scrolloffpad' behaviour.


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3979192727@github.com>

zeertzjq

unread,
Mar 1, 2026, 12:43:33 AMMar 1
to vim/vim, Subscribed

@zeertzjq commented on this pull request.


In src/move.c:

> @@ -279,6 +279,31 @@ update_topline_redraw(void)
 	update_screen(0);
 }
 
+/*
+ * Return TRUE when 'scrolloffpad' may augment 'scrolloff'.
+ * This only applies to automatic cursor visibility correction.
+ * For now 'scrolloffpad' is treated as boolean: 0 disables, > 0 enables.
+ */
+    static int
+use_scrolloffpad(void)
+{
+	return get_scrolloff_value() > 0 && get_scrolloffpad_value() > 0;
+}
+
+/*
+ * Return TRUE when there are not enough real buffer lines below "lnum" to
+ * satisfy the requested "so" context.

This so is an argument name, not an option name.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/review/3871407493@github.com>

dkearns

unread,
Mar 1, 2026, 1:44:25 AMMar 1
to vim/vim, Subscribed

@dkearns commented on this pull request.


In src/move.c:

> @@ -279,6 +279,31 @@ update_topline_redraw(void)
 	update_screen(0);
 }
 
+/*
+ * Return TRUE when 'scrolloffpad' may augment 'scrolloff'.
+ * This only applies to automatic cursor visibility correction.
+ * For now 'scrolloffpad' is treated as boolean: 0 disables, > 0 enables.
+ */
+    static int
+use_scrolloffpad(void)
+{
+	return get_scrolloff_value() > 0 && get_scrolloffpad_value() > 0;
+}
+
+/*
+ * Return TRUE when there are not enough real buffer lines below "lnum" to
+ * satisfy the requested "so" context.

Oops


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/review/3871586755@github.com>

Christian Brabandt

unread,
Mar 1, 2026, 12:34:08 PMMar 1
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

thanks


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3980574965@github.com>

Christian Brabandt

unread,
Mar 1, 2026, 12:41:07 PMMar 1
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

I was just trying to merge it, but for me the newly added test fails:

1 FAILED:
Found errors in Test_scrolloffpad_diff_eof_filler_behavior():
command line..script /mnt/home/chrisbra/code/vim-upstream/src/testdir/runtest.vim[636]..function RunTheTest[63]..Test_scrolloffpad_diff_eof_filler_behavior line 67: Expected True but got 0
command line..script /mnt/home/chrisbra/code/vim-upstream/src/testdir/runtest.vim[636]..function RunTheTest[63]..Test_scrolloffpad_diff_eof_filler_behavior line 68: Expected True but got 0

any idea?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3980587171@github.com>

mcauley-penney

unread,
Mar 1, 2026, 2:57:20 PMMar 1
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • 2b645cc test(scrolloffpad): stabilize diff-mode tests across layouts

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/63fa971f5f81ccf6f526dd6576aa9f4310c8aeb1/after/2b645cc6c67bb9746e1569c473322a3e549da4a4@github.com>

mcauley-penney

unread,
Mar 1, 2026, 3:18:58 PMMar 1
to vim/vim, Subscribed
mcauley-penney left a comment (vim/vim#19040)

I was just trying to merge it, but for me the newly added test fails:

1 FAILED:
Found errors in Test_scrolloffpad_diff_eof_filler_behavior():
command line..script /mnt/home/chrisbra/code/vim-upstream/src/testdir/runtest.vim[636]..function RunTheTest[63]..Test_scrolloffpad_diff_eof_filler_behavior line 67: Expected True but got 0
command line..script /mnt/home/chrisbra/code/vim-upstream/src/testdir/runtest.vim[636]..function RunTheTest[63]..Test_scrolloffpad_diff_eof_filler_behavior line 68: Expected True but got 0

any idea?

I think that what was going on is that the assertions at those lines made assumptions that were not always valid. The test would create two diff windows, move the "shorter" one, and assert qualities in the viewport state. The assumption was that topline and winline would always change in certain directions (e.g. lower and higher), but it is possible for that to not be true and for the functionality to work correctly.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3980948938@github.com>

Christian Brabandt

unread,
Mar 2, 2026, 1:58:17 PMMar 2
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

Hm, I typically run this in a full screen putty windows, I just checked, it has 74 lines and 204 columns.

So to make this robust, how about to first create a 20 lines high new window like this :20new and from there you create your diff windows?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c3986253834@github.com>

Christian Brabandt

unread,
Mar 9, 2026, 4:11:20 PMMar 9
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

could you make this suggested change?


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c4026585551@github.com>

mcauley-penney

unread,
Mar 9, 2026, 6:01:51 PMMar 9
to vim/vim, Subscribed
mcauley-penney left a comment (vim/vim#19040)

I apologize for the wait. I'm currently traveling and will make the requested changes one week from today.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c4027178874@github.com>

Christian Brabandt

unread,
Mar 10, 2026, 8:16:19 AMMar 10
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

ah no worries. I just wasn't sure you received the last comment. Take as much time as you need.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c4030956452@github.com>

mcauley-penney

unread,
Apr 5, 2026, 12:51:45 PM (12 days ago) Apr 5
to vim/vim, Push

@mcauley-penney pushed 1 commit.

  • c5637d6 test(scrolloffpad): stabilize diff-mode tests across layouts

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/before/2b645cc6c67bb9746e1569c473322a3e549da4a4/after/c5637d65a78765578eb393254d6652ea984db08c@github.com>

mcauley-penney

unread,
Apr 5, 2026, 12:53:02 PM (12 days ago) Apr 5
to vim/vim, Subscribed
mcauley-penney left a comment (vim/vim#19040)

ah no worries. I just wasn't sure you received the last comment. Take as much time as you need.

I apologize for the wait. I traveled longer than I expected to, got really sick, then had a bit of a major life change that came up out of nowhere.

I made the requested change and included it in the last commit, which was related.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c4189182092@github.com>

Christian Brabandt

unread,
Apr 15, 2026, 3:30:40 PM (2 days ago) Apr 15
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#19040)

No worries. Thanks for your work. I made a few minor changes (changing the function signature to use bool instead of int, fixed a bit of indentation issues and updated documentation. Please verify it works as expected. Thanks!


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/c4254862869@github.com>

Christian Brabandt

unread,
Apr 15, 2026, 3:30:55 PM (2 days ago) Apr 15
to vim/vim, Subscribed

Closed #19040 via a414630.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/19040/issue_event/24541798534@github.com>

Reply all
Reply to author
Forward
0 new messages