From dd41a63a5d0f808729aac8d1e8fd69be20dbb291 Mon Sep 17 00:00:00 2001 From: 10sr Date: Sat, 24 Sep 2011 14:51:30 +0900 Subject: [PATCH] .emacs: bug fixes around my-compress --- .emacs | 53 +++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/.emacs b/.emacs index 631086c..71dba5c 100644 --- a/.emacs +++ b/.emacs @@ -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."