summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0988
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0988')
-rw-r--r--data/vim/patches/8.1.0988129
1 files changed, 129 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0988 b/data/vim/patches/8.1.0988
new file mode 100644
index 000000000..1f2dc29f9
--- /dev/null
+++ b/data/vim/patches/8.1.0988
@@ -0,0 +1,129 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0988
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0988
+Problem: Deleting a location list buffer breaks location list window
+ functionality.
+Solution: (Yegappan Lakshmanan, closes #4056)
+Files: src/quickfix.c, src/testdir/test_quickfix.vim
+
+
+*** ../vim-8.1.0987/src/quickfix.c 2019-02-10 22:58:58.976414779 +0100
+--- src/quickfix.c 2019-03-02 07:55:18.877241143 +0100
+***************
+*** 3981,3986 ****
+--- 3981,4007 ----
+ }
+
+ /*
++ * Set options for the buffer in the quickfix or location list window.
++ */
++ static void
++ qf_set_cwindow_options(void)
++ {
++ // switch off 'swapfile'
++ set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
++ set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
++ OPT_LOCAL);
++ set_option_value((char_u *)"bh", 0L, (char_u *)"hide", OPT_LOCAL);
++ RESET_BINDING(curwin);
++ #ifdef FEAT_DIFF
++ curwin->w_p_diff = FALSE;
++ #endif
++ #ifdef FEAT_FOLDING
++ set_option_value((char_u *)"fdm", 0L, (char_u *)"manual",
++ OPT_LOCAL);
++ #endif
++ }
++
++ /*
+ * Open a new quickfix or location list window, load the quickfix buffer and
+ * set the appropriate options for the window.
+ * Returns FAIL if the window could not be opened.
+***************
+*** 4032,4054 ****
+ // Create a new quickfix buffer
+ (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin);
+
+- // switch off 'swapfile'
+- set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
+- set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix",
+- OPT_LOCAL);
+- set_option_value((char_u *)"bh", 0L, (char_u *)"hide", OPT_LOCAL);
+- RESET_BINDING(curwin);
+- #ifdef FEAT_DIFF
+- curwin->w_p_diff = FALSE;
+- #endif
+- #ifdef FEAT_FOLDING
+- set_option_value((char_u *)"fdm", 0L, (char_u *)"manual",
+- OPT_LOCAL);
+- #endif
+ // save the number of the new buffer
+ qi->qf_bufnr = curbuf->b_fnum;
+ }
+
+ // Only set the height when still in the same tab page and there is no
+ // window to the side.
+ if (curtab == prevtab && curwin->w_width == Columns)
+--- 4053,4068 ----
+ // Create a new quickfix buffer
+ (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin);
+
+ // save the number of the new buffer
+ qi->qf_bufnr = curbuf->b_fnum;
+ }
+
++ // Set the options for the quickfix buffer/window (if not already done)
++ // Do this even if the quickfix buffer was already present, as an autocmd
++ // might have previously deleted (:bdelete) the quickfix buffer.
++ if (curbuf->b_p_bt[0] != 'q')
++ qf_set_cwindow_options();
++
+ // Only set the height when still in the same tab page and there is no
+ // window to the side.
+ if (curtab == prevtab && curwin->w_width == Columns)
+*** ../vim-8.1.0987/src/testdir/test_quickfix.vim 2019-02-10 22:58:58.976414779 +0100
+--- src/testdir/test_quickfix.vim 2019-03-02 07:55:18.877241143 +0100
+***************
+*** 3933,3938 ****
+--- 3933,3948 ----
+ call assert_match(qfbnum . ' h- "\[Location List]"', execute('ls'))
+ call assert_true(bufloaded(qfbnum))
+
++ " After deleting a location list buffer using ":bdelete", opening the
++ " location list window should mark the buffer as a location list buffer.
++ exe "bdelete " . qfbnum
++ lopen
++ call assert_equal("quickfix", &buftype)
++ call assert_equal(1, getwininfo(win_getid(winnr()))[0].loclist)
++ call assert_equal(wid, getloclist(0, {'filewinid' : 0}).filewinid)
++ call assert_false(&swapfile)
++ lclose
++
+ " When the location list is cleared for the window, the buffer should be
+ " removed
+ call setloclist(0, [], 'f')
+*** ../vim-8.1.0987/src/version.c 2019-03-02 07:15:20.217458790 +0100
+--- src/version.c 2019-03-02 07:56:37.372654522 +0100
+***************
+*** 781,782 ****
+--- 781,784 ----
+ { /* Add new patch number below this line */
++ /**/
++ 988,
+ /**/
+
+--
+What a wonderfully exciting cough! Do you mind if I join you?
+ -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
+
+ /// 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 ///