






(defun read-item (infile)
  (let ((item (read infile nil '*done*)) (route (read infile nil nil)))
    (if (fboundp item) (print item))
    (if route
	(progn (cond ((member (car route) '(s S))	; is it a subject?
		      (setq route (cdr route))
		      (putprop item t 'SUBJECT)
	       (print route)))))
    item))


(defvar *myfile* "dj:saz;foo.test")

(with-open-file (infile *myfile*)
  (do nil
      ((eq (read-item infile) '*done*)
       '*done*)))


