On Fri, Nov 3, 2023 at 12:16 AM Eli Zaretskii 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.