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.

Raspunde prin e-mail lui