Function: gnus-read-newsrc-file
gnus-read-newsrc-file is a byte-compiled function defined in
gnus-start.el.gz.
Signature
(gnus-read-newsrc-file &optional FORCE)
Documentation
Read startup file.
If FORCE is non-nil, the .newsrc file is read.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-start.el.gz
(defun gnus-read-newsrc-file (&optional force)
"Read startup file.
If FORCE is non-nil, the .newsrc file is read."
;; Reset variables that might be defined in the .newsrc.eld file.
(let ((variables (remove 'gnus-format-specs gnus-variable-list)))
(while variables
(set (car variables) nil)
(setq variables (cdr variables))))
(let* ((newsrc-file gnus-current-startup-file)
(quick-file (concat newsrc-file ".el")))
(save-excursion
;; We always load the .newsrc.eld file. If always contains
;; much information that can not be gotten from the .newsrc
;; file (ticked articles, killed groups, foreign methods, etc.)
(gnus-read-newsrc-el-file quick-file)
(when (and gnus-read-newsrc-file
(file-exists-p gnus-current-startup-file)
(or force
(and (file-newer-than-file-p newsrc-file quick-file)
(file-newer-than-file-p newsrc-file
(concat quick-file "d")))
(not gnus-newsrc-alist)))
;; We read the .newsrc file. Note that if there if a
;; .newsrc.eld file exists, it has already been read, and
;; the `gnus-newsrc-hashtb' has been created. While reading
;; the .newsrc file, Gnus will only use the information it
;; can find there for changing the data already read -
;; i. e., reading the .newsrc file will not trash the data
;; already read (except for read articles).
(gnus-message 5 "Reading %s..." newsrc-file)
(with-current-buffer (nnheader-find-file-noselect newsrc-file)
(buffer-disable-undo)
(gnus-newsrc-to-gnus-format)
(kill-buffer (current-buffer))
(gnus-message 5 "Reading %s...done" newsrc-file)))
;; Convert old to new.
(gnus-convert-old-newsrc)
(gnus-clean-old-newsrc))))