X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=epa-file.el;h=b2466d95c6f48b735d12093130b0d58181e97834;hb=ba1a4d03b21a2575b3e3e4b3e686acd6b20aac2c;hp=86af182ee2955c67a5e7376103e8c287011ea18b;hpb=f0cf0f951e5534b14c3a798424ff6fdc40ad39a8;p=elisp%2Fepg.git diff --git a/epa-file.el b/epa-file.el index 86af182..b2466d9 100644 --- a/epa-file.el +++ b/epa-file.el @@ -1,4 +1,4 @@ -;;; epa-file.el --- the EasyPG Assistant hooks for transparent file encryption +;;; epa-file.el --- the EasyPG Assistant, transparent file encryption ;; Copyright (C) 2006 Daiki Ueno ;; Author: Daiki Ueno @@ -39,8 +39,8 @@ (defvar epa-file-passphrase-alist nil) -(defun epa-file-passphrase-callback-function (file) - (if (eq epg-key-id 'SYM) +(defun epa-file-passphrase-callback-function (context key-id file) + (if (eq key-id 'SYM) (let ((entry (assoc file epa-file-passphrase-alist)) passphrase) (or (copy-sequence (cdr entry)) @@ -49,10 +49,11 @@ (setq entry (list file) epa-file-passphrase-alist (cons entry epa-file-passphrase-alist))) - (setq passphrase (epg-passphrase-callback-function nil)) + (setq passphrase (epg-passphrase-callback-function context + key-id nil)) (setcdr entry (copy-sequence passphrase)) passphrase))) - (epg-passphrase-callback-function nil))) + (epg-passphrase-callback-function context key-id nil))) (defun epa-file-handler (operation &rest args) (save-match-data @@ -135,12 +136,11 @@ (encode-coding-string start coding-system) (encode-coding-string (buffer-substring start end) coding-system)) - (mapcar (lambda (key) - (epg-sub-key-id (car (epg-key-sub-key-list key)))) - (unless (assoc file epa-file-passphrase-alist) - (epa-select-keys - "Select recipents for encryption. -If no one is selected, symmetric encryption will be performed. "))))) + (unless (assoc file epa-file-passphrase-alist) + (epa-select-keys + context + "Select recipents for encryption. +If no one is selected, symmetric encryption will be performed. ")))) (error (if (setq entry (assoc file epa-file-passphrase-alist)) (setcdr entry nil))