[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tramp-shell-open doesn't work with rc shell
From: |
Jeff Mickey |
Subject: |
Re: tramp-shell-open doesn't work with rc shell |
Date: |
Fri, 20 Apr 2018 09:22:07 -0700 |
* Michael Albinus <address@hidden> [2018-04-20 09:35]:
Jeff Mickey <address@hidden> writes:
Hi Jeff,
In tramp-open-shell, there is this line:
(tramp-send-command vec (format (concat "exec env TERM='%s'
INSIDE_EMACS='%s,tramp:%s' " "ENV=%s %s PROMPT_COMMAND=''
PS1=%s PS2='' PS3='' %s %s") tramp-terminal-type emacs-version
tramp-version ; INSIDE_EMACS (or (getenv-internal "ENV"
tramp-remote-process-environment) "")
And this breaks rc shells, as the '=' sign appearing after an
initial command is an invalid syntax in this shell. The shell
may support this syntax in a while, but it does not currently
and has not since it was made.
I was thinking of trying to modify this to work on more shells
by moving the single quotes around the entire arguments, as
they are parsed by the env command anyways. So it'd look like
"exec env 'TERM=%s'..." instead.
Is that reasonable? Would this break something I don't
understand?
Thanks for this. I don't object if you provide a patch, could be
applied to Tramp if it passes the tests. The quoting of the
values is just because the underlying shell; any kind of
`tramp-shell-quote-argument' should work instead.
Any pointers on how to run the tests?
Pls add a comment in the patched tramp-sh.el why you do it this
way. Otherwise, it could be changed later on accidently. And pls
provide also a ChangeLog style explanation.
Will do - I may also add some sort of test to detect rc-style
quoting issues in general if I can figure it out.
ADAICS, you haven't signed the FSF legal papers yet. No problem,
w/o signing you could provide patches up to ~15 lines,
cumulative but w/o the ChangeLog entry. If you intend to provide
further patches to Emacs and/or Tramp, you might consider to
sign such papers.
More than happy to - let me know what I should do, I couldn't find
the papers online.
// mickey