home *** CD-ROM | disk | FTP | other *** search
- To: vim_dev@googlegroups.com
- Subject: Patch 7.3.748
- Fcc: outbox
- From: Bram Moolenaar <Bram@moolenaar.net>
- Mime-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- ------------
-
- Patch 7.3.748
- Problem: Cannot properly test conceal mode.
- Solution: Add the screencol() and screenrow() functions. Use them in
- test88. (Simon Ruderich)
- Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
- src/screen.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, src/testdir/test88.in,
- src/testdir/test88.ok
-
-
- *** ../vim-7.3.747/runtime/doc/eval.txt 2012-11-14 18:10:49.000000000 +0100
- --- runtime/doc/eval.txt 2012-12-05 15:45:34.000000000 +0100
- ***************
- *** 1892,1897 ****
- --- 1903,1910 ----
- resolve( {filename}) String get filename a shortcut points to
- reverse( {list}) List reverse {list} in-place
- round( {expr}) Float round off {expr}
- + screencol() Number current cursor column
- + screenrow() Number current cursor row
- search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
- Number search for {pattern}
- searchdecl( {name} [, {global} [, {thisblock}]])
- ***************
- *** 4848,4862 ****
- echo round(-4.5)
- < -5.0
- {only available when compiled with the |+float| feature}
- !
- !
- search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
- Search for regexp pattern {pattern}. The search starts at the
- cursor position (you can use |cursor()| to set it).
-
- If there is no match a 0 is returned and the cursor doesn't
- move. No error message is given.
- - When a match has been found its line number is returned.
-
- {flags} is a String, which can contain these character flags:
- 'b' search backward instead of forward
- --- 4874,4907 ----
- echo round(-4.5)
- < -5.0
- {only available when compiled with the |+float| feature}
- !
- ! screencol() *screencol()*
- ! The result is a Number, which is the current screen column of
- ! the cursor. The leftmost column has number 1.
- ! This function is mainly used for testing.
- !
- ! Note: Always returns the current screen column, thus if used
- ! in a command (e.g. ":echo screencol()") it will return the
- ! column inside the command line, which is 1 when the command is
- ! executed. To get the cursor position in the file use one of
- ! the following mappings: >
- ! nnoremap <expr> GG ":echom ".screencol()."\n"
- ! nnoremap <silent> GG :echom screencol()<CR>
- ! <
- ! screenrow() *screenrow()*
- ! The result is a Number, which is the current screen row of the
- ! cursor. The top line has number one.
- ! This function is mainly used for testing.
- !
- ! Note: Same restrictions as with |screencol()|.
- !
- search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
- Search for regexp pattern {pattern}. The search starts at the
- cursor position (you can use |cursor()| to set it).
-
- + When a match has been found its line number is returned.
- If there is no match a 0 is returned and the cursor doesn't
- move. No error message is given.
-
- {flags} is a String, which can contain these character flags:
- 'b' search backward instead of forward
- *** ../vim-7.3.747/src/eval.c 2012-12-05 15:16:42.000000000 +0100
- --- src/eval.c 2012-12-05 16:03:23.000000000 +0100
- ***************
- *** 668,673 ****
- --- 668,675 ----
- #ifdef FEAT_FLOAT
- static void f_round __ARGS((typval_T *argvars, typval_T *rettv));
- #endif
- + static void f_screencol __ARGS((typval_T *argvars, typval_T *rettv));
- + static void f_screenrow __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_search __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_searchdecl __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_searchpair __ARGS((typval_T *argvars, typval_T *rettv));
- ***************
- *** 8033,8038 ****
- --- 8035,8042 ----
- #ifdef FEAT_FLOAT
- {"round", 1, 1, f_round},
- #endif
- + {"screencol", 0, 0, f_screencol},
- + {"screenrow", 0, 0, f_screenrow},
- {"search", 1, 4, f_search},
- {"searchdecl", 1, 3, f_searchdecl},
- {"searchpair", 3, 7, f_searchpair},
- ***************
- *** 15725,15730 ****
- --- 15729,15758 ----
- #endif
-
- /*
- + * "screencol()" function
- + *
- + * First column is 1 to be consistent with virtcol().
- + */
- + static void
- + f_screencol(argvars, rettv)
- + typval_T *argvars UNUSED;
- + typval_T *rettv;
- + {
- + rettv->vval.v_number = screen_screencol() + 1;
- + }
- +
- + /*
- + * "screenrow()" function
- + */
- + static void
- + f_screenrow(argvars, rettv)
- + typval_T *argvars UNUSED;
- + typval_T *rettv;
- + {
- + rettv->vval.v_number = screen_screenrow() + 1;
- + }
- +
- + /*
- * "search()" function
- */
- static void
- *** ../vim-7.3.747/src/proto/screen.pro 2012-11-20 16:56:49.000000000 +0100
- --- src/proto/screen.pro 2012-12-05 15:57:35.000000000 +0100
- ***************
- *** 50,53 ****
- --- 50,55 ----
- int messaging __ARGS((void));
- void showruler __ARGS((int always));
- int number_width __ARGS((win_T *wp));
- + int screen_screencol __ARGS((void));
- + int screen_screenrow __ARGS((void));
- /* vim: set ft=c : */
- *** ../vim-7.3.747/src/screen.c 2012-12-05 15:32:24.000000000 +0100
- --- src/screen.c 2012-12-05 15:58:02.000000000 +0100
- ***************
- *** 10264,10266 ****
- --- 10264,10286 ----
- return n;
- }
- #endif
- +
- + /*
- + * Return the current cursor column. This is the actual position on the
- + * screen. First column is 0.
- + */
- + int
- + screen_screencol()
- + {
- + return screen_cur_col;
- + }
- +
- + /*
- + * Return the current cursor row. This is the actual position on the screen.
- + * First row is 0.
- + */
- + int
- + screen_screenrow()
- + {
- + return screen_cur_row;
- + }
- *** ../vim-7.3.747/src/testdir/Make_amiga.mak 2012-06-29 12:54:32.000000000 +0200
- --- src/testdir/Make_amiga.mak 2012-12-05 16:00:14.000000000 +0100
- ***************
- *** 31,37 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
- ! test81.out test82.out test83.out test84.out
-
- .SUFFIXES: .in .out
-
- --- 31,37 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
- ! test81.out test82.out test83.out test84.out test88.out
-
- .SUFFIXES: .in .out
-
- ***************
- *** 135,137 ****
- --- 135,138 ----
- test82.out: test82.in
- test83.out: test83.in
- test84.out: test84.in
- + test88.out: test88.in
- *** ../vim-7.3.747/src/testdir/Make_dos.mak 2012-10-06 19:10:29.000000000 +0200
- --- src/testdir/Make_dos.mak 2012-12-05 16:00:29.000000000 +0100
- ***************
- *** 30,36 ****
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
- ! test84.out test85.out test86.out test87.out
-
- SCRIPTS32 = test50.out test70.out
-
- --- 30,36 ----
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
- ! test84.out test85.out test86.out test87.out test88.out
-
- SCRIPTS32 = test50.out test70.out
-
- *** ../vim-7.3.747/src/testdir/Make_ming.mak 2012-10-06 19:10:29.000000000 +0200
- --- src/testdir/Make_ming.mak 2012-12-05 16:00:40.000000000 +0100
- ***************
- *** 50,56 ****
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
- ! test84.out test85.out test86.out test87.out
-
- SCRIPTS32 = test50.out test70.out
-
- --- 50,56 ----
- test68.out test69.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
- ! test84.out test85.out test86.out test87.out test88.out
-
- SCRIPTS32 = test50.out test70.out
-
- *** ../vim-7.3.747/src/testdir/Make_os2.mak 2012-06-29 12:54:32.000000000 +0200
- --- src/testdir/Make_os2.mak 2012-12-05 16:00:50.000000000 +0100
- ***************
- *** 31,37 ****
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
- ! test81.out test82.out test83.out test84.out
-
- .SUFFIXES: .in .out
-
- --- 31,37 ----
- test66.out test67.out test68.out test69.out test70.out \
- test71.out test72.out test73.out test74.out test75.out \
- test76.out test77.out test78.out test79.out test80.out \
- ! test81.out test82.out test83.out test84.out test88.out
-
- .SUFFIXES: .in .out
-
- *** ../vim-7.3.747/src/testdir/Make_vms.mms 2012-10-06 19:10:29.000000000 +0200
- --- src/testdir/Make_vms.mms 2012-12-05 16:01:03.000000000 +0100
- ***************
- *** 4,10 ****
- # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
- ! # Last change: 2012 Oct 06
- #
- # 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, <arpadffy@polarhome.com>
- # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
- #
- ! # Last change: 2012 Dec 05
- #
- # 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.
- ***************
- *** 76,82 ****
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
- test77.out test78.out test79.out test80.out test81.out \
- ! test82.out test83.out test84.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
- --- 76,82 ----
- test66.out test67.out test68.out test69.out \
- test71.out test72.out test74.out test75.out test76.out \
- test77.out test78.out test79.out test80.out test81.out \
- ! test82.out test83.out test84.out test88.out
-
- # Known problems:
- # Test 30: a problem around mac format - unknown reason
- *** ../vim-7.3.747/src/testdir/Makefile 2012-10-06 19:10:29.000000000 +0200
- --- src/testdir/Makefile 2012-12-05 15:59:02.000000000 +0100
- ***************
- *** 13,19 ****
-
- SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out test10.out test11.out \
- ! test12.out test13.out test14.out test15.out test17.out \
- test18.out test19.out test20.out test21.out test22.out \
- test23.out test24.out test25.out test26.out test27.out \
- test28.out test29.out test30.out test31.out test32.out \
- --- 13,19 ----
-
- SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
- test7.out test8.out test9.out test10.out test11.out \
- ! test12.out test13.out test14.out test15.out test17.out \
- test18.out test19.out test20.out test21.out test22.out \
- test23.out test24.out test25.out test26.out test27.out \
- test28.out test29.out test30.out test31.out test32.out \
- ***************
- *** 27,33 ****
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
- ! test84.out test85.out test86.out test87.out
-
- SCRIPTS_GUI = test16.out
-
- --- 27,33 ----
- test69.out test70.out test71.out test72.out test73.out \
- test74.out test75.out test76.out test77.out test78.out \
- test79.out test80.out test81.out test82.out test83.out \
- ! test84.out test85.out test86.out test87.out test88.out
-
- SCRIPTS_GUI = test16.out
-
- *** ../vim-7.3.747/src/testdir/test88.in 2012-12-05 16:08:56.000000000 +0100
- --- src/testdir/test88.in 2012-12-05 15:40:05.000000000 +0100
- ***************
- *** 0 ****
- --- 1,85 ----
- + vim: set ft=vim
- +
- + Tests for correct display (cursor column position) with +conceal and
- + tabulators.
- +
- + STARTTEST
- + :so small.vim
- + :if !has('conceal')
- + e! test.ok
- + wq! test.out
- + :endif
- + :" Conceal settings.
- + :set conceallevel=2
- + :set concealcursor=nc
- + :syntax match test /|/ conceal
- + :" Save current cursor position. Only works in <expr> mode, can't be used
- + :" with :normal because it moves the cursor to the command line. Thanks to ZyX
- + :" <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
- + :let positions = []
- + :nnoremap <expr> GG ":let positions += ['".screenrow().":".screencol()."']\n"
- + :" Start test.
- + /^start:
- + :normal ztj
- + GGk
- + :" We should end up in the same column when running these commands on the two
- + :" lines.
- + :normal ft
- + GGk
- + :normal $
- + GGk
- + :normal 0j
- + GGk
- + :normal ft
- + GGk
- + :normal $
- + GGk
- + :normal 0j0j
- + GGk
- + :" Same for next test block.
- + :normal ft
- + GGk
- + :normal $
- + GGk
- + :normal 0j
- + GGk
- + :normal ft
- + GGk
- + :normal $
- + GGk
- + :normal 0j0j
- + GGk
- + :" And check W with multiple tabs and conceals in a line.
- + :normal W
- + GGk
- + :normal W
- + GGk
- + :normal W
- + GGk
- + :normal $
- + GGk
- + :normal 0j
- + GGk
- + :normal W
- + GGk
- + :normal W
- + GGk
- + :normal W
- + GGk
- + :normal $
- + GGk
- + :" Display result.
- + :call append('$', 'end:')
- + :call append('$', positions)
- + :/^end/,$wq! test.out
- + ENDTEST
- +
- + start:
- + .concealed. text
- + |concealed| text
- +
- + .concealed. text
- + |concealed| text
- +
- + .a. .b. .c. .d.
- + |a| |b| |c| |d|
- *** ../vim-7.3.747/src/testdir/test88.ok 2012-12-05 16:08:56.000000000 +0100
- --- src/testdir/test88.ok 2012-12-05 15:40:05.000000000 +0100
- ***************
- *** 0 ****
- --- 1,23 ----
- + end:
- + 2:1
- + 2:17
- + 2:20
- + 3:1
- + 3:17
- + 3:20
- + 5:8
- + 5:25
- + 5:28
- + 6:8
- + 6:25
- + 6:28
- + 8:1
- + 8:9
- + 8:17
- + 8:25
- + 8:27
- + 9:1
- + 9:9
- + 9:17
- + 9:25
- + 9:26
- *** ../vim-7.3.747/src/version.c 2012-12-05 15:32:24.000000000 +0100
- --- src/version.c 2012-12-05 16:07:46.000000000 +0100
- ***************
- *** 727,728 ****
- --- 727,730 ----
- { /* Add new patch number below this line */
- + /**/
- + 748,
- /**/
-
- --
- hundred-and-one symptoms of being an internet addict:
- 101. U can read htis w/o ny porblm and cant figur eout Y its evn listd.
-
- /// 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 ///
-