Function: gnus-uu-initialize

gnus-uu-initialize is a byte-compiled function defined in gnus-uu.el.gz.

Signature

(gnus-uu-initialize &optional SCAN)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-uu.el.gz
(defun gnus-uu-initialize (&optional scan)
  (let (entry)
    (if (and (not scan)
	     (when (setq entry (assoc gnus-newsgroup-name gnus-uu-tmp-alist))
	       (if (file-exists-p (cdr entry))
		   (setq gnus-uu-work-dir (cdr entry))
		 (setq gnus-uu-tmp-alist (delq entry gnus-uu-tmp-alist))
		 nil)))
	t
      (setq gnus-uu-tmp-dir (file-name-as-directory
			     (expand-file-name gnus-uu-tmp-dir)))
      (if (not (file-directory-p gnus-uu-tmp-dir))
	  (error "Temp directory %s doesn't exist" gnus-uu-tmp-dir)
	(when (not (file-writable-p gnus-uu-tmp-dir))
	  (error "Temp directory %s can't be written to"
		 gnus-uu-tmp-dir)))

      (setq gnus-uu-work-dir
	    (with-file-modes #o700
	      (make-temp-file (concat gnus-uu-tmp-dir "gnus") 'dir)))
      (setq gnus-uu-work-dir (file-name-as-directory gnus-uu-work-dir))
      (push (cons gnus-newsgroup-name gnus-uu-work-dir)
	    gnus-uu-tmp-alist))))