|
From: | José L . Doménech |
Subject: | bug#24620: 26.0.50; In dired: 'dired-do-compress-to' fails when filenames cotains space characters |
Date: | Fri, 28 Oct 2016 09:06:32 +0200 |
User-agent: | Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (Gojō) APEL/10.8 EasyPG/1.0.0 Emacs/26.0.50 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
On Fri, 28 Oct 2016 01:14:49 +0200, npostavs@users.sourceforge.net wrote: > > > That looks pretty good. I think it would be even nicer to use the > `format-spec' function instead of calling `replace-regexp-in-string' > twice. > > Here are the changes: --- dired-aux.orig.el 2016-10-27 15:50:50.428634418 +0200 +++ dired-aux.el 2016-10-28 09:01:08.413024427 +0200 @@ -1012,11 +1012,15 @@ (t (when (zerop (dired-shell-command - (replace-regexp-in-string - "%o" out-file - (replace-regexp-in-string - "%i" (mapconcat #'file-name-nondirectory in-files " ") - (cdr rule))))) + (format-spec + (cdr rule) + (list (cons ?o (shell-quote-argument out-file)) + (cons ?i + (mapconcat + (lambda (filename) + (shell-quote-argument + (file-name-nondirectory filename))) + in-files " ")))))) (message "Compressed %d file(s) to %s" (length in-files) (file-name-nondirectory out-file))))))) Diff finished. Fri Oct 28 09:01:25 2016
[Prev in Thread] | Current Thread | [Next in Thread] |