Loading ...
Sorry, an error occurred while loading the content.

Re: quickfix hidden marks

Expand Messages
  • Christian Brabandt
    ... I think this is correct. Since you delete the line, the quickfix entry refers to, I think it is ok to have the quickfix entry refer to the next available
    Message 1 of 4 , Aug 2, 2013
    • 0 Attachment
      On Fri, August 2, 2013 04:46, richard emberson wrote:
      > Interesting ...
      >
      > If you define a file XXX with the content:
      > vvvvvvvvvvvvvvvvvv
      > 1
      > 2
      > 3
      > 4
      > 5
      > 6
      > 7
      > 8
      > 9
      >
      > function! Load()
      > let list = [
      > \ {
      > \ 'filename': 'XXX',
      > \ 'lnum': 2,
      > \ 'col': 5,
      > \ 'vcol': 1,
      > \ 'text': 'This is some line',
      > \ 'kind': 'marker',
      > \ 'type': 'r',
      > \ 'nr': 1
      > \ }
      > \ ]
      > call setqflist(list)
      > endfunction
      >
      > function! Show()
      > echo getqflist()
      > endfunction
      > ^^^^^^^^^^^^^^^^^^^
      > And then
      > :call Load()
      > :call Show()
      >
      > I echos as expected.
      > If you a lines before line 2 or delete line 1,
      > calling Show() echos a "corrected" value for the
      > lnum.
      > But, it you delete line 2, the quickfix entry for
      > line 2 is still echoed back by Show.

      I think this is correct. Since you delete the line, the quickfix
      entry refers to, I think it is ok to have the quickfix entry refer
      to the next available line in that buffer.

      > If you then add new lines to the top of the file,
      > then Show echos back lnum as 2 + number of lines added.
      >
      > So, getqflist()/setqflist() work when removing lines
      > before a line but not when the line itself is deleted.
      > Or at least thats what I am seeing.
      >
      > Thanks.
      >
      > I assume, but have not tested, if one marks a line
      > with a "normal" mark and then deletes the line,
      > the mark also goes away.

      If I remember correctly, lowercase marks get erased, while
      uppercase marks also get adjusted and are
      not removed. E.g. when you mark line 3 with 'A' and then delete
      line 3, the mark 'A' moves to line 4.

      regards,
      Christian

      --
      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php

      ---
      You received this message because you are subscribed to the Google Groups "vim_dev" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    Your message has been successfully submitted and would be delivered to recipients shortly.