Emacs查找其他文件问题

Emacs查找其他文件问题,emacs,Emacs,我试图通过修改cc other file列表来使用ff查找其他文件,如下所示 (setq cc-other-file-alist '( ("\\.cxx$" my-other-file-fun) ("\\.hxx$" my-other-file-fun) )) 而我的另一个文件fun正在返回一个匹配列表。问题是,当我打开一个cxx文件并调用ff find other file时,没有调用函数my other file fun。但是如果我打开一个hxx文件并调用ff find other fil

我试图通过修改cc other file列表来使用ff查找其他文件,如下所示

(setq cc-other-file-alist
'(
("\\.cxx$" my-other-file-fun)
("\\.hxx$" my-other-file-fun)
))
我的另一个文件fun
正在返回一个匹配列表。问题是,当我打开一个cxx文件并调用
ff find other file
时,没有调用函数
my other file fun
。但是如果我打开一个hxx文件并调用
ff find other file
,我的自定义函数将被调用,并且我看到了正确的结果。可能出了什么问题?我正在linux上使用emacs-24.1

谢谢


Surya

您可以尝试调用该函数,然后使用backquote:

(setq cc-other-file-alist
  `(
    ("\\.cxx$" ,(my-other-file-fun))
    ("\\.hxx$" ,(my-other-file-fun))))

如果
my other file fun
返回匹配扩展名的列表,或者甚至使用
let

将结果缓存在变量上,这对我不起作用。我在说无效符号时出错。但有一个观察结果是,当我为.hxx文件调用
ff find other file
时,并没有得到错误,而是为.cxx文件调用了错误。这意味着,当调用.cxx文件时,ff find other file不会查看cc other file列表。这很奇怪。我正计划调试ff查找其他文件什么符号无效?没关系,我发现了问题。在CXX文件中,当光标位于#include行时,我调用ff find other file,因此它试图打开include头而不是相应的头。无论如何,我会接受这个答案。