Function: epg--process-filter
epg--process-filter is a byte-compiled function defined in epg.el.gz.
Signature
(epg--process-filter PROCESS INPUT)
Source Code
;; Defined in /usr/src/emacs/lisp/epg.el.gz
(defun epg--process-filter (process input)
(if epg-debug
(with-current-buffer
(or epg-debug-buffer
(setq epg-debug-buffer (generate-new-buffer " *epg-debug*")))
(goto-char (point-max))
(insert input)))
(if (buffer-live-p (process-buffer process))
(with-current-buffer (process-buffer process)
(save-excursion
(goto-char (point-max))
(insert input)
(unless epg-process-filter-running
(let ((epg-process-filter-running t))
(goto-char epg-read-point)
(beginning-of-line)
(while (looking-at ".*\n") ;the input line finished
(if (looking-at "\\[GNUPG:] \\([A-Z_]+\\) ?\\(.*\\)")
(let ((status (match-string 1))
(string (match-string 2))
symbol)
(if (member status epg-pending-status-list)
(setq epg-pending-status-list nil))
;; When editing a key, delegate all interaction
;; to edit-callback.
(if (eq (epg-context-operation epg-context) 'edit-key)
(funcall (car (epg-context-edit-callback
epg-context))
epg-context
status
string
(cdr (epg-context-edit-callback
epg-context)))
;; Otherwise call epg--status-STATUS function.
(setq symbol (intern-soft (concat "epg--status-"
status)))
(if (and symbol
(fboundp symbol))
(funcall symbol epg-context string)))
(setq epg-last-status (cons status string))))
(forward-line)
(setq epg-read-point (point)))))))))