[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: |
Michael Albinus |
Subject: |
bug#24394: 25.1.50; (find-file "/sudo::") ignores async-shell-command-buffer settings |
Date: |
Mon, 12 Sep 2016 12:07:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
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.
>> 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.
Best regards, Michael.