(FILECREATED "18-Jan-85 17:15:27" {DSK}<LISPFILES>TREES.;1 3341
changes to: (VARS TREESCOMS PRONUNCIATION.LIST)
(FNS FIND.CODE MAKE.LOGIN.USERINFO)
(RECORDS LOGIN.INFO)
previous date: " 9-Jan-85 13:28:24" {ERIS}<SPEECH>MAILREADER>TREES.;1)
(* Copyright (c) 1984, 1985 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT TREESCOMS)
(RPAQQ TREESCOMS ((FNS FIND.CODE MAKE.LEAF MAKE.LOGIN.USERINFO BUILD.ROOT)
(VARS PRONUNCIATION.LIST)
(RECORDS LOGIN.INFO)))
(DEFINEQ
(FIND.CODE
[LAMBDA (SUBTREE CODE NAME ADD.FLAG) (* BBB "18-Jan-85 14:57")
(* FIND.CODE either returns the names associated with the list of CODEs in SUBTREE or will add if NAME not there if
the ADD.FLAG is T)
(COND
[CODE (COND
(SUBTREE (PROG [(BRANCH (FASSOC (CAR CODE)
(CAR (CDR SUBTREE]
(RETURN (COND
(BRANCH (FIND.CODE BRANCH (CDR CODE)
NAME ADD.FLAG))
(T (if ADD.FLAG
then (ATTACH (MAKE.LEAF CODE (LIST (MAKE.LOGIN.USERINFO
NAME)))
(CADR SUBTREE]
[[AND (CAR (CDDR SUBTREE))
(EQ T ADD.FLAG)
(NULL (FASSOC NAME (CAR (CDDR SUBTREE]
(ATTACH (MAKE.LOGIN.USERINFO NAME)
(CAR (CDDR SUBTREE]
(T (CAR (CDDR SUBTREE])
(MAKE.LEAF
[LAMBDA (SUBCODE NAME) (* BBB "26-Dec-84 16:17")
(* This routine is used for attaching a leaf for a subcode and associating a name with it. Eg.
SUBCODE = (n1 n2 n3 n4) NAME = name1 result is (n1 ((n2 ((n3 ((n4 nil name1))))))))
(if (EQ (FLENGTH SUBCODE)
1)
then (LIST (CAR SUBCODE)
NIL NAME)
else (CONS (CAR SUBCODE)
(LIST (LIST (MAKE.LEAF (CDR SUBCODE)
NAME])
(MAKE.LOGIN.USERINFO
[LAMBDA (NAME) (* BBB "18-Jan-85 15:37")
(* * This function creates a record of the user info relevant when logging in. It is of the form
(LOGIN.NAME BROWSERFILE PRONUNCIATION))
(PROG [(LOGIN.USERINFO (create LOGIN.INFO
LOGIN.NAME ← NAME
PRONUNCIATION ←(CADR (FASSOC NAME PRONUNCIATION.LIST]
[replace (LOGIN.INFO BROWSERFILE) of LOGIN.USERINFO
with (OR [CAR (LAST (DIRECTORY (PACK* (QUOTE {PHYLUM}<)
NAME
(QUOTE >*ACTIVE.MAIL))
(QUOTE COLLECT]
[CAR (LAST (DIRECTORY (PACK* (QUOTE {ERIS}<)
NAME
(QUOTE >*ACTIVE.MAIL))
(QUOTE COLLECT]
(CAR (LAST (DIRECTORY (PACK* (QUOTE {IVY}<)
NAME
(QUOTE >*ACTIVE.MAIL))
(QUOTE COLLECT]
(RETURN LOGIN.USERINFO])
(BUILD.ROOT
[LAMBDA NIL (* BBB "26-Dec-84 16:45")
(LIST (QUOTE !)
(LIST NIL])
)
(RPAQQ PRONUNCIATION.LIST NIL)
[DECLARE: EVAL@COMPILE
(RECORD LOGIN.INFO (LOGIN.NAME BROWSERFILE PRONUNCIATION))
]
(PUTPROPS TREES COPYRIGHT ("Xerox Corporation" 1984 1985))
(DECLARE: DONTCOPY
(FILEMAP (NIL (513 3134 (FIND.CODE 523 . 1445) (MAKE.LEAF 1447 . 1969) (MAKE.LOGIN.USERINFO 1971 .
2977) (BUILD.ROOT 2979 . 3132)))))
STOP