function! s:MarkQF() abort
  if !qf#IsQfWindowOpen()
    let g:quickfix_pending = 1
  endif
endfunction

function! s:UnmarkQF() abort
  if qf#IsQfWindow(winnr()) && exists('g:quickfix_pending')
    unlet g:quickfix_pending
  endif
endfunction

augroup QfAfter
  autocmd!

  autocmd QuickFixCmdPost [^l]* call s:MarkQF()
  autocmd WinEnter * call s:UnmarkQF()
augroup END

function! s:MarkQF() abort
  if !qf#IsQfWindowOpen()
    let g:quickfix_pending = 1
  endif
endfunction

function! s:UnmarkQF() abort
  if exists('g:quickfix_pending')
    unlet g:quickfix_pending
  endif
endfunction

augroup QfAfter
  autocmd!

  autocmd QuickFixCmdPost [^l]* call s:MarkQF()
  autocmd Filetype qf call s:UnmarkQF()
augroup END

Make s:UnmarkQF() rely on Filetype instead
Make s:UnmarkQF() rely on Filetype instead

The previous method of unmarking unseen QF errors was with WinEnter and
a check if the current window is a QF window, c/o vim-qf.

However, this fails if the quickfix is opened directly with :copen,
because some necessary logic from vim-qf (namely, to differentiate QF
from loclist) is ran only upon setting the filetype.

Right now, I don't care about the difference between QF and loclist, so
I can do without that distinction. I now simply just unmark whenever a
buffer's filetype is set to qf.

igemnace/vim-config,igemnace/my-vim-config,igemnace/vim-config,igemnace/vim-config