diff options
author | Chunyang Xu <mail@xuchunyang.me> | 2017-02-28 00:41:56 +0200 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2017-02-28 00:41:56 +0200 |
commit | 50a2ccd87ec6d1b275f3906cec4ccc28be05c589 (patch) | |
tree | 1761ab0d6df1d4e04113440e99437343de758fcb /lisp/dired-x.el | |
parent | 4daca38d5c673c5b6862e10cfade9559852cce12 (diff) | |
download | emacs-50a2ccd87ec6d1b275f3906cec4ccc28be05c589.tar.gz |
Prompt default extension in dired-mark-extension
* lisp/dired-x.el (dired-mark-extension): Prompt default extension
based on extension of file at point. (Bug#25578)
Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/dired-x.el')
-rw-r--r-- | lisp/dired-x.el | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 86c95372c25..6c8fb0e7dae 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -342,22 +342,29 @@ Interactively, ask for 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))) |