[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#70012: shell-resync-dirs broken on windows
From: |
Sam Steingold |
Subject: |
bug#70012: shell-resync-dirs broken on windows |
Date: |
Fri, 29 Mar 2024 10:54:10 -0400 |
On Fri, 29 Mar 2024 at 09:14, Eli Zaretskii <eliz@gnu.org> wrote:
> > finally, the following patch fixes the bug for me:
> >
> > --- shell.el~ 2024-03-06 12:13:15.134281800 -0500
> > +++ shell.el 2024-03-28 11:50:32.920026000 -0400
> > @@ -711,6 +711,7 @@
> > ((string-equal shell "ksh") "echo $PWD ~-")
> > ;; Bypass any aliases. TODO all shells could use this.
> > ((string-equal shell "bash") "command dirs")
> > + ((string-equal shell "bash.exe") "command pwd -W")
> > ((string-equal shell "zsh") "dirs -l")
> > (t "dirs")))
> > ;; Bypass a bug in certain versions of bash.
> >
> > may I push it?
>
> That's not really TRT, because it assumes every bash.exe is an MSYS
> program (which might not be true: there's a Cygwin Bash, for example).
I am pretty sure they are compatible in this way.
> And we don't need to make such assumptions:
>
> (w32-application-type (executable-find "bash.exe"))
> => msys
>
> I'm okay with installing the fix after you change it to use
> w32-application-type (and verifying that it works in your case, of
> course: I don't have MSYS2 Bash installed).
done.
> > Incidentally, why do you use `dirs` instead of `pwd` there?
> > you use only the last dir anyway.
>
> I don't know, I'm not familiar with shell.el well enough. Just by
> looking at the code, shell-resync-dirs does need to know all the
> stack, so it could refresh the value of shell-dirstack, no?
nope.
`pwd` is already used for sh and ksh.
only the last line of `dirs` output is ever used.