Function: gnus-article-setup-buffer
gnus-article-setup-buffer is an autoloaded and byte-compiled function
defined in gnus-art.el.gz.
Signature
(gnus-article-setup-buffer)
Documentation
Initialize the article buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-article-setup-buffer ()
"Initialize the article buffer."
(let* ((name (if gnus-single-article-buffer "*Article*"
(concat "*Article " gnus-newsgroup-name "*")))
(original
(progn (string-match "\\*Article" name)
(concat " *Original Article"
(substring name (match-end 0))))))
(setq gnus-article-buffer name)
(setq gnus-original-article-buffer original)
(setq gnus-article-mime-handle-alist nil)
(with-current-buffer gnus-summary-buffer
;; This might be a variable local to the summary buffer.
(unless gnus-single-article-buffer
(setq gnus-article-buffer name)
(setq gnus-original-article-buffer original)
(gnus-set-global-variables)))
(gnus-article-setup-highlight-words)
;; Init original article buffer.
(with-current-buffer (gnus-get-buffer-create gnus-original-article-buffer)
(mm-enable-multibyte)
(setq major-mode 'gnus-original-article-mode)
(make-local-variable 'gnus-original-article))
(if (and (get-buffer name)
(with-current-buffer name
(if gnus-article-edit-mode
(if (y-or-n-p "Article mode edit in progress; discard? ")
(progn
(set-buffer-modified-p nil)
(gnus-kill-buffer name)
(message "")
nil)
(error "Action aborted"))
t)))
(let ((summary gnus-summary-buffer))
(with-current-buffer name
(setq-local gnus-article-edit-mode nil)
(when gnus-article-mime-handles
(mm-destroy-parts gnus-article-mime-handles)
(setq gnus-article-mime-handles nil))
;; Set it to nil in article-buffer!
(setq gnus-article-mime-handle-alist nil)
(buffer-disable-undo)
(setq buffer-read-only t)
(unless (derived-mode-p 'gnus-article-mode)
(gnus-article-mode))
(setq-local gnus-summary-buffer summary)
(setq truncate-lines gnus-article-truncate-lines)
(current-buffer)))
(let ((summary gnus-summary-buffer))
(with-current-buffer (gnus-get-buffer-create name)
(gnus-article-mode)
(setq truncate-lines gnus-article-truncate-lines)
(setq-local gnus-summary-buffer summary)
(gnus-summary-set-local-parameters gnus-newsgroup-name)
(when article-lapsed-timer
(gnus-stop-date-timer))
(when gnus-article-update-date-headers
(gnus-start-date-timer gnus-article-update-date-headers))
(current-buffer))))))