Function: mml1991-pgg-sign

mml1991-pgg-sign is a byte-compiled function defined in mml1991.el.gz.

Signature

(mml1991-pgg-sign CONT)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mml1991.el.gz
(defun mml1991-pgg-sign (_cont)
  (let ((pgg-text-mode t)
	(pgg-default-user-id (or (message-options-get 'mml-sender)
				 pgg-default-user-id))
	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)))
    (unless (pgg-sign-region (point-min) (point-max) t)
      (pop-to-buffer pgg-errors-buffer)
      (error "Encrypt error"))
    (delete-region (point-min) (point-max))
    (insert
     (with-temp-buffer
       (set-buffer-multibyte nil)
       (insert-buffer-substring pgg-output-buffer)
       (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))