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





  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.