From: Drew Adams <drew.adams@oracle.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 30938@debbugs.gnu.org, juri@linkov.net
Subject: bug#30938: 27.0; `dired-do-create-files' etc.: do NOT always raise error if no files
Date: Fri, 30 Mar 2018 10:12:13 -0700 (PDT) [thread overview]
Message-ID: <9b80ae9e-06e3-4217-89b1-eb8a3b0c93b8@default> (raw)
In-Reply-To: <<83in9d8s4b.fsf@gnu.org>>
> I might agree that it's a bug if I understand it. But since you
> refuse to explain it, I guess I never will.
Maybe this will help (but I doubt it) -
1. Existing Dired+ command (updated to accommodate this bug by
adding INTERACTIVEP and passing that to `dired-get-marked-files'):
(defun diredp-insert-subdirs (&optional switches interactivep)
"Insert the marked subdirectories.
Like using \\<dired-mode-map>`\\[dired-maybe-insert-subdir]' at \
each marked directory line."
(interactive
(list (and current-prefix-arg
(read-string
"Switches for listing: "
(or dired-subdir-switches dired-actual-switches)))
t))
(dolist (subdir
(dired-get-marked-files
nil nil
(lambda (fl)
(and (file-directory-p fl)
(not (diredp-string-match-p "/[.][.]?\\'" fl))))
nil
interactivep))
(dired-maybe-insert-subdir subdir switches)))
Imaginary function that uses that command as a utility:
(defun insert-marked-subdirs-and-do-stuff ()
(DO-STUFF)
(diredp-insert-subdirs)
(DO-OTHER-STUFF))
If you assume that the insertion of marked subdirs is
not a requirement for the main behavior of this function,
e.g., that it acts on any that get inserted but it doesn't
_require_ any such insertions to do its job in general,
then without some change as proposed this function can
end in error without ever trying to DO-OTHER-STUFF.
I'm arguing that similar considerations can apply to
other existing commands.
Whether each such case is actually problematic is not
so important (IMO). The point is for individual such
commands to, a priori, treat the non-interactive case
separately.
A non-interactive use case for an arbitrary command that
calls ` dired-get-marked-files' does not necessarily
have `user-error' as the right behavior for an empty set
of marked files. That's all I'm saying.
next prev parent reply other threads:[~2018-03-30 17:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-25 16:36 bug#30938: 27.0; `dired-do-create-files' etc.: do NOT always raise error if no files Drew Adams
2018-03-25 16:45 ` Drew Adams
2018-03-28 20:27 ` Juri Linkov
2018-03-28 23:45 ` Drew Adams
2018-03-29 20:04 ` Juri Linkov
2018-03-29 20:25 ` Noam Postavsky
2018-03-30 4:01 ` Drew Adams
2018-03-30 4:01 ` Drew Adams
2018-03-30 7:57 ` Eli Zaretskii
2018-04-02 19:30 ` Juri Linkov
2022-04-21 13:20 ` Lars Ingebrigtsen
2022-04-21 15:01 ` Drew Adams
[not found] ` <<8111e8b0-a7fb-4de4-9371-fd69c74c46e5@default>
[not found] ` <<83lgeac7xs.fsf@gnu.org>
2018-03-30 15:01 ` Drew Adams
2018-03-30 15:30 ` Eli Zaretskii
[not found] ` <<<8111e8b0-a7fb-4de4-9371-fd69c74c46e5@default>
[not found] ` <<<83lgeac7xs.fsf@gnu.org>
[not found] ` <<ea1c9d9f-2405-4377-bd42-de7f020cf9d4@default>
[not found] ` <<83k1tt8ttp.fsf@gnu.org>
2018-03-30 15:43 ` Drew Adams
2018-03-30 16:07 ` Eli Zaretskii
[not found] ` <<<<8111e8b0-a7fb-4de4-9371-fd69c74c46e5@default>
[not found] ` <<<<83lgeac7xs.fsf@gnu.org>
[not found] ` <<<ea1c9d9f-2405-4377-bd42-de7f020cf9d4@default>
[not found] ` <<<83k1tt8ttp.fsf@gnu.org>
[not found] ` <<ceb6e79f-5f03-45a5-a7a4-5fe954661d5d@default>
[not found] ` <<83in9d8s4b.fsf@gnu.org>
2018-03-30 17:12 ` Drew Adams [this message]
2018-03-31 9:07 ` Eli Zaretskii
[not found] ` <<<<<8111e8b0-a7fb-4de4-9371-fd69c74c46e5@default>
[not found] ` <<<<<83lgeac7xs.fsf@gnu.org>
[not found] ` <<<<ea1c9d9f-2405-4377-bd42-de7f020cf9d4@default>
[not found] ` <<<<83k1tt8ttp.fsf@gnu.org>
[not found] ` <<<ceb6e79f-5f03-45a5-a7a4-5fe954661d5d@default>
[not found] ` <<<83in9d8s4b.fsf@gnu.org>
[not found] ` <<9b80ae9e-06e3-4217-89b1-eb8a3b0c93b8@default>
[not found] ` <<838ta88vfz.fsf@gnu.org>
2018-03-31 16:10 ` Drew Adams
2018-03-31 16:50 ` Eli Zaretskii
2018-03-25 16:50 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9b80ae9e-06e3-4217-89b1-eb8a3b0c93b8@default \
--to=drew.adams@oracle.com \
--cc=30938@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=juri@linkov.net \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.