Function: gnus-category-write

gnus-category-write is a byte-compiled function defined in gnus-agent.el.gz.

Signature

(gnus-category-write)

Documentation

Write the category alist.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-agent.el.gz
(defun gnus-category-write ()
  "Write the category alist."
  (setq gnus-category-predicate-cache nil
	gnus-category-group-cache nil)
  ;; Temporarily encode non-ascii group names when saving to file,
  ;; pending an upgrade of Gnus' file formats.
  (let ((gnus-category-alist
	 (mapcar (lambda (cat)
		   (setf (alist-get 'agent-groups cat)
			 (mapcar (lambda (g)
				   (if (multibyte-string-p g)
				       (encode-coding-string g 'utf-8-emacs)
				     g))
				 (alist-get 'agent-groups cat)))
		   cat)
		 (copy-tree gnus-category-alist))))
   (gnus-make-directory (nnheader-concat gnus-agent-directory "lib"))
   (with-temp-file (nnheader-concat gnus-agent-directory "lib/categories")
     ;; This prin1 is temporary.  It exists so that people can revert
     ;; to an earlier version of gnus-agent.
     (prin1 (mapcar (lambda (c)
		      (list (car c)
			    (cdr (assoc 'agent-predicate c))
			    (cdr (assoc 'agent-score-file c))
			    (cdr (assoc 'agent-groups c))))
                    gnus-category-alist)
            (current-buffer))
     (newline)
     (prin1 gnus-category-alist (current-buffer)))))