Function: pop3-uidl-save

pop3-uidl-save is a byte-compiled function defined in pop3.el.gz.

Signature

(pop3-uidl-save)

Documentation

Save UIDL.

Source Code

;; Defined in /usr/src/emacs/lisp/net/pop3.el.gz
(defun pop3-uidl-save ()
  "Save UIDL."
  (with-temp-buffer
    (if pop3-uidl-saved
	(progn
	  (insert "(")
	  (dolist (srvr pop3-uidl-saved)
	    (when (cdr srvr)
	      (insert "(\"" (pop srvr) "\"\n  ")
	      (dolist (elt srvr)
		(when (cdr elt)
		  (insert "(\"" (pop elt) "\"\n   ")
		  (while elt
		    (insert (format "%S %s\n   " (pop elt) (pop elt))))
		  (delete-char -4)
		  (insert ")\n  ")))
	      (delete-char -3)
	      (if (eq (char-before) ?\))
		  (insert ")\n ")
                (goto-char (1+ (line-beginning-position)))
		(delete-region (point) (point-max)))))
	  (when (eq (char-before) ? )
	    (delete-char -2))
	  (insert ")\n"))
      (insert "()\n"))
    (let ((buffer-file-name pop3-uidl-file)
	  (delete-old-versions t)
	  (kept-new-versions kept-new-versions)
	  (kept-old-versions kept-old-versions)
	  (version-control version-control))
      (if (consp pop3-uidl-file-backup)
	  (setq kept-new-versions (cadr pop3-uidl-file-backup)
		kept-old-versions (car pop3-uidl-file-backup)
		version-control t)
	(setq version-control pop3-uidl-file-backup))
      (save-buffer))))