* epg-pgp50i.el (epg-pgp50i--process-filter): Use
epg-process-filter-running instead of epg-pgp50i-status; Don't
save-excursion during handler execution.
+ (epg-pgp50i--read-line): Renamed from epg-pgp50i--wait-for-line;
+ don't allow process input.
+ (epg-pgp50i--parse-time): New function.
+ (epg-pgp50i--status-BAD_SIGNATURE): New function.
* epg.el (epg--process-filter): Don't save-excursion during
handler execution.
(around epg-pgp50i activate)
(if (eq (epg-context-protocol (ad-get-arg 0)) 'CMS)
ad-do-it
- (let ((context (ad-get-arg 0))
- (plain (ad-get-arg 1))
- (mode (ad-get-arg 2)))
- (epg-context-set-operation context 'sign)
- (epg-context-set-result context nil)
- (unless (memq mode '(t detached nil normal))
- (epg-context-set-armor context t))
- (epg-pgp50i--start context
- epg-pgp50i-pgps-program
- (append (list (if (memq mode '(t detached))
- "-b"))
- (apply #'nconc
- (mapcar
- (lambda (signer)
- (list "-u"
- (epg-sub-key-id
- (car (epg-key-sub-key-list signer)))))
- (epg-context-signers context)))
- (if (epg-data-file plain)
- (list (epg-data-file plain)))))
- ;; `gpgsm' does not read passphrase from stdin, so waiting is not needed.
- (unless (eq (epg-context-protocol context) 'CMS)
- (epg-wait-for-status context '("BEGIN_SIGNING")))
- (when (epg-data-string plain)
- (if (eq (process-status (epg-context-process context)) 'run)
- (process-send-string (epg-context-process context)
- (epg-data-string plain)))
- (if (eq (process-status (epg-context-process context)) 'run)
- (process-send-eof (epg-context-process context)))))
- ))
+ (error "Not implemented yet")))
(defadvice epg-start-encrypt
(around epg-pgp50i activate)