Function: epg--status-GET_HIDDEN
epg--status-GET_HIDDEN is a byte-compiled function defined in
epg.el.gz.
Signature
(epg--status-GET_HIDDEN CONTEXT STRING)
Source Code
;; Defined in /usr/src/emacs/lisp/epg.el.gz
(defun epg--status-GET_HIDDEN (context string)
(when (and epg-key-id
(string-match "\\`passphrase\\." string))
(unless (epg-context-passphrase-callback context)
(error "Variable `passphrase-callback' not set"))
(let (inhibit-quit
passphrase
passphrase-with-new-line
encoded-passphrase-with-new-line)
(unwind-protect
(condition-case nil
(progn
(setq passphrase
(funcall
(car (epg-context-passphrase-callback context))
context
epg-key-id
(cdr (epg-context-passphrase-callback context))))
(when passphrase
(setq passphrase-with-new-line (concat passphrase "\n"))
(clear-string passphrase)
(setq passphrase nil)
(if epg-passphrase-coding-system
(progn
(setq encoded-passphrase-with-new-line
(encode-coding-string
passphrase-with-new-line
(coding-system-change-eol-conversion
epg-passphrase-coding-system 'unix)))
(clear-string passphrase-with-new-line)
(setq passphrase-with-new-line nil))
(setq encoded-passphrase-with-new-line
passphrase-with-new-line
passphrase-with-new-line nil))
(process-send-string (epg-context-process context)
encoded-passphrase-with-new-line)))
(quit
(epg-context-set-result-for
context 'error
(cons '(quit)
(epg-context-result-for context 'error)))
(delete-process (epg-context-process context))))
(if passphrase
(clear-string passphrase))
(if passphrase-with-new-line
(clear-string passphrase-with-new-line))
(if encoded-passphrase-with-new-line
(clear-string encoded-passphrase-with-new-line))))))