LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760031838. :SYSTEM-TYPE :LOGICAL :VERSION 17. :TYPE "LISP" :NAME "CANONICAL-TYPES" :DIRECTORY ("REL3-SOURCE" "PATHNAME") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-SOURCE\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :VERSION-LIMIT 0. :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2758741602. :AUTHOR "REL3" :LENGTH-IN-BYTES 7876. :LENGTH-IN-BLOCKS 8. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ;;;-*-Mode:Common-LISP;Package:FILE-SYSTEM; Base:10.; COLD-LOAD:T  -*-;;;                           RESTRICTED RIGHTS LEGEND;;;Use, duplication, or disclosure by the Government is subject to;;;restrictions as set forth in subdivision (b)(3)(ii) of the Rights in;;;Technical Data and Computer Software clause at 52.227-7013.;;;                     TEXAS INSTRUMENTS INCORPORATED.;;;                              P.O. BOX 2909;;;                           AUSTIN, TEXAS 78769;;;                                 MS 2151;;; Copyright (C) 1985,1987 Texas Instruments Incorporated. All rights reserved.;;;  ** (c) Copyright 1980 Massachusetts Institute of Technology **;;; REVISION;;;03.30.87 MBC Use correct system type for tops20, :TOPS20, not :TOPS-20.;;;03.12.87 MBC    Remove garbage :JUNK canonical-type.;;;01.29.87 MBCFix VMS4 canonical type of :PATCH-DIRECTORY to remove underscore.;;; 10.10.86 HWAdd more canonical types.(DEFVAR CANONICAL-TYPES ()   "Value is alternating list of canonical types (keywords) and their definitions.    Each definition is an alist of elements of the form    (system-type surface-types...)  where NIL as a system type    applies to any system type not specifically mentioned.")  (DEFUN DECODE-CANONICAL-TYPE (CANONICAL-TYPE SYSTEM-TYPE)  (LET ((PROP (GETF CANONICAL-TYPES CANONICAL-TYPE)))    (IF (NULL PROP)      CANONICAL-TYPE      (LET ((PER-SYSTEM (OR (ASSOC SYSTEM-TYPE PROP :TEST #'EQ) (ASSOC () PROP :TEST #'EQ))))(VALUES (CADR PER-SYSTEM) (CDR PER-SYSTEM))))))  (DEFUN DEFINE-CANONICAL-TYPE-1 (CTYPE DSTY SSTYS)  (LET ((ALIST (LIST (LIST () DSTY))))    (DOLIST (ELT SSTYS)      (IF (SYMBOLP (CAR ELT))(PUSH (CONS (CAR ELT) (MAPCAR #'STRING-UPCASE (CDR ELT))) ALIST)(DOLIST (SYSTEM (CAR ELT))  (PUSH (CONS SYSTEM (MAPCAR #'STRING-UPCASE (CDR ELT))) ALIST))))    (IF (GETF CANONICAL-TYPES CTYPE)      (SETF (GETF CANONICAL-TYPES CTYPE) ALIST)      (SETF (CDR (OR (LAST CANONICAL-TYPES) (LOCF CANONICAL-TYPES))) (LIST* CTYPE ALIST ())))))  (DEFINE-CANONICAL-TYPE :XLD "XLD"  (:UNIX "XL" "XLD")  (:UNIX-UCB "XLD" "XL"))(DEFINE-CANONICAL-TYPE :LISP "LISP"  ((:TOPS20 :TENEX :VMS4 ) "LISP" "LSP")  (:UNIX  "L" "LSP" "LISP")  (:UNIX-UCB "LISP" "L" "LSP")  (:MSDOS "LSP" "L")  (:VMS "LSP"))(DEFINE-CANONICAL-TYPE :XFASL "XFASL"  (:UNIX "XF" "XFASL")  (:UNIX-UCB "XFASL" "XF")  ((:MSDOS :VMS) "XFS")  (:VMS4 "XFASL" "XFS"))(DEFINE-CANONICAL-TYPE :QFASL "QFASL"  (:UNIX "QF" "QFASL")  (:UNIX-UCB "QFASL" "QF")  ((:MSDOS :VMS) "QFS")  (:VMS4 "QFASL" "QFS"))(DEFINE-CANONICAL-TYPE :MIDAS "MIDAS"  ((:TOPS20 :TENEX) "MID" "MIDAS")  (:UNIX "MD" "MIDAS")  (:UNIX-UCB "MIDAS" "MD")  ((:MSDOS :VMS) "MID")  (:VMS4 "MIDAS" "MID"))(DEFINE-CANONICAL-TYPE :TEXT "TEXT"  ((:TOPS20 :TENEX :VMS4) "TEXT" "TXT")  (:UNIX "TX" "TEXT" "TXT")  (:UNIX-UCB "TEXT" "TX" "TXT")  ((:MSDOS :VMS) "TXT"))(DEFINE-CANONICAL-TYPE :PRESS "PRESS"  (:UNIX "PR" "PRESS")  (:UNIX-UCB "PRESS" "PR")  (:MSDOS "PRS")  (:VMS "PRS")  (:VMS4 "PRESS" "PRS"))(DEFINE-CANONICAL-TYPE :PATCH-DIRECTORY "PATCH-DIRECTORY"  (:ITS "(PDIR)")  (:UNIX "PD" "PDIR")  (:UNIX-UCB "PDIR" "PD")  (:LMFS "PATCH-DIR")  (:MSDOS "PD")  (:VMS "PDR")  (:VMS4 "PATCH-DIRECTORY" "PDR"));1.29.87 MBC(DEFINE-CANONICAL-TYPE :QWABL "QWABL"  (:UNIX "QW" "QBABL")  (:UNIX-UCB "QBABL" "QW")  ((:MSDOS :VMS) "QWB")  (:VMS4 "QWABL" "QWB"))(DEFINE-CANONICAL-TYPE :BABYL "BABYL"  (:UNIX "BB" "BABYL")  (:UNIX-UCB "BABYL" "BB")  ((:MSDOS :VMS) "BAB")  (:VMS4 "BABYL" "BAB"))(DEFINE-CANONICAL-TYPE :XMAIL "XMAIL"  (:UNIX "XM" "XMAIL")  (:UNIX-UCB "XMAIL" "XM")  ((:MSDOS :VMS) "XML")  (:VMS4 "XMAIL" "XML"))(DEFINE-CANONICAL-TYPE :MAIL "MAIL"  (:UNIX "MA" "MAIL")  (:UNIX-UCB "MAIL" "MA")  ((:MSDOS :VMS) "MAI")  (:VMS4 "MAIL" "MAI"))(DEFINE-CANONICAL-TYPE :INIT "INIT"  (:UNIX "IN" "INIT")  (:UNIX-UCB "INIT" "IN")  ((:MSDOS :VMS) "INI")  (:VMS4 "INIT" "INI"))(DEFINE-CANONICAL-TYPE :UNFASL "UNFASL"  (:UNIX "UF" "UNFASL")  (:UNIX-UCB "UNFASL" "UF")  ((:MSDOS :VMS) "UNF")  (:VMS4 "UNFASL" "UNF"))(DEFINE-CANONICAL-TYPE :OUTPUT "OUTPUT"  (:UNIX "OT" "OUTPUT" "OUT")  (:UNIX-UCB "OUTPUT" "OT" "OUT")  ((:MSDOS :VMS) "OUT")  (:VMS4 "OUTPUT" "OUT"))(DEFINE-CANONICAL-TYPE :WIDTHS "WIDTHS"  (:UNIX "WD" "WIDTHS")  (:UNIX-UCB "WIDTHS" "WD")  ((:MSDOS :VMS) "WID")  (:VMS4 "WIDTHS" "WID"))(DEFINE-CANONICAL-TYPE :SYSTEM "SYSTEM"  (:UNIX "SYS" "SYSTEM")  (:UNIX-UCB "SYSTEM" "SYS")  ((:MSDOS :VMS) "SYS")  (:VMS4 "SYSTEM" "SYS"))(DEFINE-CANONICAL-TYPE :TRANSLATIONS "TRANSLATIONS"  (:UNIX "TR" "TRANSLATIONS")  (:UNIX-UCB "TRANSLATIONS" "TR")  ((:MSDOS :VMS) "TRN")  (:VMS4 "TRANSLATIONS" "TRN"))(DEFINE-CANONICAL-TYPE :TI880 "TI880"  (:UNIX "880")  (:UNIX-UCB "TI880" "880")  ((:MSDOS :VMS) "880")  (:VMS4 "TI880" "880"))(DEFINE-CANONICAL-TYPE :TI855 "TI855"  (:UNIX "855")  (:UNIX-UCB "TI855" "855")  ((:MSDOS :VMS) "855")  (:VMS4 "TI855" "855"))(DEFINE-CANONICAL-TYPE :TI850 "TI850"  (:UNIX "850")  (:UNIX-UCB "TI850" "850")  ((:MSDOS :VMS) "850")  (:VMS4 "TI850" "850"))(DEFINE-CANONICAL-TYPE :TI820 "TI820"  (:UNIX "820")  (:UNIX-UCB "TI820" "820")  ((:MSDOS :VMS) "820")  (:VMS4 "TI820" "820"))(DEFINE-CANONICAL-TYPE :TI2015 "TI2015"  (:UNIX "2015")  (:UNIX-UCB "TI2015" "2015")  ((:MSDOS :VMS) "205")  (:VMS4 "TI2015" "205"))(DEFINE-CANONICAL-TYPE :TI2115 "TI2115"  (:UNIX "2115")  (:UNIX-UCB "TI2115" "2115")  ((:MSDOS :VMS) "215")  (:VMS4 "TI2015" "215"))(DEFINE-CANONICAL-TYPE :IMAGEN-PRINTER "IMAGEN"  ((:VMS :UNIX :UNIX-UCB :MSDOS) "IMG"))(DEFINE-CANONICAL-TYPE :PROLOG "PL"  ((:LMFS :LISPM) "PL" "PROLOG"))(DEFINE-CANONICAL-TYPE :PROLOG-BINARY "PLD"  (:UNIX "PL" "PLD")  (:UNIX-UCB "PLD" "PL"))(DEFINE-CANONICAL-TYPE :REL2-PROLOG-BINARY "PFASL"  (:UNIX "PF" "PFASL")  (:UNIX-UCB "PFASL" "PF")  ((:MSDOS :VMS) "PFS")  (:VMS4 "PFASL" "PFS"))  (DEFINE-CANONICAL-TYPE :PALX "PALX")(DEFINE-CANONICAL-TYPE :CRASH "CRASH")(DEFINE-CANONICAL-TYPE :TBL "TBL")(DEFINE-CANONICAL-TYPE :TABLE "TBL"  ((:TOPS20 :TENEX :VMS4 ) "TBL" "TABLE"))(DEFINE-CANONICAL-TYPE :SYM "SYM")(DEFINE-CANONICAL-TYPE :LOG "LOG")(DEFINE-CANONICAL-TYPE :MCR "MCR")(DEFINE-CANONICAL-TYPE :BIN "BIN")(DEFINE-CANONICAL-TYPE :MAC "MAC")  (DEFINE-CANONICAL-TYPE :TASM "TASM")  (DEFINE-CANONICAL-TYPE :DOC "DOC")  (DEFINE-CANONICAL-TYPE :MSS "MSS")  (DEFINE-CANONICAL-TYPE :TEX "TEX")(DEFINE-CANONICAL-TYPE :TEX-FORMAT "FMT")(DEFINE-CANONICAL-TYPE :TEX-FONT "TFM")(DEFINE-CANONICAL-TYPE :DVI "DVI")  (DEFINE-CANONICAL-TYPE :PL1 "PL1")  (DEFINE-CANONICAL-TYPE :CLU "CLU")  (DEFINE-CANONICAL-TYPE :C "C")(DEFINE-CANONICAL-TYPE :HEADER "HEADER"  ((:UNIX :UNIX-UCB) "H")  ((LMFS LISPM) "HEADER" "H"))(DEFINE-CANONICAL-TYPE :FORTRAN "FORTRAN"  ((:LMFS :LISPM) "FORTRAN" "FOR" "FTN" "F")  (:UNIX "F")  ((:VMS :MSDOS )"FOR")  (:UNIX-UCB "F" "FOR" "FTN" "FORTRAN"))(DEFINE-CANONICAL-TYPE :ASM "ASM"  ((:UNIX :UNIX-UCB) "S"))(DEFINE-CANONICAL-TYPE :OBJECT "OBJ"  ((:UNIX :UNIX-UCB) "O"))(DEFINE-CANONICAL-TYPE :YACC "YACC"  ((:VMS :UNIX :UNIX-UCB :MSDOS) "Y"))(DEFINE-CANONICAL-TYPE :PASCAL "PASCAL"  ((:UNIX :UNIX-UCB) "P"))(DEFINE-CANONICAL-TYPE :SHELL "SHELL"  ((:VMS :UNIX :UNIX-UCB :MSDOS) "SH"))(DEFINE-CANONICAL-TYPE :ARCHIVE "ARCHIVE"  ((:VMS :UNIX :UNIX-UCB :MSDOS) "A"))(DEFINE-CANONICAL-TYPE :COBOL "COBOL"  ((:VMS :UNIX :UNIX-UCB :MSDOS) "COB"))(DEFINE-CANONICAL-TYPE :CWARNS "CWARNS")(DEFINE-CANONICAL-TYPE :CGLOSS "CGLOSS"  ((:VMS :UNIX :UNIX-UCB :MSDOS) "CGL"))(DEFINE-CANONICAL-TYPE :TALARIS "TALARIS"  ((:VMS :MSDOS :LISPM :UNIX) "QMS"))(DEFINE-CANONICAL-TYPE :VERSA "VERSA"  ((:VMS :MSDOS) "PLT")  (:UNIX "PLT")  (:UNIX-UCB "PLOT" "PLT")  (:LISPM "PLOT"))(DEFINE-CANONICAL-TYPE :PRODUCT "PRODUCT"  (:UNIX "PD")  ((:VMS :MSDOS) "PRD"))L))(LOOP FOR (CANONICAL-TYPE DEFN) ON CANONICAL-TYPES BY 'CDDR      AS PER-SYSTEM = (OR (ASSOC SYSTEM-TYPE DEFN :TEST #'EQ) (ASSOC () DEFN :TEST #'EQ))      DO      (IF (MEMBER -TYPE- (CDR PER-SYSTEM) :TEST #'EQUAL)  (RETURN CANONICAL-TYPE (UNLESS (EQUAL -TYPE- (CADR PER-SYSTEM))   -TYPE-)))     