GNU bug report logs -
#49918
28.0.50; cd function expands CDPATH incorrectly
Previous Next
Reported by: Phil Hagelberg <phil <at> hagelb.org>
Date: Sat, 7 Aug 2021 01:19:01 UTC
Severity: normal
Found in version 28.0.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Phil Hagelberg <phil <at> hagelb.org> writes:
> When using the function `cd' with a relative path and the $CDPATH
> environment variable set, it will expand the value of $CDPATH once and
> save off that expansion for future use. This causes all calls with
> relative paths to fail when run from a different directory.
>
> This reproduces the problem using eshell, but the bug affects any caller
> of the `cd' function, not just eshell. However, it does not affect M-x
> cd, which will always use absolute paths.
>
> CDPATH=.:$HOME/src emacs -Q
> M-x eshell
> cd /
> cd tmp
> No such directory found via CDPATH environment variable: tmp
>
> This happens because of this snippet inside the `cd' function:
>
> (unless cd-path
> (setq cd-path (or (parse-colon-path (getenv "CDPATH"))
> (list "./"))))
Yup. Thanks for the detailed analysis.
This should now be fixed in Emacs 28.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 3 years and 345 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.