[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: INSIDE_EMACS and Tramp
From: |
Michael Albinus |
Subject: |
Re: INSIDE_EMACS and Tramp |
Date: |
Sat, 04 Apr 2020 17:10:35 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Federico Tedin <address@hidden> writes:
> Hey Michael, some questions:
Hi Federico,
>> --8<---------------cut here---------------start------------->8---
>> (let ((default-directory "/ssh::"))
>> (shell-command-to-string "echo $INSIDE_EMACS"))
>> --8<---------------cut here---------------end--------------->8---
>>
>> you get "28.0.50,tramp:2.5.0-pre". But if you run in an eshell buffer
>
> Would it make sense to change this to "28.0.50,,tramp:2.5.0-pre"
> (notice the extra comma), or "28.0.50,shell,tramp:2.5.0-pre"?
> This way, the second element in the list will always be the shell
> type, and the optional third will be the Tramp version. Though I'm
> not sure if "shell" would correspond to "shell-command-to-string".
Tramp is the obvious victim, but I don't know whether it is the only
package which will be mentioned in combination with another package in
INSIDE_EMACS.
Furthermore, in eshell or any other package you don't see what Tramp
sets in the remote shell. I believe we need a mechanism where different
packages add their settings (it's not only "shell" related, epg or
compile say something different). And when this variable is set for a
process, there must be a way to use these cumulated settings inside of
just the value a single package want set.
In the local case, this cumulative setting might be just the package
name like "eshell".
>> --8<---------------cut here---------------start------------->8---
>> ~/src/emacs $ cd /ssh::
>> /ssh:detlef:/home/albinus $ *echo $INSIDE_EMACS
>> --8<---------------cut here---------------end--------------->8---
>>
>> you get "28.0.50,eshell". Tramp's setting is overwritten.
>>
>> Shouldn't the specifics be merged, so that we get
>> "28.0.50,eshell,tramp:2.5.0-pre"?
>>
>> Same for the other packages setting INSIDE_EMACS, like compile, comint,
>> term and epg.
>
> I could maybe start working on adding this for Eshell (now that I more
> or less know how it internally handles variables) if you think that
> makes sense.
First we shall agree a common mechanism. Something which works exactly
for eshel and Tramp isn't sufficient.
> - Fede
Best regards, Michael.