diff options
-rw-r--r-- | runtime/doc/eval.txt | 37 | ||||
-rw-r--r-- | runtime/doc/quickfix.txt | 13 | ||||
-rw-r--r-- | src/nvim/quickfix.c | 21 | ||||
-rw-r--r-- | src/nvim/testdir/test_quickfix.vim | 18 | ||||
-rw-r--r-- | src/nvim/window.c | 4 |
5 files changed, 21 insertions, 72 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 392047b565..a710ef5d14 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -3171,7 +3171,7 @@ complete_info([{what}]) < *confirm()* confirm({msg} [, {choices} [, {default} [, {type}]]]) - confirm() offers the user a dialog, from which a choice can be + Confirm() offers the user a dialog, from which a choice can be made. It returns the number of the choice. For the first choice this is 1. @@ -4640,16 +4640,10 @@ getloclist({nr},[, {what}]) *getloclist()* If the optional {what} dictionary argument is supplied, then returns the items listed in {what} as a dictionary. Refer to |getqflist()| for the supported items in {what}. - - In addition to the items supported by |getqflist()| in {what}, - the following item is supported by |getloclist()|: - - filewinid id of the window used to display files - from the location list. This field is - applicable only when called from a - location list window. See - |location-list-file-window| for more - details. + If {what} contains 'filewinid', then returns the id of the + window used to display files from the location list. This + field is applicable only when called from a location list + window. See |location-list-file-window| for more details. getmatches([{win}]) *getmatches()* Returns a |List| with all matches previously defined for the @@ -4751,9 +4745,6 @@ getqflist([{what}]) *getqflist()* nr get information for this quickfix list; zero means the current quickfix list and "$" means the last quickfix list - qfbufnr number of the buffer displayed in the quickfix - window. Returns 0 if the quickfix buffer is - not present. See |quickfix-buffer|. size number of entries in the quickfix list title get the list title |quickfix-title| winid get the quickfix |window-ID| @@ -4782,8 +4773,6 @@ getqflist([{what}]) *getqflist()* items quickfix list entries. If not present, set to an empty list. nr quickfix list number. If not present, set to 0 - qfbufnr number of the buffer displayed in the quickfix - window. If not present, set to 0. size number of entries in the quickfix list. If not present, set to 0. title quickfix list title text. If not present, set @@ -10397,14 +10386,14 @@ text... commands are skipped. When {pattern} is omitted all errors are caught. Examples: > - :catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C) - :catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors - :catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts - :catch /^Vim(write):/ " catch all errors in :write - :catch /^Vim\%((\a\+)\)\=:E123:/ " catch error E123 - :catch /my-exception/ " catch user exception - :catch /.*/ " catch everything - :catch " same as /.*/ + :catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C) + :catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors + :catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts + :catch /^Vim(write):/ " catch all errors in :write + :catch /^Vim\%((\a\+)\)\=:E123/ " catch error E123 + :catch /my-exception/ " catch user exception + :catch /.*/ " catch everything + :catch " same as /.*/ < Another character can be used instead of / around the {pattern}, so long as it does not have a special diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index 7fe75d83c8..9da11a553d 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -540,7 +540,6 @@ location list. second quickfix window. If [height] is given the existing window will be resized to it. - *quickfix-buffer* The window will contain a special buffer, with 'buftype' equal to "quickfix". Don't change this! The window will have the w:quickfix_title variable set @@ -549,11 +548,7 @@ location list. status line if the value of 'statusline' is adjusted properly. Whenever this buffer is modified by a quickfix command or function, the |b:changedtick| - variable is incremented. You can get the number of - this buffer using the getqflist() and getloclist() - functions by passing the 'qfbufnr' item. For a - location list, this buffer is wiped out when the - location list is removed. + variable is incremented. *:lop* *:lopen* :lop[en] [height] Open a window to show the location list for the @@ -719,18 +714,12 @@ using these functions are below: " get the quickfix list window id :echo getqflist({'winid' : 0}).winid - " get the quickfix list window buffer number - :echo getqflist({'qfbufnr' : 0}).qfbufnr - " get the context of the current location list :echo getloclist(0, {'context' : 0}).context " get the location list window id of the third window :echo getloclist(3, {'winid' : 0}).winid - " get the location list window buffer number of the third window - :echo getloclist(3, {'qfbufnr' : 0}).qfbufnr - " get the file window id of a location list window (winnr: 4) :echo getloclist(4, {'filewinid' : 0}).filewinid < diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c index 2778179691..a64c236306 100644 --- a/src/nvim/quickfix.c +++ b/src/nvim/quickfix.c @@ -5596,8 +5596,7 @@ enum { QF_GETLIST_SIZE = 0x80, QF_GETLIST_TICK = 0x100, QF_GETLIST_FILEWINID = 0x200, - QF_GETLIST_QFBUFNR = 0x400, - QF_GETLIST_ALL = 0x7FF, + QF_GETLIST_ALL = 0x3FF, }; /// Parse text from 'di' and return the quickfix list items. @@ -5652,15 +5651,6 @@ static int qf_winid(qf_info_T *qi) return 0; } -// Returns the number of the buffer displayed in the quickfix/location list -// window. If there is no buffer associated with the list, then returns 0. -static int qf_getprop_qfbufnr(const qf_info_T *qi, dict_T *retdict) - FUNC_ATTR_NONNULL_ARG(2) -{ - return tv_dict_add_nr(retdict, S_LEN("qfbufnr"), - (qi == NULL) ? 0 : qi->qf_bufnr); -} - /// Convert the keys in 'what' to quickfix list property flags. static int qf_getprop_keys2flags(const dict_T *what, bool loclist) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT @@ -5704,9 +5694,6 @@ static int qf_getprop_keys2flags(const dict_T *what, bool loclist) if (loclist && tv_dict_find(what, S_LEN("filewinid")) != NULL) { flags |= QF_GETLIST_FILEWINID; } - if (tv_dict_find(what, S_LEN("qfbufnr")) != NULL) { - flags |= QF_GETLIST_QFBUFNR; - } return flags; } @@ -5798,9 +5785,6 @@ static int qf_getprop_defaults(qf_info_T *qi, if ((status == OK) && locstack && (flags & QF_GETLIST_FILEWINID)) { status = tv_dict_add_nr(retdict, S_LEN("filewinid"), 0); } - if ((status == OK) && (flags & QF_GETLIST_QFBUFNR)) { - status = qf_getprop_qfbufnr(qi, retdict); - } return status; } @@ -5935,9 +5919,6 @@ int qf_get_properties(win_T *wp, dict_T *what, dict_T *retdict) if ((status == OK) && (wp != NULL) && (flags & QF_GETLIST_FILEWINID)) { status = qf_getprop_filewinid(wp, qi, retdict); } - if ((status == OK) && (flags & QF_GETLIST_QFBUFNR)) { - status = qf_getprop_qfbufnr(qi, retdict); - } return status; } diff --git a/src/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim index 0e6cf39b49..11cc3ea3ff 100644 --- a/src/nvim/testdir/test_quickfix.vim +++ b/src/nvim/testdir/test_quickfix.vim @@ -3254,21 +3254,19 @@ func Xgetlist_empty_tests(cchar) call assert_equal(0, g:Xgetlist({'changedtick' : 0}).changedtick) if a:cchar == 'c' call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, - \ 'items' : [], 'nr' : 0, 'size' : 0, 'qfbufnr' : 0, + \ 'items' : [], 'nr' : 0, 'size' : 0, \ 'title' : '', 'winid' : 0, 'changedtick': 0}, \ g:Xgetlist({'all' : 0})) else call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, \ 'items' : [], 'nr' : 0, 'size' : 0, 'title' : '', - \ 'winid' : 0, 'changedtick': 0, 'filewinid' : 0, - \ 'qfbufnr' : 0}, + \ 'winid' : 0, 'changedtick': 0, 'filewinid' : 0}, \ g:Xgetlist({'all' : 0})) endif " Quickfix window with empty stack silent! Xopen let qfwinid = (a:cchar == 'c') ? win_getid() : 0 - let qfbufnr = (a:cchar == 'c') ? bufnr('') : 0 call assert_equal(qfwinid, g:Xgetlist({'winid' : 0}).winid) Xclose @@ -3300,12 +3298,11 @@ func Xgetlist_empty_tests(cchar) if a:cchar == 'c' call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [], \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0, - \ 'qfbufnr' : qfbufnr, \ 'changedtick' : 0}, g:Xgetlist({'id' : qfid, 'all' : 0})) else call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [], \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0, - \ 'changedtick' : 0, 'filewinid' : 0, 'qfbufnr' : 0}, + \ 'changedtick' : 0, 'filewinid' : 0}, \ g:Xgetlist({'id' : qfid, 'all' : 0})) endif @@ -3322,12 +3319,11 @@ func Xgetlist_empty_tests(cchar) if a:cchar == 'c' call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [], \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0, - \ 'changedtick' : 0, 'qfbufnr' : qfbufnr}, - \ g:Xgetlist({'nr' : 5, 'all' : 0})) + \ 'changedtick' : 0}, g:Xgetlist({'nr' : 5, 'all' : 0})) else call assert_equal({'context' : '', 'id' : 0, 'idx' : 0, 'items' : [], \ 'nr' : 0, 'size' : 0, 'title' : '', 'winid' : 0, - \ 'changedtick' : 0, 'filewinid' : 0, 'qfbufnr' : 0}, + \ 'changedtick' : 0, 'filewinid' : 0}, \ g:Xgetlist({'nr' : 5, 'all' : 0})) endif endfunc @@ -4096,7 +4092,6 @@ func Xqfbuf_test(cchar) Xclose " Even after the quickfix window is closed, the buffer should be loaded call assert_true(bufloaded(qfbnum)) - call assert_true(qfbnum, g:Xgetlist({'qfbufnr' : 0}).qfbufnr) Xopen " Buffer should be reused when opening the window again call assert_equal(qfbnum, bufnr('')) @@ -4115,7 +4110,7 @@ func Xqfbuf_test(cchar) close " When the location list window is closed, the buffer name should not " change to 'Quickfix List' - call assert_match(qfbnum . 'u h- "\[Location List]"', execute('ls!')) + call assert_match(qfbnum . ' h- "\[Location List]"', execute('ls')) call assert_true(bufloaded(qfbnum)) " After deleting a location list buffer using ":bdelete", opening the @@ -4132,7 +4127,6 @@ func Xqfbuf_test(cchar) " removed call setloclist(0, [], 'f') call assert_false(bufexists(qfbnum)) - call assert_equal(0, getloclist(0, {'qfbufnr' : 0}).qfbufnr) " When the location list is freed with the location list window open, the " location list buffer should not be lost. It should be reused when the diff --git a/src/nvim/window.c b/src/nvim/window.c index 7d08336c25..4931221e7a 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -2582,10 +2582,6 @@ int win_close(win_T *win, bool free_buf) if (win->w_buffer != NULL) { reset_synblock(win); } - // When the quickfix/location list window is closed, unlist the buffer. - if (win->w_buffer != NULL && bt_quickfix(win->w_buffer)) { - win->w_buffer->b_p_bl = false; - } /* * Close the link to the buffer. |