unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] trunk r116230: Fix bug #16558 with	w32-shell-execute on remote file names.
Date: Wed, 05 Feb 2014 09:10:46 -0500	[thread overview]
Message-ID: <jwvzjm5fyg8.fsf-monnier+emacsdiffs@gnu.org> (raw)
In-Reply-To: <83r47i1acs.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 05 Feb 2014 05:56:03 +0200")

>> (if (file-name-absolute-p file) <use file>
>> (let ((dir (file-name-directory file)))
>> (if (null dir) <use file>
>> (if (faccess dir) <use (expand-file-name file)>
>> <use file>))))
> Yes, except that the primitives you use here only work on file names,
> and might go bananas when presented with something else, e.g. a URL.

AFAIK all magic file-name handlers will do something reasonable with
the above (file-name-absolute-p file) and (file-name-directory file).

But we could also let-bind file-name-handlers-alist to nil around those
calls (or use lower level code which does something similar).  We don't
need to call the Elisp primitives since we really only care about the
system-level's notion of absolute file name and file name separator.

> So using the above does not solve the basic problem, which is: do we
> have a file name on our hands or something else?  The faccess test is
> the only thing that provides us with some assurance.

The difference I suggest is:
- we don't check file-name-handlers
- we only check (faccess dir) rather than (faccess file), and only if
  there's a "dir".
- we don't bother with any of it if the file is already absolute.


        Stefan



  reply	other threads:[~2014-02-05 14:10 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1W9Wnn-0004N6-IY@vcs.savannah.gnu.org>
2014-02-01 19:26 ` [Emacs-diffs] trunk r116230: Fix bug #16558 with w32-shell-execute on remote file names Stefan Monnier
2014-02-01 19:58   ` Eli Zaretskii
2014-02-02  0:44     ` Stefan Monnier
2014-02-02  3:43       ` Eli Zaretskii
2014-02-02 15:06         ` Stefan Monnier
2014-02-02 15:54           ` Eli Zaretskii
2014-02-03  2:33             ` Stefan Monnier
2014-02-03  4:12               ` David Kastrup
2014-02-03  5:57                 ` Eli Zaretskii
2014-02-03  5:55               ` Eli Zaretskii
2014-02-03 14:06                 ` Stefan Monnier
2014-02-03 16:17                   ` Eli Zaretskii
2014-02-04  3:39                     ` Stefan Monnier
2014-02-04 16:31                       ` Eli Zaretskii
2014-02-04 20:35                         ` Stefan Monnier
2014-02-04 21:01                           ` Eli Zaretskii
2014-02-05  2:38                             ` Stefan Monnier
2014-02-05  3:56                               ` Eli Zaretskii
2014-02-05 14:10                                 ` Stefan Monnier [this message]
2014-02-05 16:07                                   ` Eli Zaretskii
2014-02-05 19:09                                     ` Stefan Monnier
2014-02-05 19:56                                       ` Eli Zaretskii
2014-02-05 21:53                                         ` Stefan Monnier
2014-02-06 11:47                                           ` Eli Zaretskii
2014-02-02  7:45       ` Stefan-W. Hahn
2014-02-05 17:21 grischka
2014-02-05 17:29 ` 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

  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=jwvzjm5fyg8.fsf-monnier+emacsdiffs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=eliz@gnu.org \
    --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 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).