bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24394: 25.1.50; (find-file "/sudo::") ignores async-shell-command-bu


From: Tino Calancha
Subject: bug#24394: 25.1.50; (find-file "/sudo::") ignores async-shell-command-buffer settings
Date: Mon, 12 Sep 2016 21:21:10 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



Hi Michael,

thanks for your replay.

On Mon, 12 Sep 2016, Michael Albinus wrote:

Tino Calancha <tino.calancha@gmail.com> writes:

Hi Michael,

Hi Tino,

However, I'm kind of reluctant to fix this in
`tramp-handle-shell-command'. The respective code in `shell-command'
spans over ~40 lines, and I don't believe Tramp shall simply copy those
lines (and other details not handled in Tramp yet). It's even
questionable that Tramp shall offer an own handler for `shell-command'.
It might has sense to refactor that part into a new function (see
patch below).
The tramp could use this new function which just use the variable
`async-shell-command-buffer'.  Other things like

This could be done, of course. But it would add additional complexity to
simple.el, although a better solution could be implemented.

`shell-command-dont-erase-buffer'
can perfectly be ignored by tramp: they are still not well established.

Mid-term somebody else will write another bug report for this. If we're
going to fix this bug, it shall cover this aspect as well.
That's true.  Maybe even myself after 6 months :-)


The reason why Tramp does this is the use of `shell-file-name' and
`shell-command-switch'. They keep host local values, for remote
connections other values are needed. It is a long standing request, that
Tramp shall offer connection local variables, which carry different
values for different remote hosts. If we would have such a mechanism,
`shell-command' could use `process-file' and `start-file-process',
and
it
would not need to call a file name handler anymore.

And this error would go away.
That sounds like the ultimate solution.

Yes, I'd like to go this way.

A partial solution could be to allow running >1 async commands as root
in the local machine _only_.  Then, `shell-file-name' and
`shell-command-switch' are the same.
Sometimes i need to execute more than 1 process with root priviledges in
my local machine: i do this using several terminals.
Running all the processes inside Emacs would be nicer.

It would be impossible to explain why it is restricted to just this
use case. And people would blame us.
No, I would like to take the opportunity to introduce connection-local
variables. First it needs a proper API.
It's OK, i respect your opinion.  You are talking as the developer of the
code, it's normal you only want to looks perfect.  I would say the same
if i were coding in tramp.
In my case, i talk just as a simple tramp user: i would be _super_ happy if i could get your ultimate solution, but i would be _mild_ happy
if i could get at least the partial solution.

Regards,
Tino





reply via email to

[Prev in Thread] Current Thread [Next in Thread]