diff options
Diffstat (limited to 'sample-question-unauthenticated.json')
-rw-r--r-- | sample-question-unauthenticated.json | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sample-question-unauthenticated.json b/sample-question-unauthenticated.json new file mode 100644 index 0000000..732003d --- /dev/null +++ b/sample-question-unauthenticated.json @@ -0,0 +1 @@ +{"answers":[{"owner":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"comment_count":0,"is_accepted":false,"score":0,"last_activity_date":1414793088,"creation_date":1414793088,"answer_id":2936,"question_id":2919,"body_markdown":"For your use case, there's still hope though. Since you use `etags`, it can be used with `helm-etags-select`, the Helm built-in command. To use it, simply follow theses steps:\r\n\r\n- First, run the command to generate TAGS file.\r\n- Second, use `find-tag` to feed it to Emacs; if the TAGS file is too large and Emacs asks you to confirm, just accept it. Your whole TAGS file will be loaded in Emacs and there's no more reloading.\r\n- Finally, just execute `helm-etags-select` on any symbol on your Emacs. If there exists only one definition in your project, jump instantly; otherwise, display a Helm buffer for you to choose from.","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable/2936#2936","title":""Making tag completion table" Freezes/Blocks -- how to disable","body":"<p>For your use case, there's still hope though. Since you use <code>etags</code>, it can be used with <code>helm-etags-select</code>, the Helm built-in command. To use it, simply follow theses steps:</p>\n\n<ul>\n<li>First, run the command to generate TAGS file.</li>\n<li>Second, use <code>find-tag</code> to feed it to Emacs; if the TAGS file is too large and Emacs asks you to confirm, just accept it. Your whole TAGS file will be loaded in Emacs and there's no more reloading.</li>\n<li>Finally, just execute <code>helm-etags-select</code> on any symbol on your Emacs. If there exists only one definition in your project, jump instantly; otherwise, display a Helm buffer for you to choose from.</li>\n</ul>\n"}],"tags":["autocomplete","performance","ctags"],"owner":{"reputation":11,"user_id":2265,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a2e453f8f1cfc1ff0d7428c3b66ddc9a?s=128&d=identicon&r=PG","display_name":"cheezy","link":"http://emacs.stackexchange.com/users/2265/cheezy"},"comments":[{"owner":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414770948,"post_id":2919,"comment_id":3992,"body_markdown":"For jumping to definition/references, you can use GNU Global with ggtags/helm-gtags. Guarantee to work on large project like Linux kernel without any delay. You may want to look at my [C/C++ guide](http://tuhdo.github.io/c-ide.html). I covered code navigation (jump to definition/references), code completion, compiling and debugging support. I already created a demo configuration for playing with, so you only need to walk through the features without configuring anything.","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment3992_2919","body":"For jumping to definition/references, you can use GNU Global with ggtags/helm-gtags. Guarantee to work on large project like Linux kernel without any delay. You may want to look at my <a href=\"http://tuhdo.github.io/c-ide.html\" rel=\"nofollow\">C/C++ guide</a>. I covered code navigation (jump to definition/references), code completion, compiling and debugging support. I already created a demo configuration for playing with, so you only need to walk through the features without configuring anything."},{"owner":{"reputation":11,"user_id":2265,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a2e453f8f1cfc1ff0d7428c3b66ddc9a?s=128&d=identicon&r=PG","display_name":"cheezy","link":"http://emacs.stackexchange.com/users/2265/cheezy"},"reply_to_user":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414772414,"post_id":2919,"comment_id":3993,"body_markdown":"Your guides were the ones that got me started with emacs (especially w/ C++)! Our build system is very complicated and `#include "..."` can live in various places that are not known until build time. So, ggtags wouldn't be able to generate tags for many of the files. Currently, our build tools allow us to `make etags` to generate emacs compatible tags, but there is no `make ggtags` equivalent. So, I'm stuck with etags for now. Any ideas?","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment3993_2919","body":"Your guides were the ones that got me started with emacs (especially w/ C++)! Our build system is very complicated and <code>#include "..."</code> can live in various places that are not known until build time. So, ggtags wouldn't be able to generate tags for many of the files. Currently, our build tools allow us to <code>make etags</code> to generate emacs compatible tags, but there is no <code>make ggtags</code> equivalent. So, I'm stuck with etags for now. Any ideas?"},{"owner":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414773753,"post_id":2919,"comment_id":3995,"body_markdown":"Hmm I see. The situation is more complicated now. You mentioned `ggtags` cannot generate tags, but did you use plain `gtags` on the command line at project root? You should try this and invoke ggtags again. There should not be `make ggtags` because the real command is `gtags`; `ggtags` is just a package name of Emacs that use it. Another option is that you can use [ctags](http://ctags.sourceforge.net/); `ggtags` can also recognize `ctags` tags and it's also fast. You can generate ctags tags when invoking `ggtags-create-tags` and it asks for using `ctags` client.","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment3995_2919","body":"Hmm I see. The situation is more complicated now. You mentioned <code>ggtags</code> cannot generate tags, but did you use plain <code>gtags</code> on the command line at project root? You should try this and invoke ggtags again. There should not be <code>make ggtags</code> because the real command is <code>gtags</code>; <code>ggtags</code> is just a package name of Emacs that use it. Another option is that you can use <a href=\"http://ctags.sourceforge.net/\" rel=\"nofollow\">ctags</a>; <code>ggtags</code> can also recognize <code>ctags</code> tags and it's also fast. You can generate ctags tags when invoking <code>ggtags-create-tags</code> and it asks for using <code>ctags</code> client."},{"owner":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414774141,"post_id":2919,"comment_id":3996,"body_markdown":"Anyway, if `gtags` could not know about such details, I don't think the built-in `etags` (comes with Emacs), or `ctags` (I linked above) would be able to do it. I think you only use `ggtags` to create tags at current directory, not project root. Run the command `gtags` at project root, or when `ggtags` asks for where to generate, navigate to project root and you will be fine.","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment3996_2919","body":"Anyway, if <code>gtags</code> could not know about such details, I don't think the built-in <code>etags</code> (comes with Emacs), or <code>ctags</code> (I linked above) would be able to do it. I think you only use <code>ggtags</code> to create tags at current directory, not project root. Run the command <code>gtags</code> at project root, or when <code>ggtags</code> asks for where to generate, navigate to project root and you will be fine."},{"owner":{"reputation":11,"user_id":2265,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a2e453f8f1cfc1ff0d7428c3b66ddc9a?s=128&d=identicon&r=PG","display_name":"cheezy","link":"http://emacs.stackexchange.com/users/2265/cheezy"},"reply_to_user":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414777453,"post_id":2919,"comment_id":4001,"body_markdown":"I verified your statement (all the tag programs can only generate from project root down the tree). `make etags` works because it calls etags once it evaluates where all the `.h` files live.","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment4001_2919","body":"I verified your statement (all the tag programs can only generate from project root down the tree). <code>make etags</code> works because it calls etags once it evaluates where all the <code>.h</code> files live."},{"owner":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414777545,"post_id":2919,"comment_id":4002,"body_markdown":"So, it did work? If so, may I turn my comment into answer?","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment4002_2919","body":"So, it did work? If so, may I turn my comment into answer?"},{"owner":{"reputation":11,"user_id":2265,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a2e453f8f1cfc1ff0d7428c3b66ddc9a?s=128&d=identicon&r=PG","display_name":"cheezy","link":"http://emacs.stackexchange.com/users/2265/cheezy"},"reply_to_user":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414778081,"post_id":2919,"comment_id":4003,"body_markdown":"So, if I'm stuck with etags for completeness, do you have any suggestions for 1) Loading the tag file asynchronously 2) Disable autoreload of the tags file?","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment4003_2919","body":"So, if I'm stuck with etags for completeness, do you have any suggestions for 1) Loading the tag file asynchronously 2) Disable autoreload of the tags file?"},{"owner":{"reputation":11,"user_id":2265,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a2e453f8f1cfc1ff0d7428c3b66ddc9a?s=128&d=identicon&r=PG","display_name":"cheezy","link":"http://emacs.stackexchange.com/users/2265/cheezy"},"reply_to_user":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414778190,"post_id":2919,"comment_id":4004,"body_markdown":"Sorry I wasn't very clear. Without involving the `make` command, any tag generation is incomplete. You can turn your comment into an answer, and I can accept it in a day or two to give others a chance to answer","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment4004_2919","body":"Sorry I wasn't very clear. Without involving the <code>make</code> command, any tag generation is incomplete. You can turn your comment into an answer, and I can accept it in a day or two to give others a chance to answer"},{"owner":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414779434,"post_id":2919,"comment_id":4005,"body_markdown":"There's one possibility, not sure if you try: since you already have you TAGS file at project root (generated by `etags`), `ggtags` will use that file instead of GTAGS. Did you move the TAGS file (generated by `etags`) elsewhere? Personally, I use `helm-gtags` + GTAGS and always jump instantly, even in the Linux kernel that `etags` generates almost 1 GB. You mention that only some ".h" files available at build time, do you mean those files only generated after the build? Even if it is the case, it's hard to think that any tag program misses those if search recursively.","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment4005_2919","body":"There's one possibility, not sure if you try: since you already have you TAGS file at project root (generated by <code>etags</code>), <code>ggtags</code> will use that file instead of GTAGS. Did you move the TAGS file (generated by <code>etags</code>) elsewhere? Personally, I use <code>helm-gtags</code> + GTAGS and always jump instantly, even in the Linux kernel that <code>etags</code> generates almost 1 GB. You mention that only some ".h" files available at build time, do you mean those files only generated after the build? Even if it is the case, it's hard to think that any tag program misses those if search recursively."},{"owner":{"reputation":11,"user_id":2265,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/a2e453f8f1cfc1ff0d7428c3b66ddc9a?s=128&d=identicon&r=PG","display_name":"cheezy","link":"http://emacs.stackexchange.com/users/2265/cheezy"},"reply_to_user":{"reputation":652,"user_id":200,"user_type":"registered","accept_rate":75,"profile_image":"https://www.gravatar.com/avatar/4468daf477f79462d675b0be10cd6e22?s=128&d=identicon&r=PG&f=1","display_name":"Tu Do","link":"http://emacs.stackexchange.com/users/200/tu-do"},"edited":false,"score":0,"post_type":"question","creation_date":1414790397,"post_id":2919,"comment_id":4009,"body_markdown":"Thanks! I saw your post on helm gtags and this'll work for me for now! Please create an answer so I can accept it :)","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable#comment4009_2919","body":"Thanks! I saw your post on helm gtags and this'll work for me for now! Please create an answer so I can accept it :)"}],"comment_count":10,"delete_vote_count":0,"reopen_vote_count":0,"close_vote_count":0,"is_answered":false,"view_count":19,"favorite_count":0,"answer_count":1,"score":2,"last_activity_date":1414793088,"creation_date":1414770468,"question_id":2919,"body_markdown":"**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**\r\n\r\nI recently posted on the emacs subreddit and a user recommended that I join this group because it's also friendly towards newbies.\r\n\r\nI'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][1].\r\n\r\nI 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.\r\n\r\nWhen I start typing, at random times, I'll see a message in the minibuffer\r\n\r\n Making tag completion table for [tag file]...0-100%\r\n\r\nThen, a popup listbox shows up with autocompletion options.\r\n\r\nBecause 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)!\r\n\r\n---\r\n\r\n**Questions**\r\n\r\n 1. 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 `company` or `auto-complete`\r\n 2. 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? \r\n 3. 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.\r\n\r\n [1]: https://github.com/redguardtoo/emacs.d\r\n\r\n---\r\n\r\n**Additional info**\r\n\r\nEnabled minor modes (C-h m)\r\n\r\n Enabled minor modes: Abbrev Auto-Composition Auto-Compression\r\n Auto-Encryption Blink-Cursor Column-Number Company Desktop-Save\r\n Display-Time Electric-Indent Electric-Pair Evil Evil-Local\r\n Evil-Matchit Evil-Surround Fic File-Name-Shadow Flyspell-Lazy\r\n Font-Lock Ggtags Global-Auto-Revert Global-Company Global-Eldoc\r\n Global-Evil-Matchit Global-Evil-Surround Global-Font-Lock Global-Linum\r\n Global-Page-Break-Lines Global-Pointback Global-Undo-Tree Helm\r\n Helm-Match-Plugin Helm-Occur-Match-Plugin Line-Number Linum Menu-Bar\r\n Mouse-Wheel Override-Global Pointback Recentf Savehist Shell-Dirtrack\r\n Subword Tooltip Undo-Tree Which-Function Window-Numbering Winner Yas\r\n Yas-Global\r\n\r\n","link":"http://emacs.stackexchange.com/questions/2919/making-tag-completion-table-freezes-blocks-how-to-disable","title":""Making tag completion table" Freezes/Blocks -- how to disable","body":"<p><strong>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</strong></p>\n\n<p>I recently posted on the emacs subreddit and a user recommended that I join this group because it's also friendly towards newbies.</p>\n\n<p>I've been using emacs as a C++ IDE, and I'm slowly correcting things that are annoying. I'm essentially using <a href=\"https://github.com/redguardtoo/emacs.d\" rel=\"nofollow\">redguardtoo's emacs.d file</a>.</p>\n\n<p>I have a tag file that is 225MB (1.6M Tags). My intent for the tag is not necessarily completion (using <code>company</code>), but more for jumping around source code. I'm working with an unfamiliar code base and often need to see macro or class definitions.</p>\n\n<p>When I start typing, at random times, I'll see a message in the minibuffer</p>\n\n<pre><code>Making tag completion table for [tag file]...0-100%\n</code></pre>\n\n<p>Then, a popup listbox shows up with autocompletion options.</p>\n\n<p>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)!</p>\n\n<hr>\n\n<p><strong>Questions</strong></p>\n\n<ol>\n<li>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 <code>company</code> or <code>auto-complete</code></li>\n<li>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? </li>\n<li>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.</li>\n</ol>\n\n<hr>\n\n<p><strong>Additional info</strong></p>\n\n<p>Enabled minor modes (C-h m)</p>\n\n<pre><code>Enabled minor modes: Abbrev Auto-Composition Auto-Compression\nAuto-Encryption Blink-Cursor Column-Number Company Desktop-Save\nDisplay-Time Electric-Indent Electric-Pair Evil Evil-Local\nEvil-Matchit Evil-Surround Fic File-Name-Shadow Flyspell-Lazy\nFont-Lock Ggtags Global-Auto-Revert Global-Company Global-Eldoc\nGlobal-Evil-Matchit Global-Evil-Surround Global-Font-Lock Global-Linum\nGlobal-Page-Break-Lines Global-Pointback Global-Undo-Tree Helm\nHelm-Match-Plugin Helm-Occur-Match-Plugin Line-Number Linum Menu-Bar\nMouse-Wheel Override-Global Pointback Recentf Savehist Shell-Dirtrack\nSubword Tooltip Undo-Tree Which-Function Window-Numbering Winner Yas\nYas-Global\n</code></pre>\n"} |