[Top][All Lists]

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

next-error processing of .. after going thru symlink

From: spucci
Subject: next-error processing of .. after going thru symlink
Date: Sun, 6 Feb 2011 18:18:06 -0800 (PST)

The behavior is general, but it's a particular problem with next-error:

When emacs attempts to find a file with "../" as a path component, it
appears to be "smart" about it and simply remove the previous directory path
(e.g., "foo/bar/../x" gets converted to "foo/x").  But if bar is a symlink,
then it doesn't properly find the file.  So in compiler output, which
references such files, the next-error function fails to find the file with
the given name.

mkdir dest
mkdir dest/subdir
mkdir src
ln -s ../dest/subdir src/subdir
echo "#error This is an error" > dest/foo.c

Now M-x compile, and give it cc -c src/subdir/../foo.c

*compilation* buffer has:
cc -c src/subdir/../foo.c
src/subdir/../foo.c:1:2: error: #error This is an error

and do a next-error: Emacs complains it can't find the file.  And if you try
to find-file that file path (src/subdir/../foo.c) it doesn't work either. 
Nor does "emacsclient src/subdir/../foo.c.  Is there any way to disable this
behavior?  If not it seems like a bug to me.

This is Gnu Emacs 23.2.1 I built myself on MacOS X 10.6.6.


View this message in context:
Sent from the Emacs - Help mailing list archive at

reply via email to

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