[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] trunk r116230: Fix bug #16558 with w32-shell-execute o

From: Eli Zaretskii
Subject: Re: [Emacs-diffs] trunk r116230: Fix bug #16558 with w32-shell-execute on remote file names.
Date: Tue, 04 Feb 2014 18:31:24 +0200

> From: Stefan Monnier <address@hidden>
> Cc: address@hidden
> Date: Mon, 03 Feb 2014 22:39:30 -0500
> >> I guess the question for me now is "why call Fexpand_file_name"?
> [...]
> >> But I don't know which problem it was trying to solve.
> > The problem happened when using a function in shr.el that no longer
> > exists.  To recreate that, I'd need to restore that function and trace
> > through that.  The result I do remember: w32-shell-execute failed
> > because DOCUMENT was a non-absolute file name, but not in the
> > directory where the function expected it to be.
> So maybe the simplest solution is to remove this call to
> expand-file-name.

Not sure which problem needs a solution here, but in any case,
removing the expand-file-name call will get us back the original bug,
described below.

The problem that led me to introduce this call is that this succeeds:

  (w32-shell-execute "open" "file")

but this fails:

  (w32-shell-execute "open" "dir/file")

IOW, the DOCUMENT arg must either be an absolute file name, or live
inside default-directory, not in one of its subdirectories.  It cannot
be a relative file name that includes leading directories.

> I suspect that if expand-file-name is needed it can always be called
> before entering w32-shell-execute.

That would be unusual: Emacs primitives generally expand their
file-name arguments internally, they don't require that their callers
do that.  Why should this primitive be different?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]