From: Eli Zaretskii <eliz@gnu.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: philipk@posteo.net, tom@tromey.com, emacs-devel@gnu.org,
john@yates-sheets.org
Subject: Re: Automatic (e)tags generation and incremental updates
Date: Tue, 12 Jan 2021 17:08:23 +0200 [thread overview]
Message-ID: <83o8hudwgo.fsf@gnu.org> (raw)
In-Reply-To: <106abdbb-ce7a-4911-0831-149da3dccfb3@yandex.ru> (message from Dmitry Gutov on Tue, 12 Jan 2021 03:33:10 +0200)
> Cc: tom@tromey.com, john@yates-sheets.org, philipk@posteo.net,
> emacs-devel@gnu.org
> From: Dmitry Gutov <dgutov@yandex.ru>
> Date: Tue, 12 Jan 2021 03:33:10 +0200
>
> >> (write-region (point-min) (point-max) buffer-file-name nil 'silent)
> >>
> >> I wonder if *that* could be done asynchronously.
> >
> > What kind of asynchronicity did you have in mind?
>
> One where the Lisp code doesn't have to wait for the disk write to
> complete.
Wed don't have such facilities, because they would need locking the
region (actually, probably the entire buffer) for changes while it
runs.
> > And I'm probbaly missing something, because I don't understand how
> > Emacs is involved in updating the tags table.
>
> It's part of the secret sauce for the quick incremental updates: if
> etags writes to disk, even just to update one file's index, we'll have
> to revert-buffer, and the bigger the tags file is, the longer the revert
> will take. Basically, N(project-size).
But still faster than write-region, no? Did you try it the other way
around: let etags write to a file, and then revert, or even just
replace some region that you wanted updated (with
insert-file-contents)?
Anyway, TAGS and etags.el were designed to be very tolerant to
changes, so you shouldn't need to update very often.
next prev parent reply other threads:[~2021-01-12 15:08 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-14 3:36 Automatic (e)tags generation and incremental updates Dmitry Gutov
2021-01-07 3:46 ` Dmitry Gutov
2021-01-07 14:15 ` Eli Zaretskii
2021-01-07 15:56 ` Dmitry Gutov
2021-01-07 16:17 ` Stefan Kangas
2021-01-09 21:49 ` Tom Tromey
2021-01-10 13:53 ` Dmitry Gutov
2021-01-10 16:56 ` Tom Tromey
2021-01-10 19:39 ` Tom Tromey
2021-01-10 23:09 ` Dmitry Gutov
2021-01-10 23:36 ` Dmitry Gutov
2021-01-10 23:50 ` Dmitry Gutov
2021-01-11 14:56 ` Eli Zaretskii
2021-01-12 1:33 ` Dmitry Gutov
2021-01-12 4:21 ` Stefan Monnier
2021-01-12 16:59 ` Dmitry Gutov
2021-01-12 17:24 ` Stefan Monnier
2021-01-12 15:08 ` Eli Zaretskii [this message]
2021-01-12 16:48 ` Dmitry Gutov
2021-01-12 17:15 ` Eli Zaretskii
2021-01-12 17:32 ` Dmitry Gutov
2021-01-12 17:55 ` Eli Zaretskii
2021-01-12 22:26 ` Dmitry Gutov
2021-01-13 15:01 ` Eli Zaretskii
2021-01-13 15:52 ` Dmitry Gutov
2021-01-13 15:58 ` Eli Zaretskii
2021-01-16 3:57 ` Dmitry Gutov
2021-01-16 7:34 ` Eli Zaretskii
2021-01-10 16:49 ` Eli Zaretskii
2021-01-10 16:58 ` Tom Tromey
2021-01-10 17:56 ` Dmitry Gutov
2021-01-10 18:14 ` Eli Zaretskii
2021-01-10 23:13 ` Dmitry Gutov
2021-01-11 14:53 ` Eli Zaretskii
2021-01-12 1:49 ` Dmitry Gutov
2021-01-12 15:09 ` Eli Zaretskii
2021-02-18 23:26 ` Dmitry Gutov
2021-02-19 8:33 ` Eli Zaretskii
2021-02-19 14:35 ` Dmitry Gutov
2021-02-19 15:44 ` Eli Zaretskii
2021-02-20 1:35 ` Dmitry Gutov
2021-02-20 7:30 ` Eli Zaretskii
2021-02-20 20:27 ` Dmitry Gutov
2021-02-20 20:41 ` Eli Zaretskii
2021-02-20 21:05 ` Dmitry Gutov
2021-02-20 21:14 ` Dmitry Gutov
2021-02-21 19:53 ` Eli Zaretskii
2021-02-21 20:39 ` Dmitry Gutov
2021-02-22 16:08 ` Eli Zaretskii
2021-02-22 19:25 ` Dmitry Gutov
2021-02-22 19:33 ` Eli Zaretskii
2021-02-23 1:15 ` Dmitry Gutov
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83o8hudwgo.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=john@yates-sheets.org \
--cc=philipk@posteo.net \
--cc=tom@tromey.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).