Function: message-set-auto-save-file-name

message-set-auto-save-file-name is a byte-compiled function defined in message.el.gz.

Signature

(message-set-auto-save-file-name)

Documentation

Associate the message buffer with a file in the drafts directory.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
(defun message-set-auto-save-file-name ()
  "Associate the message buffer with a file in the drafts directory."
  (when message-auto-save-directory
    (unless (file-directory-p
	     (directory-file-name message-auto-save-directory))
      (make-directory message-auto-save-directory t))
    (if (gnus-alive-p)
	(setq message-draft-article
	      (nndraft-request-associate-buffer "drafts"))

      ;; If Gnus were alive, draft messages would be saved in the drafts folder.
      ;; But Gnus is not alive, so arrange to save the draft message in a
      ;; regular file in message-auto-save-directory.  Append a unique
      ;; time-based suffix to the filename to allow multiple drafts to be saved
      ;; simultaneously without overwriting each other (which mimics the
      ;; functionality of the Gnus drafts folder).
      (setq buffer-file-name (expand-file-name
			      (concat
			      (if (memq system-type
					'(ms-dos windows-nt cygwin))
				  "message"
				"*message*")
			       (format-time-string "-%Y%m%d-%H%M%S"))
			      message-auto-save-directory))
      (setq buffer-auto-save-file-name (make-auto-save-file-name)))
    (clear-visited-file-modtime)
    (setq buffer-file-coding-system message-draft-coding-system)))