(epg-context-set-passphrase-callback): Add optional
authorhmurata <hmurata>
Wed, 22 Nov 2006 14:11:30 +0000 (14:11 +0000)
committerhmurata <hmurata>
Wed, 22 Nov 2006 14:11:30 +0000 (14:11 +0000)
argument `handback'.
(epg-context-set-progress-callback): Ditto.

ChangeLog
epg.el

index 9237c38..67b37e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-11-22  Hiroya Murata  <lapis-lazuli@pop06.odn.ne.jp>
+
+       * epg.el (epg-context-set-passphrase-callback): Add optional
+       argument `handback'.
+       (epg-context-set-progress-callback): Ditto.
+
 2006-11-14  Daiki Ueno  <ueno@unixuser.org>
 
        * epa.el (epa--key-widget-value-create): Allow empty user IDs.
diff --git a/epg.el b/epg.el
index 114c83b..1ae12b5 100644 (file)
--- a/epg.el
+++ b/epg.el
@@ -326,18 +326,25 @@ This function is for internal use only."
     (signal 'wrong-type-argument (list 'epg-context-p context)))
   (aset (cdr context) 6 compress-algorithm))
 
-(defun epg-context-set-passphrase-callback (context
-                                                passphrase-callback)
-  "Set the function used to query passphrase."
+(defun epg-context-set-passphrase-callback (context passphrase-callback
+                                                   &optional handback)
+  "Set the function used to query passphrase.
+If optional argument HANDBACK is specified, it is passed to CALLBACK."
   (unless (eq (car-safe context) 'epg-context)
     (signal 'wrong-type-argument (list 'epg-context-p context)))
-  (aset (cdr context) 7 passphrase-callback))
-
-(defun epg-context-set-progress-callback (context progress-callback)
-  "Set the function which handles progress update."
+  (aset (cdr context) 7 (if handback
+                           (cons passphrase-callback handback)
+                         passphrase-callback)))
+
+(defun epg-context-set-progress-callback (context progress-callback
+                                                 &optional handback)
+  "Set the function which handles progress update.
+If optional argument HANDBACK is specified, it is passed to CALLBACK."
   (unless (eq (car-safe context) 'epg-context)
     (signal 'wrong-type-argument (list 'epg-context-p context)))
-  (aset (cdr context) 8 progress-callback))
+  (aset (cdr context) 8 (if handback
+                           (cons progress-callback handback)
+                         progress-callback)))
 
 (defun epg-context-set-signers (context signers)
   "Set the list of key-id for singning."