From: Ergus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 54459@debbugs.gnu.org
Subject: bug#54459: 29.0.50; Simplify connection-local variables (feature request)
Date: Sun, 20 Mar 2022 13:09:55 +0100 [thread overview]
Message-ID: <20220320120955.54fc67ohdot35aln@Ergus> (raw)
In-Reply-To: <87fsncdgw3.fsf@gmx.de>
On Sun, Mar 20, 2022 at 12:04:28PM +0100, Michael Albinus wrote:
>Ergus via "Bug reports for GNU Emacs, the Swiss army knife of text
>editors" <bug-gnu-emacs@gnu.org> writes:
>
>> Hi:
>
>Hi,
>
>> There are 3 issues that could be solved/improved:
>>
>> 1) If another buffer of a file in the same remote host is already open,
>> then when the function is called in that buffer for the first time it
>> will use the value cached in gtags--executable-connection. That's why in
>> the code I need to create a buffer local variable... Could we provide a
>> way to update all of them immediately?
>
>I don't understand the scenario, sorry. Could you pls explain it in detail?
>
Suppose:
C-x C-f /ssh:myhost:file1
C-x C-f /ssh:myhost:file2
(executable-find mycommand 1)
And here we set the connection local variable...
When we go to file1 if does not know about the variable in spite of it
is in the same host.
>> 2) There are functions to set connection-local profile variables
>> (connection-local-set-profile-variables) But so far there are not any
>> clean way to append variables to an existing profile; so a call to
>> connection-local-set-profile-variables deleted any previous variable,
>> actually the user is enforced to create a unique name for every profile
>> every time it needs something like this.
>
>--8<---------------cut here---------------start------------->8---
>(connection-local-set-profile-variables
> 'profile
> (append
> (connection-local-get-profile-variables 'profile)
> my-variables-list))
>--8<---------------cut here---------------end--------------->8---
>
Could you consider to add a snippet in the documentation explaining
this? Please?
>> 3) In the ideal world it may be possible to add an optional parameter to
>> tell executable-find to cache the found values per host and executable
>> name... so it could avoid the extra remote search... I understand this
>> shouldn't be enabled by default, but many packages may find it
>> useful. executable-find could be smart enough to remember some of the
>> previous searches at least in remote hosts.
>
>That's hard to do. A user could change the remote PATH while the result
>of executable-find is cached. Furthermore, Tramp appends the local part
>of the remote default-directory to the directory search list.
SO this means that the executable in default-directory are also
considered? Like on Windows? I was not aware of that...
>Therefore,
>executable-find could return a possibly wrong cached value.
>
>You could write your own function, using Tramp's cache mechanism, but at
>your own risk. Something like (untested)
>
>--8<---------------cut here---------------start------------->8---
>(defun my-executable-find (command &optional remote)
> (if (and remote (file-remote-p default-directory))
> (with-tramp-connection-property
> (tramp-get-process (tramp-dissect-file-name default-directory))
> (concat "executable-find-" command)
> (executable-find command remote))
> (executable-find command remote)))
>--8<---------------cut here---------------end--------------->8---
>
I was thinking in something like:
(executable-find command &optional remote cache) but basically the same idea.
But it was just a dream... A man can dream, a man can dream ;p
>Best regards, Michael.
Thanks,
Ergus
next prev parent reply other threads:[~2022-03-20 12:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87bky2zjzz.fsf.ref@aol.com>
2022-03-19 3:41 ` bug#54459: 29.0.50; Simplify connection-local variables (feature request) Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-20 11:04 ` Michael Albinus
2022-03-20 12:09 ` Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2022-03-20 18:17 ` Michael Albinus
2022-03-29 8:25 ` Michael Albinus
2022-03-29 12:01 ` Ergus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-29 13:11 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220320120955.54fc67ohdot35aln@Ergus \
--to=bug-gnu-emacs@gnu.org \
--cc=54459@debbugs.gnu.org \
--cc=michael.albinus@gmx.de \
--cc=spacibba@aol.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).