[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Preloading TAGS and completion table (resend)
From: |
XeCycle |
Subject: |
Re: Preloading TAGS and completion table (resend) |
Date: |
Wed, 11 Jul 2012 19:07:21 +0800 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1.50 (gnu/linux) |
"Ludwig, Mark" <ludwig.mark@siemens.com> writes:
> [Sorry, resending in plain text]
>
> I use Emacs to maintain a large software system (>10,000,000
> lines of code). We have multiple releases in the field under
> active maintenance (plus the next release under development). I
> have cron jobs that make TAGS daily (overnight) because it takes
> hours to read the entire source in the multiple release source
> branches. Each TAGS file per branch is over 40MB. I run an
> instance of Emacs per release branch, because we use ClearCase,
> so the "same file name" potentially has different contents
> depending on the view (i.e., can't use Emacs Server across
> releases).
>
> When I want to use tag completion, it takes about a minute for
> Emacs to construct the completion table.
(By TAGS I assume you're using etags completion)
Have you tried gtags? I tried it in Linux kernel source, and it
gives completion list beginning with two letters in roughly 0.1
secs. The time may vary, but I think it should be able to give
you the list in seconds.
> Meanwhile, I can't do anything else in Emacs. I'm wondering if
> it's possible to get the completion table pre-loaded in the
> background, so when I am finding a tag and hit '?' I get an
> instantaneous response the first time, instead of a minute-long
> wait.
>
> For context, I have been using EMACS/Emacs for over 30 years and
> my .emacs file is tiny, only pointing to another file with the
> real customization. My customization is ~1,000 lines, and I
> byte-compile it. I like pretending my name is Luke and using the
> source, but could use some tips and pointers about whether it's a
> good idea to try this in the background. I'm not even sure it's
> possible to run this in the background (asynchronously). Does
> Emacs have such asynchronous execution capability?
>
> If asynchronous execution isn't possible or wise, I'll settle for
> a way to forcibly load the completion table (without my needing
> to manually trigger it). I don't see a way to do that, either.
>
> Thanks in advance!
> Mark
>
> P.S. If there is a better e-mail list for this question, please let me know.
>
>
--
Carl Lei (XeCycle)
Department of Physics, Shanghai Jiao Tong University
OpenPGP public key: 7795E591
Fingerprint: 1FB6 7F1F D45D F681 C845 27F7 8D71 8EC4 7795 E591
pgpZq6fl0g0EB.pgp
Description: PGP signature