comparison src/testdir/test_edit.vim @ 34665:ca2da8e8fb53 v9.1.0215

patch 9.1.0215: Half-page scrolling does not support smooth-scrolling Commit: https://github.com/vim/vim/commit/5a2e3ec9ac72b6e644fea4ebba7e632498296e2f Author: Luuk van Baal <luukvbaal@gmail.com> Date: Thu Mar 28 10:07:29 2024 +0100 patch 9.1.0215: Half-page scrolling does not support smooth-scrolling Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements it's own logic to change the topline and cursor. More logic than necessary for scrolling with Ctrl-F/Ctrl-B was removed in patch 9.1.0211. Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while staying backward compatible as much as possible. Restore some of the logic that determined how many lines will be scrolled (Luuk van Baal) closes: #14316 Signed-off-by: Luuk van Baal <luukvbaal@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Mar 2024 10:15:08 +0100
parents 8079960136db
children bfd2c0032686
comparison
equal deleted inserted replaced
34664:af61243e5aeb 34665:ca2da8e8fb53
1292 call feedkeys("i\<PageDown>\<esc>", 'tnix') 1292 call feedkeys("i\<PageDown>\<esc>", 'tnix')
1293 call assert_equal([0, 30, 1, 0], getpos('.')) 1293 call assert_equal([0, 30, 1, 0], getpos('.'))
1294 call feedkeys("i\<PageDown>\<esc>", 'tnix') 1294 call feedkeys("i\<PageDown>\<esc>", 'tnix')
1295 call assert_equal([0, 30, 1, 0], getpos('.')) 1295 call assert_equal([0, 30, 1, 0], getpos('.'))
1296 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1296 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1297 call assert_equal([0, 30, 1, 0], getpos('.')) 1297 call assert_equal([0, 29, 1, 0], getpos('.'))
1298 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1298 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1299 call assert_equal([0, 23, 1, 0], getpos('.')) 1299 call assert_equal([0, 21, 1, 0], getpos('.'))
1300 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1300 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1301 call assert_equal([0, 15, 1, 0], getpos('.')) 1301 call assert_equal([0, 13, 1, 0], getpos('.'))
1302 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1302 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1303 call assert_equal([0, 10, 1, 0], getpos('.')) 1303 call assert_equal([0, 10, 1, 0], getpos('.'))
1304 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1304 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1305 call assert_equal([0, 10, 11, 0], getpos('.')) 1305 call assert_equal([0, 2, 11, 0], getpos('.'))
1306 " <S-Up> is the same as <PageUp> 1306 " <S-Up> is the same as <PageUp>
1307 " <S-Down> is the same as <PageDown> 1307 " <S-Down> is the same as <PageDown>
1308 call cursor(1, 1) 1308 call cursor(1, 1)
1309 call feedkeys("i\<S-Down>\<esc>", 'tnix') 1309 call feedkeys("i\<S-Down>\<esc>", 'tnix')
1310 call assert_equal([0, 9, 1, 0], getpos('.')) 1310 call assert_equal([0, 9, 1, 0], getpos('.'))
1315 call feedkeys("i\<S-Down>\<esc>", 'tnix') 1315 call feedkeys("i\<S-Down>\<esc>", 'tnix')
1316 call assert_equal([0, 30, 1, 0], getpos('.')) 1316 call assert_equal([0, 30, 1, 0], getpos('.'))
1317 call feedkeys("i\<S-Down>\<esc>", 'tnix') 1317 call feedkeys("i\<S-Down>\<esc>", 'tnix')
1318 call assert_equal([0, 30, 1, 0], getpos('.')) 1318 call assert_equal([0, 30, 1, 0], getpos('.'))
1319 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1319 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1320 call assert_equal([0, 30, 1, 0], getpos('.')) 1320 call assert_equal([0, 29, 1, 0], getpos('.'))
1321 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1321 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1322 call assert_equal([0, 23, 1, 0], getpos('.')) 1322 call assert_equal([0, 21, 1, 0], getpos('.'))
1323 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1323 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1324 call assert_equal([0, 15, 1, 0], getpos('.')) 1324 call assert_equal([0, 13, 1, 0], getpos('.'))
1325 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1325 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1326 call assert_equal([0, 10, 1, 0], getpos('.')) 1326 call assert_equal([0, 10, 1, 0], getpos('.'))
1327 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1327 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1328 call assert_equal([0, 10, 11, 0], getpos('.')) 1328 call assert_equal([0, 2, 11, 0], getpos('.'))
1329 set nostartofline 1329 set nostartofline
1330 call cursor(30, 11) 1330 call cursor(30, 11)
1331 norm! zt 1331 norm! zt
1332 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1332 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1333 call assert_equal([0, 30, 11, 0], getpos('.')) 1333 call assert_equal([0, 29, 11, 0], getpos('.'))
1334 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1334 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1335 call assert_equal([0, 23, 11, 0], getpos('.')) 1335 call assert_equal([0, 21, 11, 0], getpos('.'))
1336 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1336 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1337 call assert_equal([0, 15, 11, 0], getpos('.')) 1337 call assert_equal([0, 13, 11, 0], getpos('.'))
1338 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1338 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1339 call assert_equal([0, 10, 11, 0], getpos('.')) 1339 call assert_equal([0, 10, 11, 0], getpos('.'))
1340 call feedkeys("A\<PageUp>\<esc>", 'tnix') 1340 call feedkeys("A\<PageUp>\<esc>", 'tnix')
1341 call assert_equal([0, 10, 11, 0], getpos('.')) 1341 call assert_equal([0, 2, 11, 0], getpos('.'))
1342 call cursor(1, 1) 1342 call cursor(1, 1)
1343 call feedkeys("A\<PageDown>\<esc>", 'tnix') 1343 call feedkeys("A\<PageDown>\<esc>", 'tnix')
1344 call assert_equal([0, 9, 11, 0], getpos('.')) 1344 call assert_equal([0, 9, 11, 0], getpos('.'))
1345 call feedkeys("A\<PageDown>\<esc>", 'tnix') 1345 call feedkeys("A\<PageDown>\<esc>", 'tnix')
1346 call assert_equal([0, 17, 11, 0], getpos('.')) 1346 call assert_equal([0, 17, 11, 0], getpos('.'))
1353 " <S-Up> is the same as <PageUp> 1353 " <S-Up> is the same as <PageUp>
1354 " <S-Down> is the same as <PageDown> 1354 " <S-Down> is the same as <PageDown>
1355 call cursor(30, 11) 1355 call cursor(30, 11)
1356 norm! zt 1356 norm! zt
1357 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1357 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1358 call assert_equal([0, 30, 11, 0], getpos('.')) 1358 call assert_equal([0, 29, 11, 0], getpos('.'))
1359 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1359 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1360 call assert_equal([0, 23, 11, 0], getpos('.')) 1360 call assert_equal([0, 21, 11, 0], getpos('.'))
1361 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1361 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1362 call assert_equal([0, 15, 11, 0], getpos('.')) 1362 call assert_equal([0, 13, 11, 0], getpos('.'))
1363 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1363 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1364 call assert_equal([0, 10, 11, 0], getpos('.')) 1364 call assert_equal([0, 10, 11, 0], getpos('.'))
1365 call feedkeys("A\<S-Up>\<esc>", 'tnix') 1365 call feedkeys("A\<S-Up>\<esc>", 'tnix')
1366 call assert_equal([0, 10, 11, 0], getpos('.')) 1366 call assert_equal([0, 2, 11, 0], getpos('.'))
1367 call cursor(1, 1) 1367 call cursor(1, 1)
1368 call feedkeys("A\<S-Down>\<esc>", 'tnix') 1368 call feedkeys("A\<S-Down>\<esc>", 'tnix')
1369 call assert_equal([0, 9, 11, 0], getpos('.')) 1369 call assert_equal([0, 9, 11, 0], getpos('.'))
1370 call feedkeys("A\<S-Down>\<esc>", 'tnix') 1370 call feedkeys("A\<S-Down>\<esc>", 'tnix')
1371 call assert_equal([0, 17, 11, 0], getpos('.')) 1371 call assert_equal([0, 17, 11, 0], getpos('.'))