aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2013-05-11 09:14:07 -0400
committerRichard M. Stallman2013-05-11 09:14:07 -0400
commit212e29f2e2b0df4ddc89de1208bef46625ae8ad4 (patch)
tree1276940a647a8faf732600ce838ab110f6657ad8
parent6980b0cabf5c73581fc6a5a05f62457042050794 (diff)
downloademacs-212e29f2e2b0df4ddc89de1208bef46625ae8ad4.tar.gz
emacs-212e29f2e2b0df4ddc89de1208bef46625ae8ad4.zip
* epa.el (epa-decrypt-file): Take output file name as argument
and read it using `interactive'.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/epa.el39
2 files changed, 26 insertions, 18 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 378df9359cb..6fdcb1e143b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-05-11 Richard Stallman <rms@gnu.org>
2
3 * epa.el (epa-decrypt-file): Take output file name as argument
4 and read it using `interactive'.
5
12013-05-11 Leo Liu <sdl.web@gmail.com> 62013-05-11 Leo Liu <sdl.web@gmail.com>
2 7
3 * progmodes/octave.el (octave-beginning-of-line) 8 * progmodes/octave.el (octave-beginning-of-line)
diff --git a/lisp/epa.el b/lisp/epa.el
index 852d10b1cf7..b567df5f40b 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -621,30 +621,33 @@ If SECRET is non-nil, list secret keys instead of public keys."
621 (message "%s..." prompt)))) 621 (message "%s..." prompt))))
622 622
623;;;###autoload 623;;;###autoload
624(defun epa-decrypt-file (file) 624(defun epa-decrypt-file (decrypt-file plain-file)
625 "Decrypt FILE." 625 "Decrypt DECRYPT-FILE into PLAIN-FILE."
626 (interactive "fFile: ") 626 (interactive
627 (setq file (expand-file-name file)) 627 (let (file default-name plain)
628 (let* ((default-name (file-name-sans-extension file)) 628 (setq file (read-file-name "File to decrypt: "))
629 (plain (expand-file-name 629 (setq default-name (file-name-sans-extension (expand-file-name file)))
630 (read-file-name 630 (setq plain (expand-file-name
631 (concat "To file (default " 631 (read-file-name
632 (file-name-nondirectory default-name) 632 (concat "To file (default "
633 ") ") 633 (file-name-nondirectory default-name)
634 (file-name-directory default-name) 634 ") ")
635 default-name))) 635 (file-name-directory default-name)
636 (context (epg-make-context epa-protocol))) 636 default-name)))
637 (list file plain)))
638 (setq decrypt-file (expand-file-name decrypt-file))
639 (let ((context (epg-make-context epa-protocol)))
637 (epg-context-set-passphrase-callback context 640 (epg-context-set-passphrase-callback context
638 #'epa-passphrase-callback-function) 641 #'epa-passphrase-callback-function)
639 (epg-context-set-progress-callback context 642 (epg-context-set-progress-callback context
640 (cons 643 (cons
641 #'epa-progress-callback-function 644 #'epa-progress-callback-function
642 (format "Decrypting %s..." 645 (format "Decrypting %s..."
643 (file-name-nondirectory file)))) 646 (file-name-nondirectory decrypt-file))))
644 (message "Decrypting %s..." (file-name-nondirectory file)) 647 (message "Decrypting %s..." (file-name-nondirectory decrypt-file))
645 (epg-decrypt-file context file plain) 648 (epg-decrypt-file context decrypt-file plain-file)
646 (message "Decrypting %s...wrote %s" (file-name-nondirectory file) 649 (message "Decrypting %s...wrote %s" (file-name-nondirectory decrypt-file)
647 (file-name-nondirectory plain)) 650 (file-name-nondirectory plain-file))
648 (if (epg-context-result-for context 'verify) 651 (if (epg-context-result-for context 'verify)
649 (epa-display-info (epg-verify-result-to-string 652 (epa-display-info (epg-verify-result-to-string
650 (epg-context-result-for context 'verify)))))) 653 (epg-context-result-for context 'verify))))))