GNU bug report logs - #47432
28.0.50; Dired using ! or & on file should fail without command supplied

Previous Next

Package: emacs;

Reported by: Jean Louis <bugs <at> gnu.support>

Date: Sat, 27 Mar 2021 07:14:01 UTC

Severity: wishlist

Tags: fixed

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 47432 <at> debbugs.gnu.org (full text, mbox):

From: Arthur Miller <arthur.miller <at> live.com>
To: Jean Louis <bugs <at> gnu.support>
Cc: 47432 <at> debbugs.gnu.org
Subject: Re: bug#47432: 28.0.50; Dired using ! or & on file should fail
 without command supplied
Date: Sat, 27 Mar 2021 14:59:40 +0100
Jean Louis <bugs <at> gnu.support> writes:

> * Arthur Miller <arthur.miller <at> live.com> [2021-03-27 10:52]:
>> Jean Louis <bugs <at> gnu.support> writes:
>> 
>> > In Dired, when using ! or & on a file, it should file if there is no
>> > command supplied.
>> >
>> > This is what happens if I use ! on file ~/.asoundrc but without
>> > supplying command, just pressing RET:
>> >
>> > /bin/bash: line 1: .asoundrc: command not found
>> >
>> > But it should not, if command is not supplied in:
>> > (dired-do-shell-command COMMAND &optional ARG FILE-LIST) -- then it
>> > shall rather silently fail or tell "Command not entered" or nothing to
>> > do.
>> 
>> Why is "Command not entered" to prefer to "Command not found"?
>
> It is meant as example, I leave those decisions to developers.
>
> Now I can see that ! and & without command are acting on the file as
> the file should be executed.
>
> Let us say I have Screenshot.pl executable file, if I run ! on it, the
> file is executed.

Ja. I guess there is a shebang on it so bash invoked perl interpreter
and executed the file.

> This means there was attempt to execute ~/.asoundrc -- I find that
> insecure and not logical.

Ja. Because you invoked a command that will execute a script on a
file. And since file wasn't executable it failed. So why is it insecured?

> And I do not understand it quite how it works. Was there an attempt to
> execute program with bash?

How you seen the docs? For example C-h k ! RET:

Signature
(dired-do-shell-command COMMAND &optional ARG FILE-LIST)

Documentation
Run a shell command COMMAND on the marked files.


> Why should there be attempt to execute non-executable files?

Because you asked it to by calling ! or & on a file in Dired.





This bug report was last modified 4 years and 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.