GNU bug report logs - #57371
28.1; eshell cannot handle ~ notation in PATH variable

Previous Next

Package: emacs;

Reported by: Colton Lewis <coltonlewis <at> google.com>

Date: Tue, 23 Aug 2022 21:09:02 UTC

Severity: normal

Found in version 28.1

Done: Jakub Ječmínek <jecminek.k <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #13 received at 57371-done <at> debbugs.gnu.org (full text, mbox):

From: Jakub Ječmínek <jecminek.k <at> gmail.com>
To: 57371-done <at> debbugs.gnu.org
Subject: Re: bug#57371: 28.1; eshell cannot handle ~ notation in PATH variable
Date: Wed, 17 Jan 2024 23:02:52 +0100
tags 57371 notabug
thanks

Colton Lewis writes:

> Discovered while investigating the other bug I sent.
>
> 1. Create an executable ~/test-bin/test.sh
> 2. PATH="~/test-bin:$PATH" emacs -Q
> 3. Start eshell
> 4. test.sh
> 5. Observe no such file or directory error
>
> This can be worked around using PATH="$HOME/test-bin:$PATH" or using
> shell rather than eshell.

Jakub Ječmínek writes:

>> Hi Colton, what you're describing is not the bug in eshell but rather a bash feature; no other shell will perform expansion on literal
>> tilde in PATH (you can disable it in Bash using POSIXLY_CORRECT environment variable).  If you drop the quotes then it's going
>> to work as expected because the shell will expand the tilde to HOME before storing it in PATH:
>>
>> PATH=~/test-bin:$PATH emacs -Q
>>
>> Best,
>> Jakub Ječmínek




This bug report was last modified 1 year and 129 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.