Subject: bug#66903: 29.1; shell-mode directory tracking incorrectly handles double slashes

From: Eli Zaretskii <[email-masked]>
Date: Fri, 03 Nov 2023 09:26:08 +0200

> From: Allen Li <[email-masked]>
> Date: Fri, 3 Nov 2023 00:22:26 -0700
> Cc: [email-masked]
> 
> On Fri, Nov 3, 2023 at 12:16 AM Eli Zaretskii <[email-masked]> 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.