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

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

Re: opening correct source file on compile error


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





reply via email to

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