Function: gnus-draft-setup

gnus-draft-setup is a byte-compiled function defined in gnus-draft.el.gz.

Signature

(gnus-draft-setup NARTICLE GROUP &optional RESTORE DONT-POP)

Documentation

Setup a mail draft buffer.

If DONT-POP is nil, display the buffer after setting it up.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-draft.el.gz
(defun gnus-draft-setup (narticle group &optional restore dont-pop)
  "Setup a mail draft buffer.
If DONT-POP is nil, display the buffer after setting it up."
  (let (ga)
    (gnus-setup-message 'forward
      (let ((article narticle))
        (message-mail nil nil nil nil
                      (if dont-pop
                          (lambda (buf) (set-buffer (gnus-get-buffer-create buf)))))
        (let ((inhibit-read-only t))
          (erase-buffer))
        (if (not (gnus-request-restore-buffer article group))
            (error "Couldn't restore the article")
          (when (and restore
                     (equal group "nndraft:queue"))
            (mime-to-mml))
          ;; Insert the separator.
          (goto-char (point-min))
          (search-forward "\n\n")
          (forward-char -1)
          (save-restriction
            (narrow-to-region (point-min) (point))
            (setq ga
                  (message-fetch-field gnus-draft-meta-information-header)))
          (insert mail-header-separator)
          (forward-line 1)
          (message-set-auto-save-file-name))))
    (gnus-backlog-remove-article group narticle)
    (when (and ga
               (ignore-errors (setq ga (car (read-from-string ga)))))
      (setq gnus-newsgroup-name
            (if (equal (car ga) "") nil (car ga)))
      (gnus-configure-posting-styles)
      (setq gnus-message-group-art (cons gnus-newsgroup-name (cadr ga)))
      (setq message-post-method
            (lambda (arg) (gnus-post-method arg (car ga))))
      (unless (equal (cadr ga) "")
        (dolist (article (cdr ga))
          (message-add-action
           `(progn
              (gnus-add-mark ,(car ga) 'replied ,article)
              (gnus-request-set-mark ,(car ga) (list (list (list ,article)
                                                           'add '(reply)))))
           'send))))
    (run-hooks 'gnus-draft-setup-hook)))