Function: mspools-visit-spool

mspools-visit-spool is an interactive and byte-compiled function defined in mspools.el.gz.

Signature

(mspools-visit-spool)

Documentation

Visit the folder on the current line of the *spools* buffer.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/mail/mspools.el.gz
(defun mspools-visit-spool ()
  "Visit the folder on the current line of the *spools* buffer."
  (interactive)
  (let ((spool-name (mspools-get-spool-name))
        folder-name)
    (if (null spool-name)
	(message "No spool on current line")

      (setq folder-name (mspools-get-folder-from-spool spool-name))

      ;; put in a little "*" to indicate spool file has been read.
      (if (not mspools-update)
	  (save-excursion
	    (beginning-of-line)
	    (let ((inhibit-read-only t))
	      (insert "*")
	      (delete-char 1))))

      (message "folder %s spool %s" folder-name spool-name)
      (forward-line (if (eq (count-lines (point-min) (line-end-position))
                            mspools-files-len)
                        ;; FIXME: Why use `mspools-files-len' instead
                        ;; of looking if we're on the last line and
                        ;; jumping to the first one if so?
                        (- 1 mspools-files-len) ;back to top of list
                      ;; else just on to next line
                      1))

      ;; Choose whether to use VM or RMAIL for reading folder.
      (if mspools-using-vm
	  (vm-visit-folder (concat mspools-folder-directory folder-name))
	;; else using RMAIL
	(rmail (concat mspools-folder-directory folder-name))
	(setq rmail-inbox-list
	      (list (concat mspools-folder-directory spool-name)))
	(rmail-get-new-mail))


      (if mspools-update
	  ;; generate new list of spools.
	  (save-excursion ;;FIXME: Why?
	    (mspools-revert-buffer))))))