aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2013-06-09 17:32:49 -0700
committerGlenn Morris2013-06-09 17:32:49 -0700
commitff4871b986a082a4b21867827e460c50bfa0cb09 (patch)
tree47a68819706e8e7bf2da9e9a861b1ca20887b914
parentad257d4f6c67ff216a1944acde6e9cf740922ae8 (diff)
downloademacs-ff4871b986a082a4b21867827e460c50bfa0cb09.tar.gz
emacs-ff4871b986a082a4b21867827e460c50bfa0cb09.zip
* lisp/epa.el (epa-read-file-name): New function.
(epa-decrypt-file): Make plain-file optional. Use epa-read-file-name. * doc/misc/epa.texi (Cryptographic operations on files): Update epa-decrypt-file. Fixes: debbugs:14510
-rw-r--r--doc/misc/ChangeLog4
-rw-r--r--doc/misc/epa.texi5
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/epa.el27
4 files changed, 27 insertions, 14 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index bcd3fe78ae8..ce2852e90f8 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
12013-06-10 Glenn Morris <rgm@gnu.org>
2
3 * epa.texi (Cryptographic operations on files): Update epa-decrypt-file.
4
12013-06-04 Katsumi Yamaoka <yamaoka@jpl.org> 52013-06-04 Katsumi Yamaoka <yamaoka@jpl.org>
2 6
3 * gnus.texi (Article Date): 7 * gnus.texi (Article Date):
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi
index e21851ef37a..adc63cc0bdb 100644
--- a/doc/misc/epa.texi
+++ b/doc/misc/epa.texi
@@ -240,8 +240,9 @@ you answered yes, it will let you select the signing keys.
240@node Cryptographic operations on files 240@node Cryptographic operations on files
241@section Cryptographic operations on files 241@section Cryptographic operations on files
242 242
243@deffn Command epa-decrypt-file file 243@deffn Command epa-decrypt-file file &optional output
244Decrypt @var{file}. 244Decrypt @var{file}. If you do not specify the name @var{output} to
245use for the decrypted file, this function prompts for the value to use.
245@end deffn 246@end deffn
246 247
247@deffn Command epa-verify-file file 248@deffn Command epa-verify-file file
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b7173c5cacf..02316659220 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-06-10 Glenn Morris <rgm@gnu.org>
2
3 * epa.el (epa-read-file-name): New function. (Bug#14510)
4 (epa-decrypt-file): Make plain-file optional. Use epa-read-file-name.
5
12013-06-09 Aidan Gauland <aidalgol@amuri.net> 62013-06-09 Aidan Gauland <aidalgol@amuri.net>
2 7
3 * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused 8 * eshell/em-term.el (eshell-visual-command-p): Fix bug that caused
diff --git a/lisp/epa.el b/lisp/epa.el
index b567df5f40b..14f8879c1c6 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -620,21 +620,24 @@ If SECRET is non-nil, list secret keys instead of public keys."
620 (floor (* (/ current (float total)) 100)))) 620 (floor (* (/ current (float total)) 100))))
621 (message "%s..." prompt)))) 621 (message "%s..." prompt))))
622 622
623(defun epa-read-file-name (input)
624 "Interactively read an output file name based on INPUT file name."
625 (setq input (file-name-sans-extension (expand-file-name input)))
626 (expand-file-name
627 (read-file-name
628 (concat "To file (default " (file-name-nondirectory input) ") ")
629 (file-name-directory input)
630 input)))
631
623;;;###autoload 632;;;###autoload
624(defun epa-decrypt-file (decrypt-file plain-file) 633(defun epa-decrypt-file (decrypt-file &optional plain-file)
625 "Decrypt DECRYPT-FILE into PLAIN-FILE." 634 "Decrypt DECRYPT-FILE into PLAIN-FILE.
635If you do not specify PLAIN-FILE, this functions prompts for the value to use."
626 (interactive 636 (interactive
627 (let (file default-name plain) 637 (let* ((file (read-file-name "File to decrypt: "))
628 (setq file (read-file-name "File to decrypt: ")) 638 (plain (epa-read-file-name file)))
629 (setq default-name (file-name-sans-extension (expand-file-name file)))
630 (setq plain (expand-file-name
631 (read-file-name
632 (concat "To file (default "
633 (file-name-nondirectory default-name)
634 ") ")
635 (file-name-directory default-name)
636 default-name)))
637 (list file plain))) 639 (list file plain)))
640 (or plain-file (setq plain-file (epa-read-file-name decrypt-file)))
638 (setq decrypt-file (expand-file-name decrypt-file)) 641 (setq decrypt-file (expand-file-name decrypt-file))
639 (let ((context (epg-make-context epa-protocol))) 642 (let ((context (epg-make-context epa-protocol)))
640 (epg-context-set-passphrase-callback context 643 (epg-context-set-passphrase-callback context