aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/quickfix.c
diff options
context:
space:
mode:
authorLech Lorens <lech.lorens@gmail.com>2017-10-01 15:37:27 +0200
committerLech Lorens <lech.lorens@gmail.com>2017-10-31 19:14:23 +0100
commitff819d8ad72b6a7404d28707f1f9ef460c35c472 (patch)
tree50f9fb9a455c99beb32f1103d675ea3143ea87f3 /src/nvim/quickfix.c
parent6340689582bba14187a331b304dde9d91df828c1 (diff)
downloadrneovim-ff819d8ad72b6a7404d28707f1f9ef460c35c472.tar.gz
rneovim-ff819d8ad72b6a7404d28707f1f9ef460c35c472.tar.bz2
rneovim-ff819d8ad72b6a7404d28707f1f9ef460c35c472.zip
quickfix: fix location list updates.
Fix quickfix performance optimization which prevented quickfix items from being updated when there were multiple windows with location lists but the buffer with errors only in one of the lists.
Diffstat (limited to 'src/nvim/quickfix.c')
-rw-r--r--src/nvim/quickfix.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c
index e6b1e7b95a..b9228e15b9 100644
--- a/src/nvim/quickfix.c
+++ b/src/nvim/quickfix.c
@@ -2379,7 +2379,8 @@ static void qf_free(qf_info_T *qi, int idx)
/*
* qf_mark_adjust: adjust marks
*/
-void qf_mark_adjust(win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after)
+bool qf_mark_adjust(win_T *wp, linenr_T line1, linenr_T line2, long amount,
+ long amount_after)
{
int i;
qfline_T *qfp;
@@ -2389,11 +2390,12 @@ void qf_mark_adjust(win_T *wp, linenr_T line1, linenr_T line2, long amount, long
int buf_has_flag = wp == NULL ? BUF_HAS_QF_ENTRY : BUF_HAS_LL_ENTRY;
if (!(curbuf->b_has_qf_entry & buf_has_flag)) {
- return;
+ return false;
}
if (wp != NULL) {
- if (wp->w_llist == NULL)
- return;
+ if (wp->w_llist == NULL) {
+ return false;
+ }
qi = wp->w_llist;
}
@@ -2414,9 +2416,7 @@ void qf_mark_adjust(win_T *wp, linenr_T line1, linenr_T line2, long amount, long
}
}
- if (!found_one) {
- curbuf->b_has_qf_entry &= ~buf_has_flag;
- }
+ return found_one;
}
/*