From: Dmitry Gutov <dmitry@gutov.dev>
To: Eli Zaretskii <eliz@gnu.org>
Cc: arthur.miller@live.com, emacs-devel@gnu.org
Subject: Re: Missing snprintf in ucrt mingw + vc-refresh in find-file hook?
Date: Wed, 14 Feb 2024 18:36:47 +0200 [thread overview]
Message-ID: <7ecaf383-081f-47ad-bd83-6f1fe300fddc@gutov.dev> (raw)
In-Reply-To: <86r0hfxgm9.fsf@gnu.org>
On 14/02/2024 16:30, Eli Zaretskii wrote:
>> Date: Tue, 13 Feb 2024 23:26:42 +0200
>> Cc: emacs-devel@gnu.org
>> From: Dmitry Gutov <dmitry@gutov.dev>
>>
>> On 13/02/2024 15:36, Eli Zaretskii wrote:
>>>
>>> I understand your POV, but this is turned on by default in Emacs long
>>> ago. So the default cannot be changed just because you personally
>>> dislike it. Instead, I suggest that you change the default value of
>>> mode-line format locally. Or remove vc-refresh-state from
>>> find-file-hook. Or try playing with the value of vc-display-status.
>>> Or some other change that could do what you want; look in vc-hooks.el
>>> for ideas.
>>
>> We could try dropping the forced refresh from find-file-hook. Then we'd
>> have a function there that should be called differently, which would
>> just reset the saved backend/status for the file, and the cached value
>> for vc-mode (the mode-line element).
>>
>> Then, if the user disabled showing the VC state in the mode-line, and
>> doesn't have any other packages installed that use the status, Git won't
>> be called, at least not right away.
>
> What is the purpose of such a change? Does it target users who don't
> want vc-refresh-state in find-file-hook, but still want the VC info
> shown on the mode line?
Those in particular won't see an immediate benefit, but, to reiterate:
As a result, we could have Emacs that's a little bit faster for users
with custom mode-lines [that don't show VCS status or backend].
And also [for all users:] any find-file-noselect calls performed in
the background (sometimes those are even done on a list of files)
won't fetch the VCS status eagerly until the buffer is displayed.
> That sounds like a strange preference, since
> find-file-hook is called just once per file buffer, whereas showing
> the info on the mode line can potentially cause vc-refresh-state (or
> something similar) to be called much more frequently, right?
The backend and the state are cached in vc-file-prop-obarray, so it
shouldn't result in more process calls, no matter the scenario. It's
mostly about how early we fetch this information.
> So before we discuss such a move, even as an experiment, I'd like to
> understand better what would be the intended effect in user-facing
> terms, and make sure we indeed consider such a behavior change
> reasonable. Because this kind of changes is likely to cause
> unintended problems, so I'd like to be sure we really want it before
> we start investing time and efforts in it. Likewise, I would like to
> avoid the situation where Arthur (or someone else) spends time and
> efforts in experimenting with such a setup, only to be told later
> that we don't think the results makes sense to us.
For me, it really depends on the execution: whether it will actually
require a moderate amount of changes (as I imagined), and whether the
perceived improvement in user experience is there. And the appearance of
"unintended problems", of course.
next prev parent reply other threads:[~2024-02-14 16:36 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-12 10:06 Missing snprintf in ucrt mingw + vc-refresh in find-file hook? Arthur Miller
2024-02-12 13:44 ` Dmitry Gutov
2024-02-12 13:56 ` Arthur Miller
2024-02-12 14:58 ` Dmitry Gutov
2024-02-12 16:49 ` Eli Zaretskii
2024-02-12 18:05 ` Dmitry Gutov
2024-02-12 19:15 ` Eli Zaretskii
2024-02-12 19:25 ` Dmitry Gutov
2024-02-12 19:34 ` Eli Zaretskii
2024-02-13 9:47 ` Arthur Miller
2024-02-13 13:36 ` Eli Zaretskii
2024-02-13 14:30 ` Arthur Miller
2024-02-13 21:26 ` Dmitry Gutov
2024-02-13 23:10 ` Arthur Miller
2024-02-14 3:42 ` Dmitry Gutov
2024-02-14 21:04 ` Arthur Miller
2024-02-14 22:37 ` Dmitry Gutov
2024-02-15 11:16 ` Arthur Miller
2024-02-14 14:30 ` Eli Zaretskii
2024-02-14 16:36 ` Dmitry Gutov [this message]
2024-02-14 16:51 ` Eli Zaretskii
2024-02-14 17:01 ` Dmitry Gutov
2024-02-14 17:29 ` Eli Zaretskii
2024-02-14 21:05 ` Dmitry Gutov
2024-02-12 14:36 ` Eli Zaretskii
2024-02-13 10:44 ` Arthur Miller
2024-02-13 13:13 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2024-02-12 17:37 Angelo Graziosi
2024-02-13 10:49 ` Arthur Miller
2024-02-13 19:00 ` Arthur Miller
2024-02-13 20:01 ` Eli Zaretskii
2024-02-13 22:05 ` Arthur Miller
2024-02-14 14:45 ` Eli Zaretskii
2024-02-14 18:43 ` Arthur Miller
2024-02-13 21:26 ` Angelo Graziosi
2024-02-13 22:09 ` Arthur Miller
2024-02-13 22:21 ` Angelo Graziosi
2024-02-13 22:26 ` Arthur Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7ecaf383-081f-47ad-bd83-6f1fe300fddc@gutov.dev \
--to=dmitry@gutov.dev \
--cc=arthur.miller@live.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.