;;; -*- Mode: LISP; Syntax: Common-lisp; Package: CL-USER; Base: 10 -*- (defun prepare-db (&key (infile "clouds") (outfile "clouds")) (let ((line nil)) (setq infile (merge-pathnames infile "cha:>marshall>autoclass>clouds>.dat")) (setq outfile (merge-pathnames outfile "cha:>marshall>autoclass>clouds>.db")) (with-open-file (ifile infile :direction :input) (with-open-file (ofile outfile :direction :output) (loop for char = (read-char ifile) do (when (not (equal char #\;)) (return (unread-char char ifile))) (read-line ifile)) (loop for linenum from 1 to 1024 do (setq line (read-line ifile)) (print linenum ofile) (write-string line ofile))))))