Function: feedmail-dump-message-to-queue
feedmail-dump-message-to-queue is a byte-compiled function defined in
feedmail.el.gz.
Signature
(feedmail-dump-message-to-queue QUEUE-DIRECTORY WHAT-EVENT)
Source Code
;; Defined in /usr/src/emacs/lisp/mail/feedmail.el.gz
(defun feedmail-dump-message-to-queue (queue-directory what-event)
(feedmail-say-debug ">in-> feedmail-dump-message-to-queue %s %s" queue-directory what-event)
(or (file-accessible-directory-p queue-directory)
;; progn to get nil result no matter what
(progn (make-directory queue-directory t) nil)
(file-accessible-directory-p queue-directory)
(error "FQM: Message not queued; trouble with directory %s" queue-directory))
(let ((filename)
(is-fqm)
(is-in-this-dir)
(previous-buffer-file-name buffer-file-name))
(if buffer-file-name
(progn
(setq is-fqm (feedmail-fqm-p buffer-file-name))
(setq is-in-this-dir (string-equal
(directory-file-name
(expand-file-name queue-directory))
(directory-file-name (expand-file-name (file-name-directory buffer-file-name)))))))
;; if visiting a queued message, just save
(if (and is-fqm is-in-this-dir)
(setq filename buffer-file-name)
(setq filename (feedmail-create-queue-filename queue-directory)))
;; make binary file on DOS/Windows 95/Windows NT, etc
(let ((coding-system-for-write
(if feedmail-force-binary-write
'no-conversion
coding-system-for-write)))
(write-file filename))
;; convenient for moving from draft to q, for example
(if (and previous-buffer-file-name (or (not is-fqm) (not is-in-this-dir))
(let (d b s)
(setq b (file-name-nondirectory previous-buffer-file-name))
(setq d (file-name-directory previous-buffer-file-name))
(setq s (substring d (1- (length d))))
(setq d (substring d 0 (1- (length d))))
(setq d (file-name-nondirectory d))
(y-or-n-p (format "FQM: Was previously %s%s%s; delete that? "
d s b))))
(delete-file previous-buffer-file-name))
(if feedmail-nuke-buffer-after-queue
(let ((a-s-file-name buffer-auto-save-file-name))
;; be aggressive in nuking auto-save files
(and (kill-buffer (current-buffer))
delete-auto-save-files
(file-exists-p a-s-file-name)
(delete-file a-s-file-name))))
(feedmail-say-chatter "Queued in %s" filename)
(if feedmail-queue-chatty
(progn
(feedmail-queue-reminder what-event)
(sit-for feedmail-queue-chatty-sit-for)))))