To: vim_dev@googlegroups.com Subject: Patch 7.4a.005 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.4a.005 Problem: Scroll binding causes unexpected scroll. Solution: Store the topline after updating scroll binding. Add a test. (Lech Lorens) Files: src/testdir/test98.in, src/testdir/test98a.in, src/testdir/test98.ok, src/option.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/testdir/Makefile *** ../vim-7.4a.004/src/testdir/test98.in 2013-07-09 13:44:23.000000000 +0200 --- src/testdir/test98.in 2013-07-09 13:35:26.000000000 +0200 *************** *** 0 **** --- 1,21 ---- + Test for 'scrollbind' causing an unexpected scroll of one of the windows. + STARTTEST + :so small.vim + :source test98a.in + :let topLineLeft = line('w0') + :wincmd p + :let topLineRight = line('w0') + :setl noscrollbind + :wincmd p + :setl noscrollbind + :q! + :%del _ + :call setline(1, 'Difference between the top lines (left - right): ' . string(topLineLeft - topLineRight)) + :w! test.out + :brewind + ENDTEST + + STARTTEST + :qa! + ENDTEST + *** ../vim-7.4a.004/src/testdir/test98a.in 2013-07-09 13:44:23.000000000 +0200 --- src/testdir/test98a.in 2013-07-09 13:33:06.000000000 +0200 *************** *** 0 **** --- 1,27 ---- + " We don't want the status line to cause problems: + set laststatus=0 + redraw! + let g:totalLines = &lines * 20 + let middle = g:totalLines / 2 + wincmd n + wincmd o + for i in range(1, g:totalLines) + call setline(i, 'LINE ' . i) + endfor + + exe string(middle) + normal zt + normal M + + aboveleft vert new + for i in range(1, g:totalLines) + call setline(i, 'line ' . i) + endfor + exe string(middle) + normal zt + normal M + setl scb + + wincmd p + + call feedkeys(":setl scb\n\\", 't') *** ../vim-7.4a.004/src/testdir/test98.ok 2013-07-09 13:44:23.000000000 +0200 --- src/testdir/test98.ok 2013-07-09 13:36:08.000000000 +0200 *************** *** 0 **** --- 1 ---- + Difference between the top lines (left - right): 0 *** ../vim-7.4a.004/src/option.c 2013-07-03 15:35:37.000000000 +0200 --- src/option.c 2013-07-09 13:38:16.000000000 +0200 *************** *** 7801,7807 **** --- 7801,7810 ---- else if ((int *)varp == &curwin->w_p_scb) { if (curwin->w_p_scb) + { do_check_scrollbind(FALSE); + curwin->w_scbind_pos = curwin->w_topline; + } } #endif *** ../vim-7.4a.004/src/testdir/Make_amiga.mak 2013-07-03 16:21:39.000000000 +0200 --- src/testdir/Make_amiga.mak 2013-07-09 13:40:02.000000000 +0200 *************** *** 33,39 **** test76.out test77.out test78.out test79.out test80.out \ test81.out test82.out test83.out test84.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test97.out .SUFFIXES: .in .out --- 33,39 ---- test76.out test77.out test78.out test79.out test80.out \ test81.out test82.out test83.out test84.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test97.out test98.out .SUFFIXES: .in .out *************** *** 147,149 **** --- 147,150 ---- test95.out: test95.in test96.out: test96.in test97.out: test97.in + test98.out: test98.in *** ../vim-7.4a.004/src/testdir/Make_dos.mak 2013-07-03 20:17:26.000000000 +0200 --- src/testdir/Make_dos.mak 2013-07-09 13:40:30.000000000 +0200 *************** *** 32,38 **** test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out SCRIPTS32 = test50.out test70.out --- 32,38 ---- test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test98.out SCRIPTS32 = test50.out test70.out *** ../vim-7.4a.004/src/testdir/Make_ming.mak 2013-07-03 20:17:22.000000000 +0200 --- src/testdir/Make_ming.mak 2013-07-09 13:40:38.000000000 +0200 *************** *** 52,58 **** test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out SCRIPTS32 = test50.out test70.out --- 52,58 ---- test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test98.out SCRIPTS32 = test50.out test70.out *** ../vim-7.4a.004/src/testdir/Make_os2.mak 2013-07-03 20:18:09.000000000 +0200 --- src/testdir/Make_os2.mak 2013-07-09 13:40:43.000000000 +0200 *************** *** 34,40 **** test76.out test77.out test78.out test79.out test80.out \ test81.out test82.out test83.out test84.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out .SUFFIXES: .in .out --- 34,40 ---- test76.out test77.out test78.out test79.out test80.out \ test81.out test82.out test83.out test84.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test98.out .SUFFIXES: .in .out *** ../vim-7.4a.004/src/testdir/Make_vms.mms 2013-07-03 16:21:54.000000000 +0200 --- src/testdir/Make_vms.mms 2013-07-09 13:40:47.000000000 +0200 *************** *** 4,10 **** # Authors: Zoltan Arpadffy, # Sandor Kopanyi, # ! # Last change: 2013 Jul 03 # # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. # Edit the lines in the Configuration section below to select. --- 4,10 ---- # Authors: Zoltan Arpadffy, # Sandor Kopanyi, # ! # Last change: 2013 Jul 09 # # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. # Edit the lines in the Configuration section below to select. *************** *** 78,84 **** test77.out test78.out test79.out test80.out test81.out \ test82.out test83.out test84.out test88.out test89.out \ test90.out test91.out test92.out test93.out test94.out \ ! test95.out test96.out test97.out # Known problems: # Test 30: a problem around mac format - unknown reason --- 78,84 ---- test77.out test78.out test79.out test80.out test81.out \ test82.out test83.out test84.out test88.out test89.out \ test90.out test91.out test92.out test93.out test94.out \ ! test95.out test96.out test97.out test98.out # Known problems: # Test 30: a problem around mac format - unknown reason *** ../vim-7.4a.004/src/testdir/Makefile 2013-07-03 16:20:47.000000000 +0200 --- src/testdir/Makefile 2013-07-09 13:40:55.000000000 +0200 *************** *** 29,35 **** test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test97.out SCRIPTS_GUI = test16.out --- 29,35 ---- test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ test89.out test90.out test91.out test92.out test93.out \ ! test94.out test95.out test96.out test97.out test98.out SCRIPTS_GUI = test16.out *** ../vim-7.4a.004/src/version.c 2013-07-09 13:15:42.000000000 +0200 --- src/version.c 2013-07-09 13:37:52.000000000 +0200 *************** *** 730,731 **** --- 730,733 ---- { /* Add new patch number below this line */ + /**/ + 5, /**/ -- A law to reduce crime states: "It is mandatory for a motorist with criminal intentions to stop at the city limits and telephone the chief of police as he is entering the town. [real standing law in Washington, United States of America] /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///