Allow using /dev/stdin as a --script parameter again

* lisp/startup.el (command-line-1): Fix breakage with
(file-truename "/dev/stdin") => "/proc/227795/fd/pipe:[1381505]"
when using /dev/stdin as a --script parameter.
This commit is contained in:
Lars Ingebrigtsen 2021-11-12 04:21:56 +01:00
parent df2438d369
commit cd35c1c7cf

View file

@ -2526,7 +2526,15 @@ nil default-directory" name)
(let* ((file (command-line-normalize-file-name
(or argval (pop command-line-args-left))))
;; Take file from default dir.
(file-ex (file-truename (expand-file-name file))))
(file-ex (expand-file-name file))
(truename (file-truename file-ex)))
;; We want to use the truename here if we can,
;; because that makes `eval-after-load' work
;; more reliably. But If the file is, for
;; instance, /dev/stdin, the truename doesn't
;; actually exist on some systems.
(when (file-exists-p truename)
(setq file-ex truename))
(load file-ex nil t t)))
((equal argi "-insert")