all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.



  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.