;;; -*- Mode:LISP; Package:USER -*- (defun load-ada-tape (&optional query) ;;; If TRANSFORM is supplied, it should be a function of five arguments ;;; (host, directory, name, type, version) that returns a pathname that actually gets the file ;;; or NIL if the file should not be copied, or a symbol with a FS:TAPE-RESTORE-TRANSFORM ;;; property that is such a function. The host argument is a host object. (fs:restore-magtape :transform #'(lambda (host dir name type version) (cond ((mem #'string-equal type '("QFASL" "UNV" "ULP")) (format T "~&Punting due to type: ~S ~S ~S ~S" dir name type version) nil) ((LET ((X (IF (ATOM dir) dir (car dir)))) (not (mem #'string-equal x '("ADA" "BARNES" "BOOCH" "DOC")))) (fs:make-pathname :host host :directory dir :name name :type type :version version)) ('else (format t "~&Punting ~S ~S ~S ~S" dir name type version) nil))) :query query))