diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 8 | ||||
-rw-r--r-- | lisp/epa-file.el | 12 | ||||
-rw-r--r-- | lisp/epa.el | 15 |
3 files changed, 27 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ad300b10f47..27515f767fb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2011-08-12 Daiki Ueno <ueno@unixuser.org> + + * epa.el (epa-progress-callback-function): Fix the logic of + displaying progress. + * epa-file.el (epa-file-insert-file-contents): Make progress + display more user-friendly. + (epa-file-write-region): Ditto. + 2011-08-10 Chong Yidong <cyd@stupidchicken.com> * subr.el (string-mark-left-to-right): New function. diff --git a/lisp/epa-file.el b/lisp/epa-file.el index aa9915d8cfa..118f44854cf 100644 --- a/lisp/epa-file.el +++ b/lisp/epa-file.el @@ -137,8 +137,10 @@ encryption is used." context (cons #'epa-file-passphrase-callback-function local-file)) - (epg-context-set-progress-callback context - #'epa-progress-callback-function) + (epg-context-set-progress-callback + context + (cons #'epa-progress-callback-function + (format "Decrypting %s" file))) (unwind-protect (progn (if replace @@ -211,8 +213,10 @@ encryption is used." context (cons #'epa-file-passphrase-callback-function file)) - (epg-context-set-progress-callback context - #'epa-progress-callback-function) + (epg-context-set-progress-callback + context + (cons #'epa-progress-callback-function + (format "Encrypting %s" file))) (epg-context-set-armor context epa-armor) (condition-case error (setq string diff --git a/lisp/epa.el b/lisp/epa.el index d4f4fab2eed..e2fafc753d7 100644 --- a/lisp/epa.el +++ b/lisp/epa.el @@ -651,10 +651,17 @@ If SECRET is non-nil, list secret keys instead of public keys." (defun epa-progress-callback-function (_context what _char current total handback) - (message "%s%d%% (%d/%d)" (or handback - (concat what ": ")) - (if (> total 0) (floor (* (/ current (float total)) 100)) 0) - current total)) + (let ((prompt (or handback + (format "Processing %s: " what)))) + ;; According to gnupg/doc/DETAIL: a "total" of 0 indicates that + ;; the total amount is not known. The condition TOTAL && CUR == + ;; TOTAL may be used to detect the end of an operation. + (if (> total 0) + (if (= current total) + (message "%s...done" prompt) + (message "%s...%d%%" prompt + (floor (* (/ current (float total)) 100)))) + (message "%s..." prompt)))) ;;;###autoload (defun epa-decrypt-file (file) |