Christian Brabandt wrote:

> 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?

Yes.

> Is this only supported for quickfix commands, e.g. what happens 
> for :usefname :badd filename?

No.  Perhaps there could be some other commands that use ":usefname".
Otherwise there might be a better name that makes it clearer what it
does.

> 
> > 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.

-- 
hundred-and-one symptoms of being an internet addict:
226. You sit down at the computer right after dinner and your spouse
     says "See you in the morning."

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
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