Function: gnus-read-old-newsrc-el-file
gnus-read-old-newsrc-el-file is a byte-compiled function defined in
gnus-start.el.gz.
Signature
(gnus-read-old-newsrc-el-file FILE)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-start.el.gz
;; Parse the old-style quick startup file
(defun gnus-read-old-newsrc-el-file (file)
(let (newsrc killed marked group m info)
(prog1
(let ((gnus-killed-assoc nil)
gnus-marked-assoc gnus-newsrc-alist gnus-newsrc-assoc)
(prog1
(ignore-errors
(load file t t t))
(setq newsrc gnus-newsrc-assoc
killed gnus-killed-assoc
marked gnus-marked-assoc)))
(setq gnus-newsrc-alist nil)
(while (setq group (pop newsrc))
(if (setq info (gnus-get-info (car group)))
(progn
(setf (gnus-info-read info) (cddr group))
(setf (gnus-info-level info)
(if (nth 1 group) gnus-level-default-subscribed
gnus-level-default-unsubscribed))
(push info gnus-newsrc-alist))
(push (setq info
(list (car group)
(if (nth 1 group) gnus-level-default-subscribed
gnus-level-default-unsubscribed)
(cddr group)))
gnus-newsrc-alist))
;; Copy marks into info.
(when (setq m (assoc (car group) marked))
(unless (nthcdr 3 info)
(nconc info (list nil)))
(setf (gnus-info-marks info)
(list (cons 'tick (gnus-compress-sequence
(sort (cdr m) #'<) t))))))
(setq newsrc killed)
(while newsrc
(setcar newsrc (caar newsrc))
(setq newsrc (cdr newsrc)))
(setq gnus-killed-list killed))
;; The .el file version of this variable does not begin with
;; "options", while the .eld version does, so we just add it if it
;; isn't there.
(when
gnus-newsrc-options
(when (not (string-match "^ *options" gnus-newsrc-options))
(setq gnus-newsrc-options (concat "options " gnus-newsrc-options)))
(when (not (string-match "\n$" gnus-newsrc-options))
(setq gnus-newsrc-options (concat gnus-newsrc-options "\n")))
;; Finally, if we read some options lines, we parse them.
(unless (string= gnus-newsrc-options "")
(gnus-newsrc-parse-options gnus-newsrc-options)))
(setq gnus-newsrc-alist (nreverse gnus-newsrc-alist))
(gnus-make-hashtable-from-newsrc-alist)))