From: "Drew Adams" <drew.adams@oracle.com>
To: "'Stefan Monnier'" <monnier@iro.umontreal.ca>
Cc: 'Emacs-Devel' <emacs-devel@gnu.org>,
'Michael Albinus' <michael.albinus@gmx.de>,
'Jason Rumney' <jasonr@gnu.org>
Subject: RE: testing for a remote file to include file on a Windows mapped drive
Date: Mon, 21 Apr 2008 00:18:43 -0700 [thread overview]
Message-ID: <000101c8a37f$eeb543d0$0200a8c0@us.oracle.com> (raw)
In-Reply-To: <jwvr6d0yqkf.fsf-monnier+emacs@gnu.org>
> >> AFAIK, it's a difficult problem, and it's not very high up on the
> >> priority.
> > I see. Would it help for me to detail my use case more?
>
> Maybe. Try to phrase it in terms of the docstring of file-remote-p,
> either showing how the function's implementation falls short
> of its spec, or that the spec is not adequate for your use (maybe we
> need another function for that, or maybe the spec can be adjusted).
As you said, the purpose of file-remote-p is to determine, without the cost of a
remote access, whether a file name represents a remote file. The aim in using it
is to be able to know that a file is remote, so you might then avoid the cost of
accessing it.
* A file on a Windows mapped network drive is remote, in the sense of incurring
a performance penalty for access. `file-remote-p' should return non-nil for such
a file, but nil for a file on a Windows local drive. That is not the case now.
* `file-remote-p' does not handle some file-name cases handled by
`ffap-file-remote-p', or it handles them less efficiently. It should incorporate
the syntactic file-name matching that `ffap-file-remote-p' does.
Again, I can detail my use case, to show why this is important to me, if it will
help.
> >> > Assuming for the moment that there is no intention to do anything
> >> > about it, can someone at least weigh in on the code I sent
> >> > (which I'm still using)? Suggestions for improvement?
> > No?
>
> No idea what code you're talking about.
I sent it at least three times in this thread, including this morning. Again:
> (defun my-file-remote-p (file)
> "Non-nil means FILE is likely to name a file on a remote system.
> For MS Windows, this includes a file on a mapped network drive."
> (or (and (eq system-type 'windows-nt)
> (let ((case-fold-search t))
> (and (string-match "\\`\\([a-z]:\\)" file)
> (eq 0 (condition-case nil
> (call-process
> shell-file-name nil nil nil
> shell-command-switch
> (concat "NET USE "
> (match-string 1 file)))
> (error nil))))))
> (and (fboundp 'ffap-file-remote-p)
> (ffap-file-remote-p file))
> (file-remote-p file)))
FWIW, Michael Albinus tested that code against `file-remote-p' for one remote
file name. He came up with these times on a Ubuntu machine using Emacs 23.0.60
and Tramp 2.1.13 (so, without using the Windows NET USE part):
(elp-instrument-function 'icicle-file-remote-p)
(dotimes (i 1000)
(icicle-file-remote-p "/ssh:albinus@fencepost.gnu.org"))
(elp-results)
icicle-file-remote-p 1000 0.0111750000 1.117...e-05
(elp-instrument-function 'file-remote-p)
(dotimes (i 1000)
(file-remote-p "/ssh:albinus@fencepost.gnu.org"))
(elp-results)
file-remote-p 2004 1.4309400000 0.0007140419
So for at least some remote file names `ffap-file-remote-p' is quite a bit
faster than `file-remote-p' (`icicle-file-remote-p' here is what I called
`my-file-remote-p' above).
[Apologies, Michael, for quoting off-list mail; I assumed you wouldn't mind.]
> >> Maybe we should add to file-remote-p something equivalent to
> >> ffap-rfs-regexp.
>
> > I use ffap-file-remote-p only for matching the two regexps, not for
> > its returned string value. Why do you mention only
> > ffap-rfs-regexp and not also ffap-ftp-regexp?
>
> ffap-rfs-regexp seems to fall squarely in the domain of file-remote-p.
> ffap-ftp-regexp should already be handled by ange-ftp's definition of
> file-remote-p.
So if ffap-ftp-regexp is subsumed by an ange-ftp test, the question becomes
whether that ange-ftp test should be included in `file-remote-p'.
next prev parent reply other threads:[~2008-04-21 7:18 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-25 18:47 testing for a remote file to include file on a Windows mapped drive Drew Adams
2008-01-25 18:54 ` Drew Adams
2008-01-25 20:33 ` testing for a remote file to include file on a Windows mappeddrive Drew Adams
2008-01-25 22:18 ` Jason Rumney
2008-01-25 23:37 ` Drew Adams
2008-01-26 2:56 ` Stefan Monnier
2008-01-26 7:30 ` Drew Adams
2008-01-26 9:54 ` Eli Zaretskii
2008-01-26 11:29 ` Michael Albinus
2008-01-26 15:23 ` Jason Rumney
2008-01-26 16:55 ` Drew Adams
2008-01-26 19:24 ` Stefan Monnier
2008-01-26 22:15 ` Michael Albinus
2008-01-26 22:31 ` Eli Zaretskii
2008-01-27 11:18 ` Michael Albinus
2008-01-27 17:28 ` Eli Zaretskii
2008-01-27 18:22 ` Andreas Schwab
2008-01-27 19:04 ` Michael Albinus
2008-01-27 1:36 ` Drew Adams
2008-01-27 20:46 ` Stefan Monnier
2008-04-20 18:28 ` testing for a remote file to include file on a Windows mapped drive Drew Adams
2008-04-20 19:37 ` Stefan Monnier
2008-04-20 20:03 ` Lennart Borgman (gmail)
2008-04-20 20:28 ` Stefan Monnier
2008-04-20 21:13 ` Eli Zaretskii
2008-04-20 21:16 ` Lennart Borgman (gmail)
2008-04-20 21:31 ` Jason Rumney
2008-04-20 20:24 ` Drew Adams
2008-04-20 21:19 ` Eli Zaretskii
2008-04-20 22:20 ` Drew Adams
2008-04-20 21:21 ` Stefan Monnier
2008-04-20 22:20 ` Drew Adams
2008-04-21 0:59 ` Stefan Monnier
2008-04-21 7:18 ` Drew Adams [this message]
2008-04-21 7:28 ` Jason Rumney
2008-04-21 7:47 ` Drew Adams
2008-04-21 19:37 ` Eli Zaretskii
2008-04-21 22:11 ` Drew Adams
2008-04-22 3:36 ` Eli Zaretskii
2008-04-22 4:43 ` Drew Adams
2008-04-22 6:27 ` Eli Zaretskii
2008-04-22 14:09 ` testing for a remote file to include file on a Windowsmapped drive Drew Adams
2008-04-22 15:47 ` Eli Zaretskii
2008-04-21 17:08 ` testing for a remote file to include file on a Windows mapped drive Drew Adams
2008-04-21 7:46 ` Michael Albinus
2008-04-21 7:55 ` Drew Adams
2008-04-21 9:03 ` Michael Albinus
2008-04-21 8:57 ` Andreas Schwab
2008-04-21 9:11 ` Michael Albinus
2008-04-21 9:18 ` Andreas Schwab
2008-04-21 9:44 ` Michael Albinus
2008-04-21 9:59 ` Andreas Schwab
2008-04-21 14:36 ` Stefan Monnier
2008-04-21 17:09 ` Drew Adams
2008-04-21 17:45 ` Stefan Monnier
2008-04-21 18:52 ` Drew Adams
2008-04-21 19:21 ` Stefan Monnier
2008-04-21 22:39 ` Drew Adams
2008-04-21 14:33 ` Stefan Monnier
2008-04-21 15:13 ` Michael Albinus
2008-04-21 16:17 ` Stefan Monnier
2008-04-21 20:29 ` Michael Albinus
2008-04-22 2:48 ` Stefan Monnier
2008-04-21 19:35 ` Eli Zaretskii
2008-04-22 2:46 ` Stefan Monnier
2008-04-22 3:40 ` Eli Zaretskii
2008-04-22 5:46 ` Stefan Monnier
2008-04-22 6:50 ` Eli Zaretskii
2008-04-22 15:17 ` Michael Albinus
2008-04-29 7:50 ` Stefan Monnier
2008-04-29 18:15 ` Eli Zaretskii
2008-04-29 20:39 ` Stefan Monnier
2008-04-30 3:16 ` Eli Zaretskii
2008-04-30 4:26 ` Stefan Monnier
2008-04-30 6:23 ` Drew Adams
2008-04-30 7:34 ` Stefan Monnier
2008-04-30 13:57 ` Drew Adams
2008-05-05 15:33 ` Michael Albinus
2008-05-05 15:47 ` Drew Adams
2008-05-05 15:57 ` Michael Albinus
2008-05-05 16:12 ` Drew Adams
2008-05-05 18:31 ` Stefan Monnier
2008-05-05 15:20 ` Michael Albinus
2008-05-05 18:26 ` Stefan Monnier
2008-04-21 19:29 ` Eli Zaretskii
2008-04-22 15:40 ` Michael Albinus
2008-01-27 20:43 ` testing for a remote file to include file on a Windows mappeddrive Stefan Monnier
2008-01-29 15:46 ` Michael Albinus
2008-01-30 6:15 ` Richard Stallman
2008-01-30 7:43 ` Michael Albinus
2008-01-30 14:24 ` Stefan Monnier
2008-01-30 15:04 ` Michael Albinus
2008-01-30 15:48 ` Stefan Monnier
2008-01-30 16:04 ` Michael Albinus
2008-01-30 17:49 ` Stefan Monnier
2008-01-30 16:04 ` David Kastrup
2008-01-30 17:52 ` Stefan Monnier
2008-01-30 19:50 ` Michael Albinus
2008-01-30 21:33 ` Stefan Monnier
2008-01-31 9:07 ` Michael Albinus
2008-02-01 19:09 ` Stefan Monnier
2008-02-03 13:36 ` Michael Albinus
2008-02-04 21:55 ` Stefan Monnier
2008-02-05 15:52 ` Michael Albinus
2008-02-05 16:34 ` Stefan Monnier
2008-02-05 20:58 ` Michael Albinus
2008-02-05 22:21 ` Stefan Monnier
2008-02-05 22:32 ` Michael Albinus
2008-02-05 22:17 ` url-handler-file-remote-p (was: testing for a remote file to include file on a Windows mappeddrive) Michael Albinus
2008-02-06 14:44 ` url-handler-file-remote-p Stefan Monnier
2008-02-06 20:37 ` url-handler-file-remote-p Michael Albinus
2008-01-30 14:29 ` testing for a remote file to include file on a Windows mappeddrive Stefan Monnier
2008-01-30 14:45 ` Stefan Monnier
2008-01-31 1:05 ` Richard Stallman
2008-01-31 1:56 ` Stefan Monnier
2008-01-31 18:51 ` Richard Stallman
2008-01-26 15:15 ` Jason Rumney
2008-04-21 4:25 ` Eric Hanchrow
2008-04-21 7:58 ` Andreas Schwab
2008-04-21 8:15 ` testing for a remote file to include file on aWindows mappeddrive Drew Adams
2008-04-21 8:48 ` Andreas Schwab
2008-04-21 17:08 ` Drew Adams
2008-04-21 14:15 ` Stefan Monnier
2008-04-21 17:09 ` Drew Adams
2008-04-21 17:52 ` Stefan Monnier
2008-04-21 18:52 ` Drew Adams
2008-04-21 19:24 ` Stefan Monnier
2008-01-26 8:52 ` testing for a remote file to include file on a Windows mapped drive Eli Zaretskii
2008-01-25 22:11 ` Stefan Monnier
2008-01-26 8:50 ` Eli Zaretskii
2008-01-26 10:07 ` Eli Zaretskii
2008-01-26 16:55 ` Drew Adams
2008-01-26 17:26 ` Eli Zaretskii
2008-01-26 17:57 ` Drew Adams
2008-01-26 18:58 ` Eli Zaretskii
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='000101c8a37f$eeb543d0$0200a8c0@us.oracle.com' \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=jasonr@gnu.org \
--cc=michael.albinus@gmx.de \
--cc=monnier@iro.umontreal.ca \
/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.