Philipp schrieb am Sa., 29. Juli 2017 um 23:08 Uhr: > > Create a FUSE mount point, e.g. > > cd /tmp > mkdir a a/a b > touch a/a/a > bindfs -f a b > > While bindfs(1) is running, cd to the mounted directory in a second > shell: > > cd /tmp/b/a > > Now kill bindfs, e.g. by hitting ^C in the first shell. The second > shell will now be in an unmounted directory. From that directory, start > Emacs: > > $ emacs -Q -batch a > Apparent cycle of symbolic links for (unreachable) > > or, with stack trace > > $ emacs -Q -batch -f toggle-debug-on-error a > Debug on Error enabled globally > ... > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)/a/(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a/(unreachable)/a" (-1) (nil)) > file-truename("(unreachable)/a/(unreachable)/a/(unreachable)" (-1) (nil)) > file-truename("(unreachable)/a/(unreachable)/a/(unreachable)/a" (-1) > (nil)) > > file-truename("(unreachable)/a/(unreachable)/a/(unreachable)/a/(unreachable)" > (-1) (nil)) > > file-truename("(unreachable)/a/(unreachable)/a/(unreachable)/a/(unreachable)/a" > (-1) (nil)) > > file-truename("(unreachable)/a/(unreachable)/a/(unreachable)/a/(unreachable)/a/a") > find-file-noselect("(unreachable)/a/(unreachable)/a/a") > #f(compiled-function (displayable-buffers dir line column name) > #)((nil) "(unreachable)/a/" (0) (0) "a") > command-line-1(("-f" "toggle-debug-on-error" "a")) > command-line() > normal-top-level() > > It seems like the logic for `default-directory' and/or `file-truename' > should be improved for unmounted filesystems. > > Here's a patch. With the patch, the output is Error getting directory: Transport endpoint is not connected Warning (initialization): Error setting default-directory Ignoring relative file name (a) due to nil default-directory