]> granicus.if.org Git - vim/commitdiff
patch 8.1.1909: more functions can be used as methods v8.1.1909
authorBram Moolenaar <Bram@vim.org>
Wed, 21 Aug 2019 20:50:07 +0000 (22:50 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 21 Aug 2019 20:50:07 +0000 (22:50 +0200)
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.

runtime/doc/eval.txt
runtime/doc/testing.txt
src/evalfunc.c
src/testdir/test_assert.vim
src/testdir/test_bufline.vim
src/testdir/test_bufwintabinfo.vim
src/testdir/test_popupwin.vim
src/version.c

index e1f72c76b75104c526aaa521f65562f7081b63e2..f50cefe39c2365f5bb472b0e14686b3e446c54f3 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*     For Vim version 8.1.  Last change: 2019 Aug 18
+*eval.txt*     For Vim version 8.1.  Last change: 2019 Aug 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2593,9 +2593,10 @@ popup_create({what}, {options}) Number   create a popup window
 popup_dialog({what}, {options}) Number create a popup window used as a dialog
 popup_filter_menu({id}, {key})  Number filter for a menu popup window
 popup_filter_yesno({id}, {key}) Number filter for a dialog popup window
+popup_findinfo()               Number  get window ID of info popup window
+popup_findpreview()            Number  get window ID of preview popup window
 popup_getoptions({id})         Dict    get options of popup window {id}
 popup_getpos({id})             Dict    get position of popup window {id}
-popup_getpreview()             Number  get window ID of preview popup window
 popup_hide({id})               none    hide popup menu {id}
 popup_menu({what}, {options})  Number  create a popup window used as a menu
 popup_move({id}, {options})    none    set position of popup window {id}
@@ -3274,17 +3275,22 @@ bufwinid({expr})                                        *bufwinid()*
 <
                Only deals with the current tab page.
 
+               Can also be used as a |method|: >
+                       FindBuffer()->bufwinid()
+
 bufwinnr({expr})                                       *bufwinnr()*
-               The result is a Number, which is the number of the first
-               window associated with buffer {expr}.  For the use of {expr},
-               see |bufname()| above.  If buffer {expr} doesn't exist or
-               there is no such window, -1 is returned.  Example: >
+               Like |bufwinid()| but return the window number instead of the
+               |window-ID|.
+               If buffer {expr} doesn't exist or there is no such window, -1
+               is returned.  Example: >
 
        echo "A window containing buffer 1 is " . (bufwinnr(1))
 
 <              The number can be used with |CTRL-W_w| and ":wincmd w"
                |:wincmd|.
-               Only deals with the current tab page.
+
+               Can also be used as a |method|: >
+                       FindBuffer()->bufwinnr()
 
 byte2line({byte})                                      *byte2line()*
                Return the line number that contains the character at byte
@@ -9511,6 +9517,9 @@ winbufnr({nr})    The result is a Number, which is the number of the buffer
                When window {nr} doesn't exist, -1 is returned.
                Example: >
   :echo "The file in the current window is " . bufname(winbufnr(0))
+<
+               Can also be used as a |method|: >
+                       FindWindow()->winbufnr()->bufname()
 <
                                                        *wincol()*
 wincol()       The result is a Number, which is the virtual column of the
@@ -9823,7 +9832,7 @@ hangul_input              Compiled with Hangul input support. |hangul|
 hpux                   HP-UX version of Vim.
 iconv                  Can use iconv() for conversion.
 insert_expand          Compiled with support for CTRL-X expansion commands in
-                       Insert mode.
+                       Insert mode. (always true)
 jumplist               Compiled with |jumplist| support.
 keymap                 Compiled with 'keymap' support.
 lambda                 Compiled with |lambda| support.
index 84aeb578340889d13f2149a91f1e7c94e27621e5..f2f72bdaf96e7f6cf91eec551904db67e3365eba 100644 (file)
@@ -238,6 +238,10 @@ assert_equalfile({fname-one}, {fname-two})
                mention that.
                Mainly useful with |terminal-diff|.
 
+               Can also be used as a |method|: >
+                       GetLog()->assert_equalfile('expected.log')
+
+
 assert_exception({error} [, {msg}])                    *assert_exception()*
                When v:exception does not contain the string {error} an error
                message is added to |v:errors|.  Also see |assert-return|.
@@ -322,10 +326,15 @@ assert_notmatch({pattern}, {actual} [, {msg}])
                Can also be used as a |method|: >
                        getFile()->assert_notmatch('bar.*')
 
+
 assert_report({msg})                                   *assert_report()*
                Report a test failure directly, using {msg}.
                Always returns one.
 
+               Can also be used as a |method|: >
+                       GetMessage()->assert_report()
+
+
 assert_true({actual} [, {msg}])                                *assert_true()*
                When {actual} is not true an error message is added to
                |v:errors|, like with |assert_equal()|.
index 62938c1ca7b8119dbdf85490b8cb0f0da186f39f..b154840436cdfe4ff8db98490a78f4ebffa3b472 100644 (file)
@@ -431,7 +431,7 @@ static funcentry_T global_functions[] =
 #endif
     {"assert_beeps",   1, 2, FEARG_1,    f_assert_beeps},
     {"assert_equal",   2, 3, FEARG_2,    f_assert_equal},
-    {"assert_equalfile", 2, 2, 0,        f_assert_equalfile},
+    {"assert_equalfile", 2, 2, FEARG_1,          f_assert_equalfile},
     {"assert_exception", 1, 2, 0,        f_assert_exception},
     {"assert_fails",   1, 3, FEARG_1,    f_assert_fails},
     {"assert_false",   1, 2, FEARG_1,    f_assert_false},
@@ -439,7 +439,7 @@ static funcentry_T global_functions[] =
     {"assert_match",   2, 3, FEARG_2,    f_assert_match},
     {"assert_notequal",        2, 3, FEARG_2,    f_assert_notequal},
     {"assert_notmatch",        2, 3, FEARG_2,    f_assert_notmatch},
-    {"assert_report",  1, 1, 0,          f_assert_report},
+    {"assert_report",  1, 1, FEARG_1,    f_assert_report},
     {"assert_true",    1, 2, FEARG_1,    f_assert_true},
 #ifdef FEAT_FLOAT
     {"atan",           1, 1, FEARG_1,    f_atan},
@@ -464,8 +464,8 @@ static funcentry_T global_functions[] =
     {"bufloaded",      1, 1, FEARG_1,    f_bufloaded},
     {"bufname",                1, 1, FEARG_1,    f_bufname},
     {"bufnr",          1, 2, FEARG_1,    f_bufnr},
-    {"bufwinid",       1, 1, 0,          f_bufwinid},
-    {"bufwinnr",       1, 1, 0,          f_bufwinnr},
+    {"bufwinid",       1, 1, FEARG_1,    f_bufwinid},
+    {"bufwinnr",       1, 1, FEARG_1,    f_bufwinnr},
     {"byte2line",      1, 1, 0,          f_byte2line},
     {"byteidx",                2, 2, 0,          f_byteidx},
     {"byteidxcomp",    2, 2, 0,          f_byteidxcomp},
@@ -963,7 +963,7 @@ static funcentry_T global_functions[] =
     {"win_id2tabwin",  1, 1, 0,          f_win_id2tabwin},
     {"win_id2win",     1, 1, 0,          f_win_id2win},
     {"win_screenpos",  1, 1, 0,          f_win_screenpos},
-    {"winbufnr",       1, 1, 0,          f_winbufnr},
+    {"winbufnr",       1, 1, FEARG_1,    f_winbufnr},
     {"wincol",         0, 0, 0,          f_wincol},
     {"winheight",      1, 1, 0,          f_winheight},
     {"winlayout",      0, 1, 0,          f_winlayout},
index 65a0ee41a777c59661fb078303dbd1297c90f67c..d89bd983a26ade86c254d4abca71ed44b546552b 100644 (file)
@@ -54,7 +54,7 @@ func Test_assert_equalfile()
 
   let goodtext = ["one", "two", "three"]
   call writefile(goodtext, 'Xone')
-  call assert_equal(1, assert_equalfile('Xone', 'xyzxyz'))
+  call assert_equal(1, 'Xone'->assert_equalfile('xyzxyz'))
   call assert_match("E485: Can't read file xyzxyz", v:errors[0])
   call remove(v:errors, 0)
 
@@ -97,6 +97,9 @@ func Test_assert_report()
   call assert_equal(1, assert_report('something is wrong'))
   call assert_match('something is wrong', v:errors[0])
   call remove(v:errors, 0)
+  call assert_equal(1, 'also wrong'->assert_report())
+  call assert_match('also wrong', v:errors[0])
+  call remove(v:errors, 0)
 endfunc
 
 func Test_assert_exception()
index a6b4694b83fb8db2079034590255246708574234..6d62e51610e20c7007403871fc29515784de1477 100644 (file)
@@ -152,11 +152,11 @@ func Test_appendbufline_redraw()
 
   let lines =<< trim END
     new foo
-    let winnr=bufwinnr('foo')
-    let buf=bufnr('foo')
+    let winnr = 'foo'->bufwinnr()
+    let buf = bufnr('foo')
     wincmd p
     call appendbufline(buf, '$', range(1,200))
-    exe winnr. 'wincmd w'
+    exe winnr .. 'wincmd w'
     norm! G
     wincmd p
     call deletebufline(buf, 1, '$')
index 0e8c7d1dc162c2287dee50e23b591b7b52465bd5..7f0a6ceb4393f9bac3184db0b7e20a87e797384b 100644 (file)
@@ -18,7 +18,7 @@ function Test_getbufwintabinfo()
     let l = getbufinfo('%')
     call assert_equal(bufnr('%'), l[0].bufnr)
     call assert_equal('vim', l[0].variables.editor)
-    call assert_notequal(-1, index(l[0].windows, bufwinid('%')))
+    call assert_notequal(-1, index(l[0].windows, '%'->bufwinid()))
 
     " Test for getbufinfo() with 'bufmodified'
     call assert_equal(0, len(getbufinfo({'bufmodified' : 1})))
index f742035aa9edf0a0088e6f3e979a05ad9bb57468..23041d1db9c526128051c80284eea20d32fbad73 100644 (file)
@@ -2332,8 +2332,7 @@ func Test_popupmenu_info_align_menu()
 endfunc
 
 func Test_popupwin_recycle_bnr()
-  let winid = popup_notification('nothing wrong', {})
-  let bufnr = winbufnr(winid)
+  let bufnr = popup_notification('nothing wrong', {})->winbufnr()
   call popup_clear()
   let winid = popup_notification('nothing wrong', {})
   call assert_equal(bufnr, winbufnr(winid))
index a6544cd6135ad140e1dc89fcfa378d0a435883ce..37b0f797865e16c998c2240a916c163294ed6035 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1909,
 /**/
     1908,
 /**/