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