* bug#25578: [PATCH] Prompt default extension in dired-mark-extension
@ 2017-01-30 13:44 Chunyang Xu
2017-02-05 23:20 ` Juri Linkov
0 siblings, 1 reply; 4+ messages in thread
From: Chunyang Xu @ 2017-01-30 13:44 UTC (permalink / raw)
To: 25578
[-- Attachment #1: Type: text/plain, Size: 324 bytes --]
Hi.
I want 'M-x dired-mark-extension' (from dired-x) in Dired to use the
extension of the file at point as default extension, when it is
possible. Because, in this way, I usually no longer need to type the
extension manually, which saves some time for me–someone can't type
English words quickly and accurately.
[-- Attachment #2: 0001-Prompt-default-extension-in-dired-mark-extension.patch --]
[-- Type: text/plain, Size: 2546 bytes --]
From 21769fb5b92d19fbc428f8022d2aa3cc81a55db2 Mon Sep 17 00:00:00 2001
From: Chunyang Xu <mail@xuchunyang.me>
Date: Mon, 30 Jan 2017 21:10:37 +0800
Subject: [PATCH] Prompt default extension in dired-mark-extension
* lisp/dired-x.el (dired-mark-extension): Prompt default extension
base on extension of file at point.
Copyright-paperwork-exempt: yes
---
lisp/dired-x.el | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 86c95372c2..6c8fb0e7da 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -342,22 +342,29 @@ dired-mark-extension
Prefixed with one C-u, unmark files instead.
Prefixed with two C-u's, prompt for MARKER-CHAR and mark files with it."
(interactive
- (let ((suffix
- (read-string (format "%s extension: "
- (if (equal current-prefix-arg '(4))
- "UNmarking"
- "Marking"))))
- (marker
- (pcase current-prefix-arg
- ('(4) ?\s)
- ('(16)
- (let* ((dflt (char-to-string dired-marker-char))
- (input (read-string
- (format
- "Marker character to use (default %s): " dflt)
- nil nil dflt)))
- (aref input 0)))
- (_ dired-marker-char))))
+ (let* ((default
+ (let ((file (dired-get-filename nil t)))
+ (when file
+ (file-name-extension file))))
+ (suffix
+ (read-string (format "%s extension%s: "
+ (if (equal current-prefix-arg '(4))
+ "UNmarking"
+ "Marking")
+ (if default
+ (format " (default %s)" default)
+ "")) nil nil default))
+ (marker
+ (pcase current-prefix-arg
+ ('(4) ?\s)
+ ('(16)
+ (let* ((dflt (char-to-string dired-marker-char))
+ (input (read-string
+ (format
+ "Marker character to use (default %s): " dflt)
+ nil nil dflt)))
+ (aref input 0)))
+ (_ dired-marker-char))))
(list suffix marker)))
(or (listp extension)
(setq extension (list extension)))
--
2.11.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#25578: [PATCH] Prompt default extension in dired-mark-extension
2017-01-30 13:44 bug#25578: [PATCH] Prompt default extension in dired-mark-extension Chunyang Xu
@ 2017-02-05 23:20 ` Juri Linkov
2017-02-06 13:58 ` Tino Calancha
0 siblings, 1 reply; 4+ messages in thread
From: Juri Linkov @ 2017-02-05 23:20 UTC (permalink / raw)
To: Chunyang Xu; +Cc: 25578
> I want 'M-x dired-mark-extension' (from dired-x) in Dired to use the
> extension of the file at point as default extension, when it is
> possible. Because, in this way, I usually no longer need to type the
> extension manually, which saves some time for me–someone can't type
> English words quickly and accurately.
Thanks, I think your patch is a useful addition.
Also I'm using a similar feature for another Dired command
‘dired-mark-files-regexp’ that could provide similar defaults
based on the current file and its extension:
diff --git a/lisp/dired.el b/lisp/dired.el
index 2733372..7d7af0b 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3361,7 +3361,12 @@ (defun dired-mark-files-regexp (regexp &optional marker-char)
(interactive
(list (read-regexp (concat (if current-prefix-arg "Unmark" "Mark")
" files (regexp): ")
- nil 'dired-regexp-history)
+ (delq nil (list (dired-get-filename t t)
+ (and (dired-get-filename nil t)
+ (concat (regexp-quote (file-name-extension
+ (dired-get-filename nil t) t))
+ "\\'"))))
+ 'dired-regexp-history)
(if current-prefix-arg ?\040)))
(let ((dired-marker-char (or marker-char dired-marker-char)))
(dired-mark-if
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#25578: [PATCH] Prompt default extension in dired-mark-extension
2017-02-05 23:20 ` Juri Linkov
@ 2017-02-06 13:58 ` Tino Calancha
2017-02-27 22:45 ` Juri Linkov
0 siblings, 1 reply; 4+ messages in thread
From: Tino Calancha @ 2017-02-06 13:58 UTC (permalink / raw)
To: 25578; +Cc: Juri Linkov, Chunyang Xu, tino.calancha
Juri Linkov <juri@linkov.net> writes:
>> I want 'M-x dired-mark-extension' (from dired-x) in Dired to use the
>> extension of the file at point as default extension, when it is
>> possible. Because, in this way, I usually no longer need to type the
>> extension manually, which saves some time for me–someone can't type
>> English words quickly and accurately.
>
> Thanks, I think your patch is a useful addition.
I agree, it's a good default value.
>
> Also I'm using a similar feature for another Dired command
> ‘dired-mark-files-regexp’ that could provide similar defaults
> based on the current file and its extension:
That's also fine.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#25578: [PATCH] Prompt default extension in dired-mark-extension
2017-02-06 13:58 ` Tino Calancha
@ 2017-02-27 22:45 ` Juri Linkov
0 siblings, 0 replies; 4+ messages in thread
From: Juri Linkov @ 2017-02-27 22:45 UTC (permalink / raw)
To: Tino Calancha; +Cc: Chunyang Xu, 25578-done
>>> I want 'M-x dired-mark-extension' (from dired-x) in Dired to use the
>>> extension of the file at point as default extension, when it is
>>> possible. Because, in this way, I usually no longer need to type the
>>> extension manually, which saves some time for me–someone can't type
>>> English words quickly and accurately.
>>
>> Thanks, I think your patch is a useful addition.
> I agree, it's a good default value.
>>
>> Also I'm using a similar feature for another Dired command
>> ‘dired-mark-files-regexp’ that could provide similar defaults
>> based on the current file and its extension:
> That's also fine.
Thanks for your support. Done and done.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-02-27 22:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-30 13:44 bug#25578: [PATCH] Prompt default extension in dired-mark-extension Chunyang Xu
2017-02-05 23:20 ` Juri Linkov
2017-02-06 13:58 ` Tino Calancha
2017-02-27 22:45 ` Juri Linkov
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.