emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master de76a16: Performance improvements for vc-hg


From: Daniel Colascione
Subject: Re: [Emacs-diffs] master de76a16: Performance improvements for vc-hg
Date: Mon, 8 Feb 2016 13:09:01 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

On 02/08/2016 01:01 PM, Eli Zaretskii wrote:
>> Cc: address@hidden, address@hidden
>> From: Daniel Colascione <address@hidden>
>> Date: Mon, 8 Feb 2016 12:28:29 -0800
>>
>>>> I find the information useful, and we can now get it cheaply.
>>>
>>> We are paying a non-trivial price as a project for that information,
>>> see for example bug#21559.  Maybe it should be an option, off by
>>> default?
>>
>> bug#21559 is a corner case.
> 
> It could be the tip of an iceberg.

If it were, I'd have expected problems to crop up for a long time. vc
has been running status on find-file for a very long time.

>> vc has been in place for decades, and is one of the things that makes
>> programming on Emacs pleasant. I'm not in favor of just removing the
>> feature because there are a few unfixed bugs. There is nothing
>> fundamentally wrong with the model.
>>
>> Making vc itself an option that's off by default makes no sense.
> 
> I didn't suggest making VC an option.  I suggested to make running the
> "status" command optional.
> 
>> Under what circumstances should a user enable the feature?
> 
> When she wants the mode line to display whatever it is that we display
> there.
> 
> "When
>> he's willing to pay the cost" is the answer I expect.
> 
> 
>> How is he supposed to know the feature even exists?
> 
> How do users know about the existence of any other feature?  This one
> is no different.

You could use the same argument to suggest making auto-mode-alist blank
by default. Users can enable the modes they want, and we wouldn't want
to impose costs on users by enabling features they don't want.

It's okay for some features to be on by default. vc is one of those
features. I have seen nothing to suggest that we can't keep doing what
we've been doing for a very long time.

> 
>> There is no reason that vc integration can't work well and be on by
>> default. It was working before my change; now it works better.
> 
> For a single VCS, and not the most important one.
> 
> The problem with calling "status" is that locks the repository, makes
> changes in the filesystem, and interferes with Emacs features that are
> sensitive to changes in the filesystem.  Making it optional could be
> the only solution to that conundrum.

It's a classical lock ordering problem; the classical lock ordering
solutions apply, including using try-lock instead of locking
repositories and running the status command asynchronously, so that if
it never completes, interactivity isn't harmed.

Not doing anything that might "make[] changes in the filsystem" is far
too cautious.


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]