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)))