diff options
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r-- | src/nvim/buffer.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 0fda66105f..8f631ae13b 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -5397,12 +5397,16 @@ bool buf_hide(const buf_T *const buf) char_u *buf_spname(buf_T *buf) { if (bt_quickfix(buf)) { - // Differentiate between the quickfix and location list buffers using - // the buffer number stored in the global quickfix stack. - if (buf->b_fnum == qf_stack_get_bufnr()) { + win_T *win; + tabpage_T *tp; + + // For location list window, w_llist_ref points to the location list. + // For quickfix window, w_llist_ref is NULL. + if (find_win_for_buf(buf, &win, &tp) && win->w_llist_ref != NULL) { + return (char_u *)_(msg_loclist); + } else { return (char_u *)_(msg_qflist); } - return (char_u *)_(msg_loclist); } // There is no _file_ when 'buftype' is "nofile", b_sfname // contains the name as specified by the user. |