Lafite The Interlisp-D mail system File: [Phylum]Lafite.Press Revised: December 29, 1982 by Martin Yonke Lafite is the Interlisp-D system for reading and sending mail via the Grapevine distributed mail service. It takes its name from the Chateau Lafite Rothschild, a winery where some of the finest fruits of the grape are processed. General comments Lafite retrieves inbound mail from the user's inboxes on one or more Grapevine mail servers. [MAXC mailboxes can only be accessed using MTP and thus cannot be reached from Lafite.] The mail is retrieved into one or more mail files, which can be any Interlisp-D-accessible file. Unlike Laurel, which can only access the local disk, Lafite can access files on remote file servers so it is not necessary to FTP files back and forth between your local disk and your IFS. Also, unlike Laurel, you may have several mail files "opened" at the same time. Usually, a user will have one mail file into which new mail is retrieved from the Grapevine and a variety of other mail files in which messages on different topics are stored. Thus, Lafite allows the user to move mail between mail files freely. Outbound mail may be composed (using an empty mail template, user-defined stored forms, or previously received messages) using the Interlisp-D text editor and then sent to a Grapevine mail server for distribution to its recipients. Lafite operation Lafite can be found on {PHYLUM}LAFITE.DCOM. This file will load several other supporting files, including the process machinery, several files of network code, and the Interlisp-D text editor. When Lafite is loaded, it can be started by calling (LAFITE 'ON MAILFILE). This will turn on processes if they are not already on, attempt to establish the user's Grapevine identity, read stored user data from the file LAFITE.PROFILE (if it exists) and bring up the primary Lafite window, which contains a small, fixed menu. It will then establish a browser for the file MAILFILE, creating an empty mail file of that name if one does not exist. (If MAILFILE is not supplied then ACTIVE.MAIL will be used. If MAILFILE is supplied but is the atom NIL, then no mail file is opened but you are free to send mail and open mail files at a later time). Lafite then startups a background process - LAFITEMAILWATCH - which will poll your inboxes periodically and inform you in the prompt window if there is new mail. Lafite uses Laurel mail file format for its mail files, so users with existing Laurel files may use Laurel and Lafite interchangeably. Warning: Lafite runs with processes on and performs many operations in background. Unfortunately, the process world will currently crash if you try to do two file operations simultaneously. Lafite coordinates its own activities so that this will not happen, but it can't control what is typed to the exec. However, Lafite displays a "NO IO" cursor, when it is doing a file operation. Do not initiate anything that may access a file when you see this cursor (e.g. CLEANUP, LISTFILES, or editing a function which will cause a load from a source file). Commands in the primary Lafite menu Browse - pops up a menu of the mail files that Lafite is aware that you have. Selecting 'Another File' will prompt you for a file name. After a file is selected, a browser window onto that mail file will be opened. Browse will print one line "summaries" of each message. The browse window is scrollable in both dimensions. Send Mail - will bring up an Tedit edit window on a message form. The form will be a canonical "empty message" if 'Send Mail' is selected with the left button. If it is selected with the middle button, it will present the user with a choice of 'New Form' (an empty message template), 'Last Message' (the text of the last mesage editted), 'Another Form' (which will prompt you for a form name), or a variety of stored message forms (see below). When one has transformed the text to the desired message, bring up the Tedit command menu (bug in the title bar), and select 'Quit'. This will exit Tedit and present you with the a menu containing the following options: Deliver - sends your message. When it is delivered, Lafite will print a message in the prompt window. Save - will ask you for a file name on which to save this message for later use. This is the way to save a message form for later repetitive use. It does not send it. Forget It - does nothing with the message. Note, however, that the text will still remain available as the "last message" (see above) until you send another one. Quit - Stops Lafite, closes all browser windows, saves the names of known mail files and form files on the file LAFITE.PROFILE so that this information will be available when you next run Lafite. You may achieve the same result under program control by calling (LAFITE 'OFF), rather than buttoning this menu item. When a browse window for a mail file appears on the display, a horizontal menu (called the Browser menu) appears directly above it. The items in this menu are specific to the mail file associated with the browse window. This menu will move, reshape, come to the top, and close with the browse window. Browser comands operate on the currently selected set of messages. Messages which are selected are marked by a black triangle to the left of their message number. To select messages move the cursor the left of the messge numbers in the browser window. The cursor will change to a right-pointing arrow. Then the selected message set can be altered by the following button operations: left button - replaces previous selection with this message middle button - adds a message to selection right button - extends selection shift key and any button - removes this message from selection Commands in the Browser menu Delete - deletes the selected messages. Deleted messages are indicated with a black line thru their headers. Undelete - undeletes the selected messages. Display - displays one of the selected messages. If there is only one message selected and it has already been displayed, the selection will be advanced to the next undeleted message, and this message will be displayed. If there are more than one message selected, display will cycle through the messages. If you select 'Display' with the MIDDLE button, the message will be displayed in a new window. Using the MIDDLE button you can multiple windows containing messages which you can use to compose other messages. If you select 'Display' with the LEFT button, the message will be displayed in the initial message display window - called the primary display window. Answer - runs 'Send Mail' on a form that is an answer template for the current message. Forward - runs 'Send Mail' on a form that is a forward template for the currently selected messages. Hardcopy - prints the selected messages on your local printing device. Move To - pops up a menu of known mail files and moves the selected messages to the chosen file. A new mail file can be created by selecting 'Another File' and typing in the file name. Quit - closes this browser and rewrites the file compacting out deleted messages. New Mail - brings new mail into the file that this browser is viewing. Lafite System Variables LAFITEDEFAULTREGISTRY - the Grapevine mail registry that is used for mail traffic. Initially, PA. LAFITEDEFAULTHOST&DIR - the default host and directory for mail files, LAFITE.PROFILE, etc. If it has not been set by the time Lafite is started, it will be set to the result of (DIRECTORYNAME T T). For example, if your usual mode of operation is to CONN to your directory on an IFS when you start up Interlisp-D, but you would like to keep all your mailfiles on your local disk then you should set this variable to {DSK} before your startup Lafite otherwise Lafite will default all mailfiles to your directory on your IFS and not on your local disk. MAILWATCHWAITTIME - number of minutes between new mail polls. Initially set to 5. MESSAGELENGTHFLG - if T, Lafite prints the character length of a message in the browser entry after the subject. Initially, T. LAFITEFLUSHMAILFLG - if NIL, Lafite won't flush your Grapevine mailbox when retrieving new mail. Initially, T. (NOTE: currently the default is really NIL, but this will change before Lafite gets officially released.)