Function: feedmail-fiddle-message-id

feedmail-fiddle-message-id is a byte-compiled function defined in feedmail.el.gz.

Signature

(feedmail-fiddle-message-id MAYBE-FILE)

Documentation

Fiddle Message-Id:. See documentation of feedmail-message-id-generator.

Source Code

;; Defined in /usr/src/emacs/lisp/mail/feedmail.el.gz
(defun feedmail-fiddle-message-id (maybe-file)
  "Fiddle Message-Id:.  See documentation of `feedmail-message-id-generator'."
  (feedmail-say-debug ">in-> feedmail-fiddle-message-id %s" maybe-file)
  ;; default is to fall off the end of the list and do nothing
  (cond
   ;; nil means do nothing
   ((eq nil feedmail-message-id-generator) nil)
   ;; t is the same a using the function feedmail-default-message-id-generator, so let it and recurse
   ((eq t feedmail-message-id-generator)
    (let ((feedmail-message-id-generator (feedmail-default-message-id-generator maybe-file)))
      (feedmail-fiddle-message-id maybe-file)))

   ;; if it's a string, simply make a fiddle-plex out of it and recurse
   ((stringp feedmail-message-id-generator)
    (let ((feedmail-message-id-generator (list "ignored" feedmail-message-id-generator 'create)))
      (feedmail-fiddle-message-id maybe-file)))

   ;; if it's a function, call it and recurse with the resulting value
   ((and (symbolp feedmail-message-id-generator) (fboundp feedmail-message-id-generator))
    (let ((feedmail-message-id-generator (funcall feedmail-message-id-generator maybe-file)))
      (feedmail-fiddle-message-id maybe-file)))

   ;; if it's a list, it must be a fiddle-plex -- so fiddle, man, fiddle
   ((listp feedmail-message-id-generator)
    (feedmail-fiddle-header
     (if feedmail-is-a-resend "Resent-Message-Id" "Message-Id")
     (nth 1 feedmail-message-id-generator) ; value
     (nth 2 feedmail-message-id-generator) ; action
     (nth 3 feedmail-message-id-generator))))) ; folding