|
From: | Kevin Rodgers |
Subject: | Re: opening correct source file on compile error |
Date: | Thu, 19 Oct 2006 10:14:12 -0600 |
User-agent: | Thunderbird 1.5.0.7 (Windows/20060909) |
kl.vanw@gmail.com wrote:
Here's my situation. My header files (C++) are located in a dir named src/lib. These are the files I edit and are CVS managed. When I run 'make', make copies the headers into include/, which my other source files include. Then if there was an error in one of the headers, and I use 'next-error' in the compilation buffer to open the header, emacs opens the file in the include/ directory, but I really need it to open the header in src/lib. Can I some how help emacs find the right file? Unfortunately, I don't have the option of changing the way our makefile works or the #include statements.
Try this: (add-hook 'find-file-hook (lambda () (let* ((file (file-name-nondirectory buffer-file-name)) (directory (file-name-directory buffer-file-name)) (alternate-file (expand-file-name file "../src/lib"))) (when (and (equal (file-name-nondirectory (directory-file-name directory)) "include") (file-exists-p alternate-file)) (find-alternate-file alternate-file))))) -- Kevin
[Prev in Thread] | Current Thread | [Next in Thread] |