You can set the value of find-file-visit-truename to t — for instance with customise via M-x customize-variable RET find-file-visit-truename or just with (setq find-file-visit-truename t).
This will result in dired-find-file and Emacs in general, always following symlinks when opening a file or directory. (See the documentation of find-file-visit-truename ...
It's really quite simple; don't do that:
I use (setq vc-follow-symlinks nil) to not prompt to ask yes/no and not follow to the real file
It doesn't make much sense to set this variable to nil and find-file-visit-truename to t. Both variables control whether Emacs should follow symlinks when visiting files. But the latter is much more aggressive. vc-...
I had the same problem and added
;;; When opening a file that is a symbolic link, don't ask whether I
;;; want to follow the link. Just do it
(setq find-file-visit-truename t)
to my .emacs file.
Unfortunately I can't remember where on the web I found this, so no source credits.
From File Aliases:
Normally, if you visit a file which Emacs is already visiting under a
different name, Emacs displays a message in the echo area and uses the
existing buffer visiting that file. This can happen on systems that
support hard or symbolic links, or if you use a long file name on a
system that truncates long file ...
Dunno whether there is something specific to ls-lisp (haven't found it), but for Dired more generally, if you turn on dired-hide-details-mode (e.g., using (), and if you the value of option dired-hide-details-hide-symlink-targets is non-nil then the targets of symlinks are hidden when details are hidden.
(If the length of the target name is a problem you ...
Looks like your symlink is a finder alias and not a symlink. OSX Finder handles both of them the same way, but at system level the finder alias is a plain file.
Substitute the finder alias for a proper unix symlink using ln -s command and it should work.
As mentioned in my comment underneath the question above, there is no built-in support for identifying a symlink using the speedbar library. The following code adds that support -- differentiating between a symlink directory versus a filename. Evaluate the code below and then open a speedbar window, or refresh a window if it is already open.
A solution based on Microsoft junction by Mark Russinovich.
(defun get-target (dir)
"If DIR is a junction, return its target, else return DIR.
The 'junction' util is assumed to be in your path."
(setq dir (expand-file-name (substitute-in-file-name dir)))
(let* (out (bin "junction.exe"))
(unless (executable-find bin) (error (concat "Unable ...