-(defvar mime/use-X-Nsubject nil)
-
-
-;;; @ Application Interface
-;;;
-
-;;; @@ MIME header encoders
-;;;
-
-(defun mime/encode-field (str)
- (setq str (message/unfolding-string str))
- (let ((ret (message/divide-field str))
- field-name field-body)
- (setq field-name (car ret))
- (setq field-body (nth 1 ret))
- (concat field-name " "
- (cond ((string= field-body "") "")
- ((or (string-match "^Reply-To:$" field-name)
- (string-match "^From:$" field-name)
- (string-match "^Sender:$" field-name)
- (string-match "^Resent-Reply-To:$" field-name)
- (string-match "^Resent-From:$" field-name)
- (string-match "^Resent-Sender:$" field-name)
- (string-match "^To:$" field-name)
- (string-match "^Resent-To:$" field-name)
- (string-match "^cc:$" field-name)
- (string-match "^Resent-cc:$" field-name)
- (string-match "^bcc:$" field-name)
- (string-match "^Resent-bcc:$" field-name)
- )
- (car (tm-eword::encode-address-list
- (+ (length field-name) 1) field-body))
- )
- (t
- (catch 'tag
- (let ((r mime/no-encoding-header-fields) fn)
- (while r
- (setq fn (car r))
- (if (string-match (concat "^" fn ":$") field-name)
- (throw 'tag field-body)
- )
- (setq r (cdr r))
- ))
- (car (tm-eword::encode-string
- (+ (length field-name) 1) field-body))
- ))
- ))
- ))
-
-(defun mime/exist-encoded-word-in-subject ()
- (let ((str (message/get-field-body "Subject")))
- (if (and str (string-match mime/encoded-word-regexp str))
- str)))
-
-(defun mime/encode-message-header ()
- (interactive "*")
- (save-excursion
- (save-restriction
- (narrow-to-region (goto-char (point-min))
- (progn
- (re-search-forward
- (concat
- "^" (regexp-quote mail-header-separator) "$")
- nil t)
- (match-beginning 0)
- ))
- (goto-char (point-min))
- (let (beg end field)
- (while (re-search-forward "^.+:.*\\(\n\\s +.*\\)*" nil t)
- (setq beg (match-beginning 0))
- (setq end (match-end 0))
- (setq field (buffer-substring beg end))
- (insert (mime/encode-field
- (prog1
- (buffer-substring beg end)
- (delete-region beg end)
- )))
- ))
- (if mime/use-X-Nsubject
- (let ((str (mime/exist-encoded-word-in-subject)))
- (if str
- (insert
- (concat
- "\nX-Nsubject: "
- (mime/decode-encoded-words-string
- (message/unfolding-string str))
- )))))
- )))
-
-