Subject: bug#36598: 26.1; (error "‘/tmp/emacs1000’ is not a safe directory because it is a symlink")

From: Eli Zaretskii <[email-masked]>
Date: Thu, 18 Jul 2019 09:27:20 +0300

> From: Stefan Monnier <[email-masked]>
> Date: Mon, 15 Jul 2019 09:04:22 -0400
> Cc: Lars Ingebrigtsen <[email-masked]>, [email-masked],
>  [email-masked]
> 
> >> Commit b663c837249 (in May) which says "Cosmetic changes" is the one
> >> that introduced this code?
> >>
> >>     (let ((olddir (or (getenv "TMPDIR") "/tmp")))
> >>       (when (and (equal dir (format "%s/emacs" (getenv
> >> "XDG_RUNTIME_DIR")))
> >>                  (file-writable-p olddir))
> >>         (let ((link (format "%s/emacs%d" olddir (user-uid))))
> >>           (unless (file-directory-p link)
> >>             ;; We're using the new location, so try and setup a symlink
> >> from
> >>             ;; the old location, in case we want to use an
> >> old emacsclient.
> >>             ;; FIXME: Check that it's safe to use!
> >>             (make-symbolic-link dir link t)))))
> >>
> >> And instead of making things work with an old emacsclient, it breaks the
> >> Emacs 26 emacsclient?
> >
> > Nearly. I think it breaks emacs-26 not the emacsclient. I haven't check the
> > emacsclient code, but I guess Stefan was
> > aiming for the situation when someone is using (say) emacsclient-26 with
> > emacs-27.
> 
> Indeed (it's Debian/s /usr/bin/emacsclient accessing my hand-built
> Emacs-27 server).
> 
> >> Stefan, was this checked in by mistake?
> 
> Definitely,

If this mistake adversely affects the release branch, please revert
that commit.  We will have RC1 soon.

Thanks.