all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "James K. Lowden" <jklowden@speakeasy.net>
To: help-gnu-emacs@gnu.org
Subject: xref symlink indigestion
Date: Mon, 2 Jan 2017 15:48:05 -0500	[thread overview]
Message-ID: <20170102154805.72b4eab3ae316a4bbae7a384@speakeasy.net> (raw)

With 25.1 installed, I'm happily using xref.  I noticed something
slightly odd, and wonder what might be done for it.  

On my system $HOME/projects is a symbolic link:

$ file ~/projects
/home/jklowden/projects: symbolic link to /usr/local/projects/

I rely exclusively on the symbolic link, and start emacs as a daemon
there.  At the moment I have two daemons running (under different
names) for two different projects.  When I use M-x pwd in the
*Messages* buffer, it reports the symlink path: 

	Directory /home/jklowden/projects/csv2bin/

When I use xref-find-definitions to load a file, though, it loads it via
the non-symbolic path.  If I open the file per usual (in the project
directory, via the symlink) and then use xref-find-definitions, I see a
message like 

	/usr/local/projects/csv2bin/mapcols.h and 
	/home/jklowden/projects/csv2bin/mapcols.h 
	are the same file

which indeed they are.  

Why is xref insisting on using the non-symbolic path?  The TAGS file
doesn't mention it.  The daemon's current working directory is on the
symbolic path.  Files opened with emacsclient on the symbolic path
behave normally (i.e., their names reflect the symbolic path).  

I suspect something somewhere is gratuitously calling realpath(3),
doubtless with good intentions.  I'd like to understand why, and see if
there's a better way.  

--jkl



             reply	other threads:[~2017-01-02 20:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-02 20:48 James K. Lowden [this message]
2017-01-02 21:20 ` xref symlink indigestion Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170102154805.72b4eab3ae316a4bbae7a384@speakeasy.net \
    --to=jklowden@speakeasy.net \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.