[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24518: 25.2.50; dired-mark-extension with prefix arg fails

From: Tino Calancha
Subject: bug#24518: 25.2.50; dired-mark-extension with prefix arg fails
Date: Fri, 23 Sep 2016 23:13:52 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)

emacs -Q ~ -eval "(require 'dired-x)"
C-u * . el RET
;; signal error:
Wrong type argument: char-or-string-p, (4)

Because the interactive specification read MARKER-CHAR using 'P'.
That would be sensical if prefix argument has the meaning of unmark
files.  That behaviour is found elsewhere in Dired, for instance,
`dired-mark-executables', `dired-mark-directories',

In following patch, `dired-mark-extension' with a prefix argument
unmark files:

From 8f24f389b19a700b6cf48c187273234ae889aae4 Mon Sep 17 00:00:00 2001
From: Tino Calancha <address@hidden>
Date: Fri, 23 Sep 2016 23:06:28 +0900
Subject: [PATCH] dired-mark-extension: With prefix arg unmark files

* lisp/dired-x.el (dired-mark-extension): When called interactively
with prefix argument, then unmark files (Bug#24518).
 lisp/dired-x.el | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 41c2256..834c0de 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -331,10 +331,13 @@ dired-extra-startup
 ;; Mark files with some extension.
 (defun dired-mark-extension (extension &optional marker-char)
   "Mark all files with a certain EXTENSION for use in later commands.
+A prefix argument means to unmark them instead.
 A `.' is *not* automatically prepended to the string entered.
 EXTENSION may also be a list of extensions instead of a single one.
 Optional MARKER-CHAR is marker to use."
-  (interactive "sMarking extension: \nP")
+  (interactive
+   (list (read-string "Marking extension: ")
+        (and current-prefix-arg ?\s)))
   (or (listp extension)
       (setq extension (list extension)))


In GNU Emacs (x86_64-pc-linux-gnu, GTK+ Version 3.22.0)
 of 2016-09-23
Repository revision: 65dc67c87553bec4c8b36432246b13f09d653118

reply via email to

[Prev in Thread] Current Thread [Next in Thread]