diff options
| author | Richard M. Stallman | 2013-05-11 09:14:07 -0400 |
|---|---|---|
| committer | Richard M. Stallman | 2013-05-11 09:14:07 -0400 |
| commit | 212e29f2e2b0df4ddc89de1208bef46625ae8ad4 (patch) | |
| tree | 1276940a647a8faf732600ce838ab110f6657ad8 | |
| parent | 6980b0cabf5c73581fc6a5a05f62457042050794 (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/epa.el | 39 |
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 @@ | |||
| 1 | 2013-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 | |||
| 1 | 2013-05-11 Leo Liu <sdl.web@gmail.com> | 6 | 2013-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)))))) |