Subject: Re: bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible

From: Philipp Stephani <[email-masked]>
Date: Mon, 17 Aug 2020 15:16:08 +0200

Am Mo., 17. Aug. 2020 um 14:53 Uhr schrieb Philipp Stephani
<[email-masked]>:
>
>
> 1. Create a FUSE mount where the FS driver runs in the foreground,
>    e.g. using
>
>    bindfs -f /bin /tmp/foo
>
> 2. In another shell, cd into the new mount point:
>
>    cd /tmp/foo
>
> 3. Kill the bindfs process started in step (1) (e.g. using C-c).
>
> 4. In the shell (2), start Emacs:
>
>    $ emacs -Q
>    Error getting directory: Transport endpoint is not connected
>    Symbol’s value as variable is void: auto-save-list-file-prefix
>
> The "void variable" error is clearly a bug.  In general, Emacs should
> fall back to / or ~ if the current directory is inaccessible.
>
> The Lisp backtrace is
>
> "default-toplevel-value" (0xffffb650)
> "custom-initialize-reset" (0xffffbc00)
> "custom-declare-variable" (0xffffc270)
> "byte-code" (0xffffc740)
> "display-warning" (0xffffcf30)
> "normal-top-level" (0xffffd600)
>
> i.e. it looks like `display-warning' is called too early.

The culprit might be commit 636856faa4de78912bf41eeaf0e639664a323424
(but I haven't checked in detail). In any case, this also happens in
Emacs 27 and appears to be a regression w.r.t. Emacs 26.