Subject: Re: bug#18132: Time for a smarter dired-guess-shell-alist-default? (dired-x.el)

From: Juri Linkov <[email-masked]>
Date: Fri, 24 Nov 2023 09:51:54 +0200

>> > Then its possible options for such hook could include:
>> >
>> > - xdg-open-function
>> > - mailcap-function that adds mailcap candidates
>> > - dired-x-guess that adds existing dired-guess-shell-alist-default
>> > - Windows-specific candidates from w32-shell-execute
>> > - etc.
>>
>> Here is the implementation:
>
> Thanks, but please don't put this stuff in simple.el.  There's no
> reason to have this preloaded in Emacs.

I can't find other place to put these 50 lines.  I added to simple.el
near read-shell-command because it's used by read-shell-command.

If you want this could be moved to dired-aux.el and placed
near dired-guess-shell-command.  But would it be quite inappropriate
since shell-command-guess is a more general feature?

> And let's try to implement this in a way that won't load mailcap, xdg,
> dired, and dired-aux whenever shell-command is invoked.

It already doesn't load mailcap, xdg, dired, and dired-aux
when shell-command is invoked.  It loads these files only
when the user needs to use them and types 'M-n' twice in the
minibuffer of read-shell-command ('M-!' and 'M-&').

Also shell-command-guess is used by dired-read-shell-command
('!' and '&' on a file in dired).