Function: mml1991-epg-sign
mml1991-epg-sign is a byte-compiled function defined in mml1991.el.gz.
Signature
(mml1991-epg-sign CONT)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mml1991.el.gz
(defun mml1991-epg-sign (_cont)
(let (headers cte)
;; Don't sign headers.
(goto-char (point-min))
(when (re-search-forward "^$" nil t)
(setq headers (buffer-substring (point-min) (point)))
(save-restriction
(narrow-to-region (point-min) (point))
(setq cte (mail-fetch-field "content-transfer-encoding")))
(forward-line 1)
(delete-region (point-min) (point))
(when cte
(setq cte (intern (downcase cte)))
(mm-decode-content-transfer-encoding cte)))
(let* ((pair (mml-secure-epg-sign 'OpenPGP 'clear))
(signature (car pair)))
(unless (stringp signature)
(error "Signature failed"))
(delete-region (point-min) (point-max))
(insert
(with-temp-buffer
(set-buffer-multibyte nil)
(insert signature)
(goto-char (point-min))
(while (re-search-forward "\r+$" nil t)
(replace-match "" t t))
(when cte
(mm-encode-content-transfer-encoding cte))
(goto-char (point-min))
(when headers
(insert headers))
(insert "\n")
(buffer-string)))
t)))