Function: mh-current-message-header-field

mh-current-message-header-field is a byte-compiled function defined in mh-limit.el.gz.

Signature

(mh-current-message-header-field HEADER-FIELD)

Documentation

Return a pick regexp to match HEADER-FIELD of the message at point.

Source Code

;; Defined in /usr/src/emacs/lisp/mh-e/mh-limit.el.gz
(defun mh-current-message-header-field (header-field)
  "Return a pick regexp to match HEADER-FIELD of the message at point."
  (let ((num (mh-get-msg-num nil)))
    (when num
      (let ((folder mh-current-folder))
        (with-temp-buffer
          (insert-file-contents-literally (mh-msg-filename num folder))
          (goto-char (point-min))
          (when (search-forward "\n\n" nil t)
            (narrow-to-region (point-min) (point)))
          (let* ((field (or (message-fetch-field (format "%s" header-field))
                            ""))
                 (field-option (format "-%s" header-field))
                 (patterns (cl-loop for x in (split-string  field "[ ]*,[ ]*")
                                    unless (equal x "")
                                    collect (if (string-match "<\\(.*@.*\\)>" x)
                                                (match-string 1 x)
                                              x))))
            (when patterns
              (cl-loop with accum = `(,field-option ,(car patterns))
                       for e in (cdr patterns)
                       do (setq accum `(,field-option ,e "-or" ,@accum))
                       finally return accum))))))))