TLDR: I've got a large tags file that loads multiple times per session, making it unusable. Can't find the source of issue or how to disable it -- main goal is to jump to tags, but completion would be nice
I recently posted on the emacs subreddit and a user recommended that I join this group because it's also friendly towards newbies.
I've been using emacs as a C++ IDE, and I'm slowly correcting things that are annoying. I'm essentially using redguardtoo's emacs.d file.
I have a tag file that is 225MB (1.6M Tags). My intent for the tag is not necessarily completion (using
company), but more for jumping around source code. I'm working with an unfamiliar code base and often need to see macro or class definitions.
When I start typing, at random times, I'll see a message in the minibuffer
Making tag completion table for [tag file]...0-100%
Then, a popup listbox shows up with autocompletion options.
Because this tag file is so large, and it doesn't seem like the tag loading is asynchronous, it freezes emacs for around a minute. This also happens multiple times per a session (with the same file, and with other files in the same directory that use the same tag file)!
- Does anyone know what's initializing the loading of the tag table for completion and how to disable it? I did a grep on my emacs.d directory for "Making tag completion" and found nothing (note, IIRC the loading tags was present regardless of using
- Completion would be nice, but I'd settle just for the ability to jump to the tag location. Is there a way to get this?
- What is the mindset to take when approaching problems like this? I'd like to be able to troubleshoot further on my own next time.
Enabled minor modes (C-h m)
Enabled minor modes: Abbrev Auto-Composition Auto-Compression Auto-Encryption Blink-Cursor Column-Number Company Desktop-Save Display-Time Electric-Indent Electric-Pair Evil Evil-Local Evil-Matchit Evil-Surround Fic File-Name-Shadow Flyspell-Lazy Font-Lock Ggtags Global-Auto-Revert Global-Company Global-Eldoc Global-Evil-Matchit Global-Evil-Surround Global-Font-Lock Global-Linum Global-Page-Break-Lines Global-Pointback Global-Undo-Tree Helm Helm-Match-Plugin Helm-Occur-Match-Plugin Line-Number Linum Menu-Bar Mouse-Wheel Override-Global Pointback Recentf Savehist Shell-Dirtrack Subword Tooltip Undo-Tree Which-Function Window-Numbering Winner Yas Yas-Global
package-activated-list is equal to
(ace-jump-mode ag s dash anaconda-mode f dash s dash json-rpc auto-compile packed bbdb bookmark+ browse-kill-ring buffer-move clean-aindent-mode cmake-mode coffee-mode color-theme company cpputils-cmake crontab-mode csharp-mode diminish dired+ dired-details dropdown-list dsvn elnode kv db kv fakir kv dash noflet creole kv noflet s noflet dash web s dash emmet-mode erlang evil-args evil goto-chg undo-tree evil-search-highlight-persist exec-path-from-shell expand-region f dash s fakir kv dash noflet fancy-narrow flymake-coffee flymake-easy flymake-css flymake-easy flymake-haml flymake-easy flymake-jslint flymake-easy flymake-lua flymake-python-pyflakes flymake-easy flymake-ruby flymake-easy flymake-sass flymake-easy flymake-shell flymake-easy flyspell-lazy fringe-helper ggtags git-gutter git-timemachine gitconfig-mode gitignore-mode goto-chg haskell-mode helm-descbinds helm async helm-gtags helm async hl-sexp htmlize ibuffer-vc idomenu iedit json-mode json-snatcher json-reformat json-reformat json-rpc json-snatcher kv legalese less-css-mode lua-mode magit git-rebase-mode git-commit-mode markdown-mode maxframe mic-paren move-text multi-term mwe-log-commands noflet org-fstree packed page-break-lines paredit pointback pomodoro pretty-mode project-local-variables quack rainbow-delimiters regex-tool rinari jump inflections findr ruby-compilation inf-ruby inf-ruby robe inf-ruby ruby-compilation inf-ruby rvm sass-mode haml-mode scratch scss-mode session sr-speedbar string-edit dash switch-window tagedit dash s textile-mode undo-tree unfill w3m web s dash wgrep ws-butler yaml-mode yasnippet