XEmacs 21.0-b53 on Solaris 2.6
There is a reproducible bug in file-truename. When the filename
argument names a non-existing file, symbolic links in existing
directories earlier in the path are not chased. This in turn breaks
functions like find-file-noselect and can cause two buffers to bogusly
be created for the same real file (even when
find-file-compare-truenames is t)
Example:
Say the canonical path exists /projects/python/develop/bwarsaw and I
have a symbolic link ~/projects/python -> /projects/python/develop/bwarsaw
Inside this directory is another directory src/Misc. I visit a
non-existing file using the path ~/projects/python/src/Misc/foobar.
The foobar buffer is created.
Now both buffer-file-name and buffer-file-truename for this buffer are
/home/bwarsaw/projects/python/src/Misc/foobar. However, this is
broken, because buffer-file-truename *should* be
/projects/python/develop/bwarsaw/src/Misc/foobar.
If I save the file, and find-alternate-file it back, then
buffer-file-truename contains the correct truename.
-Barry