all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Preloading TAGS and completion table
@ 2012-07-10 15:06 Ludwig, Mark
  2012-07-10 20:03 ` Oleksandr Gavenko
  0 siblings, 1 reply; 3+ messages in thread
From: Ludwig, Mark @ 2012-07-10 15:06 UTC (permalink / raw)
  To: help-gnu-emacs@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1741 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 23121 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Preloading TAGS and completion table
  2012-07-10 15:06 Ludwig, Mark
@ 2012-07-10 20:03 ` Oleksandr Gavenko
  0 siblings, 0 replies; 3+ messages in thread
From: Oleksandr Gavenko @ 2012-07-10 20:03 UTC (permalink / raw)
  To: help-gnu-emacs

On 2012-07-10, Ludwig, Mark wrote:

> 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.
> [SKIP]
>
How about GNU Global? From:

  http://www.gnu.org/software/global/

  * incremental updating of tag files

> When I want to use tag completion, it takes about a minute for Emacs to
> construct the completion table. 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.
>
I think that Global start faster...

> 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.
>
(visit-tags-table-buffer)

Look docs, I just make exercise to find this function.


> P.S. If there is a better e-mail list for this question, please let me know.
>
Nope. This is best.

-- 
Best regards!




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Preloading TAGS and completion table
       [not found] <mailman.4481.1341934084.855.help-gnu-emacs@gnu.org>
@ 2012-07-11  9:51 ` José A. Romero L.
  0 siblings, 0 replies; 3+ messages in thread
From: José A. Romero L. @ 2012-07-11  9:51 UTC (permalink / raw)
  To: help-gnu-emacs; +Cc: help-gnu-emacs@gnu.org

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

You may want to have a look at John Wiegley's async module: https://github.com/jwiegley/emacs-async

Cheers,
--
José A. Romero L.
escherdragon at gmail
"We who cut mere stones must always be envisioning cathedrals."
(Quarry worker's creed)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-07-11  9:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.4481.1341934084.855.help-gnu-emacs@gnu.org>
2012-07-11  9:51 ` Preloading TAGS and completion table José A. Romero L.
2012-07-10 15:06 Ludwig, Mark
2012-07-10 20:03 ` Oleksandr Gavenko

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.