[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66903: 29.1; shell-mode directory tracking incorrectly handles doubl
From: |
Eshel Yaron |
Subject: |
bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes |
Date: |
Fri, 03 Nov 2023 09:35:26 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Allen Li <darkfeline@felesatra.moe>
>> Date: Fri, 3 Nov 2023 00:22:26 -0700
>> Cc: 66903@debbugs.gnu.org
>>
>> On Fri, Nov 3, 2023 at 12:16 AM Eli Zaretskii <eliz@gnu.org> wrote:
>>
>> "M-x shell" is not a shell, it is an Emacs interface to a shell.
>> Thus, it should be free to implement behavior not present in the
>> shell, if we consider it convenient for Emacs users.
>>
>> The behavior it is supposed to implement is that it tracks the working
>> directory of the shell.
>> Currently, it fails to do so for most shells that a user would use.
>> In fact, it fails to do so for the default value `/bin/bash`.
>>
>> > It looks like this should be fixed in `shell-cd` (which should also fix
>> > `shell-process-pushd`) by implementing "custom" path handling (compared
>> > to Emacs default path handling behavior).
>>
>> This is not a bug. I'm okay with adding a new optional feature that
>> would disable the above behavior, but it must be off by default.
>>
>> This is absolutely a bug. The feature, where shell-mode attempts to track
>> the working
>> directory of its subshell, fails to work for most shells in existence
>> (e.g., derivatives of POSIX sh, csh, zsh, etc.) and including the default
>> shell.
>>
>> I agree it may be an option, but I disagree that it should be off by
>> default, given that the
>> default configured shell Bash requires it.
>
> I think we disagree about what should be fixed: the value of
> default-directory or the directory to which "cd ~//bin" switches.
IIUC what you're implying here is that "cd ~//bin" should actually
switch the shell's current directory to /bin instead of ~/bin, is that
right?
I just wanted to note that this is not really an option with M-x shell,
because it is the shell, and not Emacs, that interprets "cd" and changes
directory. Emacs just tracks certain shell commands and tries to keep
the buffer's `default-directory` up to date with the shell's directory.
Best,
Eshel
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Allen Li, 2023/11/02
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eli Zaretskii, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Allen Li, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eli Zaretskii, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes,
Eshel Yaron <=
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eli Zaretskii, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eshel Yaron, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eli Zaretskii, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Stefan Kangas, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Visuwesh, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Allen Li, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eli Zaretskii, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Allen Li, 2023/11/03
- bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes, Eli Zaretskii, 2023/11/04