Function: gnus-article-save

gnus-article-save is an autoloaded and byte-compiled function defined in gnus-art.el.gz.

Signature

(gnus-article-save SAVE-BUFFER FILE &optional NUM)

Documentation

Save the currently selected article.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
;;; Saving functions.

(defun gnus-article-save (save-buffer file &optional num)
  "Save the currently selected article."
  (when (or (get gnus-default-article-saver :headers)
	    (not gnus-save-all-headers))
    ;; Remove headers according to `gnus-saved-headers' or the value
    ;; of the `:headers' property that the saver function might have.
    (let ((gnus-visible-headers
	   (or (symbol-value (get gnus-default-article-saver :headers))
	       gnus-saved-headers gnus-visible-headers))
	  ;; Ignore group parameter.  See `article-hide-headers'.
	  (gnus-summary-buffer nil))
      (with-current-buffer save-buffer
	(article-hide-headers 1 t))))
  (save-window-excursion
    (if (not gnus-default-article-saver)
	(error "No default saver is defined")
      ;; !!! Magic!  The saving functions all save
      ;; `gnus-save-article-buffer' (or so they think), but we
      ;; bind that variable to our save-buffer.
      (set-buffer gnus-article-buffer)
      (let* ((gnus-save-article-buffer save-buffer)
	     (filename
	      (cond
	       ((not gnus-prompt-before-saving) 'default)
	       ((eq gnus-prompt-before-saving 'always) nil)
	       (t file)))
	     (gnus-number-of-articles-to-be-saved
	      (when (eq gnus-prompt-before-saving t)
		num)))			; Magic
	(set-buffer gnus-article-current-summary)
	(funcall gnus-default-article-saver filename)))))