diff -u dired-aux.el dired-aux-mod.el --- dired-aux.el 2016-10-27 15:50:50.428634418 +0200 +++ dired-aux-mod.el 2016-10-27 15:49:07.075635431 +0200 @@ -974,10 +974,10 @@ ARGS are command switches passed to PROGRAM.") (defvar dired-compress-files-alist - '(("\\.tar\\.gz\\'" . "tar -c %i | gzip -c9 > %o") - ("\\.tar\\.bz2\\'" . "tar -c %i | bzip2 -c9 > %o") - ("\\.tar\\.xz\\'" . "tar -c %i | xz -c9 > %o") - ("\\.zip\\'" . "zip %o -r --filesync %i")) + '(("\\.tar\\.gz\\'" . "tar -c %i | gzip -c9 > '%o'") + ("\\.tar\\.bz2\\'" . "tar -c %i | bzip2 -c9 > '%o'") + ("\\.tar\\.xz\\'" . "tar -c %i | xz -c9 > '%o'") + ("\\.zip\\'" . "zip '%o' -r --filesync %i")) "Control the compression shell command for `dired-do-compress-to'. Each element is (REGEXP . CMD), where REGEXP is the name of the @@ -1015,7 +1015,9 @@ (replace-regexp-in-string "%o" out-file (replace-regexp-in-string - "%i" (mapconcat #'file-name-nondirectory in-files " ") + "%i" (mapconcat (lambda (file-desc) + (concat "'" + (file-name-nondirectory file-desc) "'")) in-files " ") (cdr rule))))) (message "Compressed %d file(s) to %s" (length in-files) Diff finished. Thu Oct 27 15:53:44 2016