From: Michael Albinus <michael.albinus@gmx.de>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: emacs-devel@gnu.org
Subject: Re: emacs-27 b46c75b: xref-matches-in-files: Big Tramp speed-up
Date: Wed, 08 Jan 2020 15:13:25 +0100 [thread overview]
Message-ID: <87muayhw8q.fsf@gmx.de> (raw)
In-Reply-To: <6255626b-0422-c1d2-af66-5cbd0f496719@yandex.ru> (Dmitry Gutov's message of "Wed, 8 Jan 2020 16:52:21 +0300")
Dmitry Gutov <dgutov@yandex.ru> writes:
> Hi Michael,
Hi Dmitry,
> Looks like a good change, functionality-wise. But speaking of the
> change below, I'll probably make it, but upon reading the code anybody
> would struggle to guess that this function can handle other local
> names, not just Tramp ones.
Yes. I made this change because I need it Tramp internal. No tramp-*
function is intended to be called outside Tramp itself except the ones
in the Tramp manual. By intention, I haven't documented it there, and I
have given it also a comment NOT to use it outside Tramp. You're the
only one so far I gave permission :-)
>>> + (setq files (mapcar
>>> + (if (tramp-tramp-file-p dir)
>>> + #'tramp-file-local-name
>>> + #'file-local-name)
>>> + files)))
>> You can change this now to
>> (setq files (mapcar #'tramp-file-local-name files))
>
> This will shorten the code, and it'll require one fewer
> declare-function in the file.
And it avoids one tramp-tramp-file-p call.
> But allow me to state for the record once more that I'm puzzled by the
> architectural choice we're working with here.
I know that. Tramp follows the generic file name handler approach, as
described in (info "(elisp) Magic File Names") . This works fine for
single files, but might not be appropriate for filesets, as you happen
to be faced with. Maybe we need an architectural extension for a file
name handler of filesets. Or we add new magic operations, which work
over a fileset. Like vc operations do :-)
Best regards, Michael.
next prev parent reply other threads:[~2020-01-08 14:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20200107133628.1996.14412@vcs0.savannah.gnu.org>
[not found] ` <20200107133629.2E736211A5@vcs0.savannah.gnu.org>
[not found] ` <87y2uiiakq.fsf@gmx.de>
2020-01-08 13:52 ` emacs-27 b46c75b: xref-matches-in-files: Big Tramp speed-up Dmitry Gutov
2020-01-08 14:13 ` Michael Albinus [this message]
2020-01-08 14:56 ` Stefan Monnier
2020-01-08 15:13 ` Michael Albinus
2020-01-08 16:25 ` Stefan Monnier
2020-01-08 16:40 ` Michael Albinus
2020-01-08 18:56 ` Stefan Monnier
2020-01-08 20:10 ` Michael Albinus
2020-01-08 20:51 ` Stefan Monnier
2020-01-08 23:42 ` Dmitry Gutov
2020-01-13 9:50 ` Philippe Vaucher
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87muayhw8q.fsf@gmx.de \
--to=michael.albinus@gmx.de \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.