all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Rudi C <rudiwillalwaysloveyou@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: larsi@gnus.org, emacs-devel@gnu.org, stefankangas@gmail.com,
	tsdh@gnu.org
Subject: Re: PR: dired-do-create-files now checks for trailing slashes in the target
Date: Tue, 9 Nov 2021 16:22:59 +0330	[thread overview]
Message-ID: <CAE9z9A1tvh=VAcSz-A5KA0eVH0aRvfbc5eswPzwhRmi=8sEiUQ@mail.gmail.com> (raw)
In-Reply-To: <83pmrik2r9.fsf@gnu.org>


[-- Attachment #1.1: Type: text/plain, Size: 1578 bytes --]

Okay, I have attached a new patch (no need for the previous patches).

PS: I inserted newlines into the docstring to make the lines shorter, but
this makes the docstring ugly to view (as it is essentially hardwrapping
based on an arbitrary column size that the user's screen will not share).

On Tue, Nov 2, 2021 at 6:45 PM Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Rudi C <rudiwillalwaysloveyou@gmail.com>
> > Date: Tue, 2 Nov 2021 18:38:08 +0330
> > Cc: Eli Zaretskii <eliz@gnu.org>, Tassilo Horn <tsdh@gnu.org>, Stefan
> Kangas <stefankangas@gmail.com>,
> >       emacs-devel@gnu.org
> >
> > +(defcustom dired-create-destination-dirs-trailing-separator-special nil
>
> This variable's name is a mouthful; please let's find a shorter name.
>
> > +  "If t, when selecting a single destination in Dired, paths that end
> in a path separator will be treated as a non-existent directory, and acted
> on according to `dired-create-destination-dirs'.
> > +
> > +This option is only relevant if `dired-create-destination-dirs' is not
> `nil', and you are moving/copying a single directory.
> > +
> > +For example, when renaming a directory named `old_name' to `new_name/'
> (note the trailing path separator), `new_name' might be created depending
> on `dired-create-destination-dirs' and `old_name' will be moved into it if
> it is created; Otherwise `old_name' will be directly renamed to `new_name'."
> > +  :type '(choice (const :tag "Do not treat paths with a trailing path
> separator specially" nil)
>
> These lines are too long; please divide them into shorter lines.
>

[-- Attachment #1.2: Type: text/html, Size: 2363 bytes --]

[-- Attachment #2: 0001-Added-dired-create-dirs-trailing-separator.patch --]
[-- Type: application/octet-stream, Size: 2294 bytes --]

From 3dfea8f43a45473138d9d3d9716658390957b494 Mon Sep 17 00:00:00 2001
From: NightMachinary <rudiwillalwaysloveyou@gmail.com>
Date: Tue, 9 Nov 2021 16:19:45 +0330
Subject: [PATCH] Added: dired-create-dirs-trailing-separator

---
 lisp/dired-aux.el | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index ef299b21fd..064d9eba8d 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1789,6 +1789,25 @@ If `ask', ask for user confirmation."
   :group 'dired
   :version "27.1")
 
+(defcustom dired-create-dirs-trailing-separator nil
+  "If t, when selecting a single destination in Dired,
+paths that end in a path separator will be treated as a non-existent directory,
+and acted on according to `dired-create-destination-dirs'.
+
+This option is only relevant if `dired-create-destination-dirs' is not `nil',
+and you are moving/copying a single directory.
+
+For example, when renaming a directory named `old_name' to `new_name/'
+(note the trailing path separator), `new_name' might be created depending on
+`dired-create-destination-dirs' and `old_name' will be moved into it
+if it is created; Otherwise `old_name' will be directly renamed to `new_name'."
+  :type '(choice
+          (const :tag
+                 "Do not treat paths with a trailing path separator specially" nil)
+          (const :tag "Treat paths with a trailing path separator specially" t))
+  :group 'dired
+  :version "28.1")
+
 (defun dired-maybe-create-dirs (dir)
   "Create DIR if doesn't exist according to `dired-create-destination-dirs'."
   (when (and dired-create-destination-dirs (not (file-exists-p dir)))
@@ -2157,7 +2176,12 @@ Optional arg HOW-TO determines how to treat the target.
 		     target-dir op-symbol arg rfn-list default))))
 	 (into-dir
           (progn
-            (unless dired-one-file (dired-maybe-create-dirs target))
+            (when
+                (or
+                 (not dired-one-file)
+                 (and dired-create-dirs-trailing-separator
+                      (directory-name-p target)))
+              (dired-maybe-create-dirs target))
             (cond ((null how-to)
 		   ;; Allow users to change the letter case of
 		   ;; a directory on a case-insensitive
-- 
2.33.1


  reply	other threads:[~2021-11-09 12:52 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28 17:50 PR: dired-do-create-files now checks for trailing slashes in the target Rudi C
2021-09-28 18:17 ` Stefan Kangas
2021-09-28 18:42   ` Rudi C
2021-09-28 19:03     ` Stefan Kangas
2021-09-28 19:38       ` Tassilo Horn
2021-09-28 20:07         ` Stefan Kangas
2021-09-28 20:23       ` Rudi C
2021-09-28 18:42   ` Eli Zaretskii
2021-09-28 19:29     ` Tassilo Horn
2021-09-28 19:55       ` Eli Zaretskii
2021-09-29  4:46         ` Tassilo Horn
2021-09-29 13:09           ` Eli Zaretskii
2021-09-29 13:20             ` Rudi C
2021-09-29 13:34               ` Eli Zaretskii
2021-09-29 13:37               ` Tassilo Horn
2021-09-29 13:42               ` Stefan Kangas
2021-09-29 13:53                 ` Tassilo Horn
2021-09-29 14:31                   ` Rudi C
2021-09-29 13:23             ` Tassilo Horn
2021-09-29 13:41               ` Eli Zaretskii
2021-09-29 13:42                 ` Tassilo Horn
2021-09-29 13:57                   ` Eli Zaretskii
2021-09-29 14:21                     ` Lars Ingebrigtsen
2021-09-29 15:04                       ` Stefan Kangas
2021-09-29 15:17                         ` Tassilo Horn
2021-09-30  6:06                           ` Lars Ingebrigtsen
2021-09-30  7:29                             ` Lars Ingebrigtsen
2021-09-30  8:32                             ` Tassilo Horn
2021-09-30 13:33                               ` Lars Ingebrigtsen
2021-09-30 14:10                                 ` Tassilo Horn
2021-09-30 16:03                                   ` Eli Zaretskii
2021-09-30 16:48                                     ` Tassilo Horn
2021-09-30 17:47                                       ` Eli Zaretskii
2021-09-30 18:52                                         ` Rudi C
2021-09-30 19:02                                           ` Eli Zaretskii
2021-11-01 15:37                                         ` Rudi C
2021-11-02 14:44                                           ` Lars Ingebrigtsen
2021-11-02 15:08                                             ` Rudi C
2021-11-02 15:15                                               ` Eli Zaretskii
2021-11-09 12:52                                                 ` Rudi C [this message]
2021-11-09 13:47                                                   ` Eli Zaretskii
2021-12-05 12:12                                                   ` Tassilo Horn
2021-12-05 13:26                                                     ` Rudi C
2021-12-05 17:00                                                       ` Tassilo Horn
2021-12-06  4:34                                                       ` Richard Stallman
2021-12-05 20:24                                                     ` Lars Ingebrigtsen
2021-12-06  6:01                                                       ` Tassilo Horn
2021-09-30 15:45                               ` [External] : " Drew Adams
2021-09-30 13:54                             ` Stefan Kangas
2021-09-30 13:59                               ` Lars Ingebrigtsen
2021-09-29 15:44                       ` Eli Zaretskii
2021-09-29 17:01                   ` [External] : " Drew Adams
2021-09-29 19:09                     ` Tassilo Horn
2021-09-29 19:35                       ` Drew Adams
2021-09-29 13:57               ` Stefan Kangas

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='CAE9z9A1tvh=VAcSz-A5KA0eVH0aRvfbc5eswPzwhRmi=8sEiUQ@mail.gmail.com' \
    --to=rudiwillalwaysloveyou@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    --cc=stefankangas@gmail.com \
    --cc=tsdh@gnu.org \
    /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.