| @@ -991,16 +991,17 @@ if arg is omitted use value of `buffer-list'." | |||
| (my-uncompress onefile) | |||
| (revert-buffer)) | |||
| (let* ((dir-default (dired-dwim-target-directory)) | |||
| (outfile-default (my-compress-file-extension (concat dir-default | |||
| (file-name-nondirectory (car infiles))))) | |||
| (outfile (if (interactive-p) | |||
| (read-file-name (format "Output file to compress (default for %s) : " | |||
| outfile-default) | |||
| (archive-default (my-compress-file-extension (file-name-nondirectory (car infiles)))) | |||
| (archive (if (interactive-p) | |||
| (read-file-name "Output file to compress : " ;; (format "Output file to compress (default for %s) : " | |||
| ;; archive-default) | |||
| dir-default | |||
| outfile-default) | |||
| outfile-default))) | |||
| nil ;; archive-default | |||
| nil | |||
| archive-default) | |||
| (concat dir-default archive-default)))) | |||
| (apply 'my-compress | |||
| outfile | |||
| archive | |||
| infiles) | |||
| (revert-buffer))) | |||
| (dired-unmark-all-marks))) | |||
| @@ -1036,32 +1037,32 @@ otherwise, return FILENAME with `my-compress-default-extension'" | |||
| ("txz" "tar" "cJf" "tar" "xJf") | |||
| ("zip" "zip" "-r" "unzip" nil))) | |||
| (defun my-uncompress (file) | |||
| (defun my-uncompress (archive) | |||
| "" | |||
| (interactive "fFile to extract: ") | |||
| (let* ((efile (expand-file-name file)) | |||
| (ext (file-name-extension efile)) | |||
| (interactive "fArchive to extract: ") | |||
| (let* ((earchive (expand-file-name archive)) | |||
| (ext (file-name-extension earchive)) | |||
| (lst (assoc ext | |||
| my-compress-program-alist)) | |||
| (com (nth 3 lst)) | |||
| (op (nth 4 lst)) | |||
| (args (if op | |||
| (list op efile) | |||
| (list efile)))) | |||
| (message "uncompressing %s..." file) | |||
| (list op earchive) | |||
| (list earchive)))) | |||
| (message "uncompressing %s..." archive) | |||
| (apply 'call-process | |||
| com | |||
| nil | |||
| (my-pop-to-buffer-erase-noselect "*compressing output*") | |||
| t | |||
| args) | |||
| (message "uncompressing %s...done." file))) | |||
| (message "uncompressing %s...done." archive))) | |||
| (defun my-compress (outfile &rest infiles) | |||
| "if outfile have extension for compress, use it. | |||
| (defun my-compress (archive &rest files) | |||
| "if archive have extension for compress, use it. | |||
| otherwise, use `my-compress-default-extension'. for compress." | |||
| (let* ((outfile-ext (my-compress-file-extension (expand-file-name outfile))) | |||
| (ext (file-name-extension outfile-ext)) | |||
| (let* ((archive-ext (my-compress-file-extension (expand-file-name archive))) | |||
| (ext (file-name-extension archive-ext)) | |||
| (lst (assoc ext | |||
| my-compress-program-alist)) | |||
| (com (nth 1 lst)) | |||
| @@ -1069,19 +1070,19 @@ otherwise, use `my-compress-default-extension'. for compress." | |||
| (args (if op | |||
| (apply 'list | |||
| op | |||
| outfile-ext | |||
| infiles) | |||
| archive-ext | |||
| files) | |||
| (apply 'list | |||
| outfile-ext | |||
| infiles)))) | |||
| (message "compressing to %s..." outfile) | |||
| archive-ext | |||
| files)))) | |||
| (message "compressing to %s..." archive) | |||
| (apply 'call-process | |||
| com | |||
| nil | |||
| (my-pop-to-buffer-erase-noselect "*compressing output*") | |||
| t | |||
| args) | |||
| (message "compressing to %s...done." outfile))) | |||
| (message "compressing to %s...done." archive))) | |||
| (defun my-pop-to-buffer-erase-noselect (buffer-or-name) | |||
| "pop up buffer using `display-buffer' and return that buffer." | |||