help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A guide on setting up C/C++ development environment for Emacs


From: Dmitriy Igrishin
Subject: Re: A guide on setting up C/C++ development environment for Emacs
Date: Wed, 27 Aug 2014 18:15:07 +0400

2014-08-27 17:18 GMT+04:00 Tu Hoang Do <solidius4747@gmail.com>:

> CEDET is not slow. It's reasonably fast given it is implemented in Emacs
> Lisp. It needs time for parsing to build a database, so you see a message
> printing this: parsing....<file> in the minibuffer. It needs parsing to
> build up a database for smart completion. After the first time parsing,
> completion happens instantly and you should enable Semanticdb minor mode to
> save the parsing results, so CEDET won't have to parse the next time. CEDET
> can handle project with the size of Emacs really well. I think even project
> with more than a million lines of code. CEDET is the only viable solution
> so far I found for real smart completion in Emacs. Other clang based
> solution is pretty limited: you can only get completion from system header
> and current directory, but not for your project. You have to add the
> include paths to tell Clang where your project include paths are, and you
> have to specify with absolute paths. It's really tedious.
>
No, it does not real smart. For example, please, try to
M-x semantic-ia-complete-symbol-menu
when you are in method implementation like this:
void Class::method()
{
  // M-x semantic-ia-complete-symbol-menu should show a menu
  // with all members in the scope. But nothing is shown.
}
Second example. Please, try to M-x semantic-ia-complete-symbol-menu
when you are in
void Class::method()
{
  method2(
  // M-x semantic-ia-complete-symbol-menu after the "(" will
  // freeze Emacs to do some of stupid thinking.
  // Terrible, horrible and sad. And nothing more.
}

After this, I don't want to use CEDET without any sorry.
Sorry.

-- 
// Dmitriy.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]