From: Paul Eggert Date: Wed, 26 Aug 2020 17:53:32 +0000 (-0700) Subject: Fix PWD startup checking with symlinks X-Git-Tag: emacs-28.0.90~6376 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ff864be694247e5f6c8732afcbaeb1c0a8a8a124;p=emacs.git Fix PWD startup checking with symlinks * lisp/startup.el (normal-top-level): Do not put "." after "/"; it’s not needed and with current file-name-as-directory it does the wrong thing if PWD is a symlink. --- diff --git a/lisp/startup.el b/lisp/startup.el index d9682eef4c8..48274830763 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -642,16 +642,13 @@ It is the default value of the variable `top-level'." (list (default-value 'user-full-name))) ;; If the PWD environment variable isn't accurate, delete it. (let ((pwd (getenv "PWD"))) - (and (stringp pwd) - ;; Use FOO/., so that if FOO is a symlink, file-attributes - ;; describes the directory linked to, not FOO itself. + (and pwd (or (and default-directory (ignore-errors (equal (file-attributes - (concat (file-name-as-directory pwd) ".")) + (file-name-as-directory pwd)) (file-attributes - (concat (file-name-as-directory default-directory) - "."))))) + (file-name-as-directory default-directory))))) (setq process-environment (delete (concat "PWD=" pwd) process-environment)))))