Subject: Re: bug#14110: 24.3.50; Add command to open files outside of Emacs (use xdg-open, open etc)

From: Jambunathan K <[email-masked]>
Date: Thu, 04 Apr 2013 23:22:37 +0530

Stefan Monnier <[email-masked]> writes:

>> Leo suggests `dired-guess-shell-alist-user'.  COMMAND there is a sexp,
>> btw. So the above variable is also evil.
>
> Yes.  I also plead guilty of doing that a few times in the past.
> It's still evil.
>
>> There is one another reason why `dired-guess-shell-alist-user' will be
>> improper to be used for Open semantics.  IIRC, running a shell command
>> .tex file compiles it.  So equating shell command with open is
>> confusing, btw.
>
> I tend to agree, but:
> - I can't think of anything useful "open" could do with a .tex file
>   other than pass it back to Emacs (which you can already do better by
>   opening the file in Emacs without going through "open").
>   While this might not apply to all cases, I suspect that most cases are
>   like that.

`open-file' command (as I see it) will do what a "double click" in
Windows Explorer or Thunar will do.  Note that each popular
`system-type' already has a open command.

In Windows + MikTex, double-clicking on a .tex will open a specialized
viewer (IIRC, it is called yap).  

More importantly, `open-file' on a directory will launch Windows
explorer or Thunar or Nautilus.

> - That doesn't preclude using dired-guess-shell.  It might just mean
>   that we should have maybe an alist for "run command" and another alist
>   for "open command" (and maybe a third alist to share the many common
>   cases between the two).

Big NO for having an alist (within Emacs) for the open command.

The alist is already maintained by the user's desktop (likely via
Explore->`Open with' -> `Always use this application for these files').
Emacs should at no point in time have any knowledge of this association.

To accommodate other systems which are non-desktopy (DOS?), we can
enhance the shell-command history var to be a (cons FILE-EXTENSION
VIEWER).  This will be an exception rather than the norm.

>         Stefan