Subject: bug#53739: 28.0.91; "C-x d" fails when "emacs -Q" starts on NetBSD with plan9/bin on head of PATH

From: Van Ly <[email-masked]>
Date: Thu, 3 Feb 2022 13:00:13 +0000 (UTC)

On Thu, 3 Feb 2022, Eli Zaretskii wrote:

>
> I guess the version of 'ls' there is incompatible or something?  The
> message means that 'ls' exited with a non-zero status for some reason.
> Please investigate more what went wrong there and report here the
> details, so we could decide whether we want to support "plan9/bin"
> idiosyncrasies, whatever they are.  Stepping with Edebug through
> insert-directory should help  you understand what's going on.
>

I guess plan9/bin contains many commands identical in name to those 
GNU Emacs expects from POSIX but they have plan9's reinvention.

One fix is not to put plan9/bin on the head of PATH but at the tail 
and GNU Emacs will succeed at "C-x d" or dired.  Maybe a response 
like how "dired-use-ls-dired" is handled will point the user in the 
right direction.

> Also, please explain what you mean by "for the following interactive
> shells".

The interactive shell is either the shell given at login by setting 
as follows then logout, login

  > usermod -s /path/to/shell username

and that shell is listed for the username in  /etc/passwd

or I "exec /path/to/shell" to change the shell; I think
shell-file-name is set to the value listed in /etc/passwd.

I had the shells sh, zsh and rc running interactively at the command prompt.

>            How does the interactive shell enter this picture?

The interactive shell is the environment on the command line where I 
launch "emacs -Q".

                                                                And what
> is the value of shell-file-name in the session where "C-x d" fails?

Two examples of the value for shell-file-name in the session where 
"C-x d" fails are as follows:
'''
;; set shell to sh by usermod, logout and login
Its value is "/bin/sh"
Original value was "/usr/pkg/bin/zsh"

;; set shell to rc by usermod, logout and login
Its value is "/usr/local/plan9/bin/rc"
Original value was "/usr/pkg/bin/zsh"
'''

-- 
vl