使用Emacs在c ++模式下不完整的亮点

时间:2012-07-27 20:56:11

标签: c++ emacs highlight emacs23

我在emacs中使用C ++,除了突出显示代码的详细信息外,它工作得很完美。每当我编写一个带有多个参数的函数时(有时,即使只有一个参数),它也不会将函数识别为函数,例如:

double Gamma(double x, double mean, double gamma){
  //some code
}

Gamma不会像函数一样突出显示,而是以纯文本形式显示,而在#define square(x) x*x中,square被正确突出显示,

complex<double> magphase2c(double mag, double phase){
// some code
}

其中magphace2c被突出显示为函数。

例如,当我有

时会发生同样的行为
TF1 *fitBWResult = new TF1("fitBWResult", BreitWigner, ResMassMin, ResMassMax, 3);
// versus
double Mass = 0.776132;

其中fitBWResult未被识别为变量,但Mass是。{{1}}。最后一个问题只发生在使用指针时。

我正在使用Emacs 23.4.1,我不知道cc-mode的版本,但是我正在运行最新的Debian测试安装(wheezy)。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为这个问题不应该没有答案,因为我解决了这个问题归功于用户noisecapella的想法,我发布了我找到的解决方案:

Debian Wheezy当时使用cc-mode 5.31.8和Emacs 23.4.1,这个版本的cc-mode是有问题的。解决方案是安装包from their homepage的更新版本(也许是旧版本也可以完成工作)。特别是,我解决了安装版本5.32.3的问题,这是当时较新的版本。