Hi Bram!
On Do, 07 Jul 2016, Bram Moolenaar wrote:
>
> There has been a request that when adding items to the quickfix list, no
> buffer is created to hold the file name.
>
> The reason is that when there are many different file names this causes
> the buffer list to get very long, which then causes various operations
> to become slow. Including finding the buffer for a file name.
>
> Instead of using a buffer, where the file name is stored, and then using
> the buffer number, the file name itself could be remembered.
>
> Since there are so many quickfix commands, adding a flag to every one of
> them would be creating quite a mess. We could add an option, but
> that has the danger of forgetting to reset the option after the
> operation. And it requires three more statements (save current value,
> set the option, restore th option). So I was thinking of using a command
> modifier:
>
> :usefname caddexpr {expr}
>
> How about that?
That means, the buffer would only be created once you are jumping to the
file? Is this only supported for quickfix commands, e.g. what happens
for :usefname :badd filename?
> Storing the file name instead of a buffer number has a few
> disadvantages:
> - When inserting or deleting lines in the file the position of the
> quickfix items is not adjusted.
> - Using more memory to store a copy of the file name.
> - Changing directory can make the file name invalid. We could store the
> full path, but creating that also adds overhead. Hmm, perhaps we
> could store the full path the moment the directory is changed.
I think this might be a nice little feature.
Best,
Christian
--
Es gibt keinen besseren Reiseführer als das Scheckbuch.
-- Heinz Drache
--
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.