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: Sun, 02 Feb 2014 21:33:18 -0500	[thread overview]
Message-ID: <jwvzjm9rl0j.fsf-monnier+emacsdiffs@gnu.org> (raw)
In-Reply-To: <83iosx4iid.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 02 Feb 2014 17:54:50 +0200")

> Btw, find-file-name-handler returns nil for file-exists-p when the
> file name specifies a compressed file, so I'm not sure what bothered
> you in the first place.

Ha!  Indeed, I had never noticed that `operations' property!
Then I guess the current code is OK (tho it's still kind of a hack).

>> And the reason we do that is because some file names are "normal" and
>> others refer to non-files according to some w32 feature which can map
>> them to some other tools.
> The reason is described in the comment: if the file name is not
> absolute and its name is not relative to the directory passed to the
> system API, the API will fail.

I'm having trouble understanding the above: can you give an example of
a file which is neither absolute nor relative to the directory passed
to the system API?

>> I don't know that w32 feature at all, so it's hard for me to figure out
>> what should be done, but it seems like file-exists-p is not the right
>> thing to do anyway since the file name might be "normal" but refer to
>> a file that doesn't exist yet.
> Yes, that might happen, but then the file will be created in a
> directory other than what the user expects it to, perhaps.

So it would be a problem, right?

Maybe instead of Ffile_exists_p a better option is to use a w32 system
call along the lines of faccess or stat (after all, this presumed file
name will be passed to the OS rather than to Emacs functions, so it
shouldn't pay attention to file-name-handlers and things like that,
right?).
And to deal with "not yet created files" we shouldn't check the file
itself but its directory.

>> So, how does w32 decide whether a file name is "normal" or not?
> We cannot know: it's up to the application that is associated with
> DOCUMENT and OPERATION.

So we don't actually know if the string we have is really a file name,
and Ffile_exists_p is used to try and guess whether that's the case
(because we need to adjust it somehow if that's the case)?


        Stefan



  reply	other threads:[~2014-02-03  2:33 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 [this message]
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
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=jwvzjm9rl0j.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).