$H2{Memo: the first APM version for the new laser-controller.}$B^0 $B0.2"The program Memo prepares memoranda in a standard format. $B0It sends the resulting file to directory B::LP2:, whence it expects a despooler to pick it up and print it. The despooler runs, for the time being, on SM's machine, to which a laser-printer is connected. $B1For your convenience, insert into your login.com file the lines:- $B0@office:setup $B0memo= office:memo $B1 A sample session follows, with explanations of the dialogue between the user and the APM. $T*1 $B1$T0$H2{$$}$I1.2{office:memo} $B0Prompts and other output from the APM are shown in $H2{bold} type, the users responses are in $I1.2{Italic}. $B1$T0$H2{From: }$I1.2{SSM} $B0The sender's name or other identifier will be printed in the heading. $B1$T0$H2{To: }$I1.2{KBD;HLC} $B0$T0$H2{To: }$I1.2{DAM, Room 1419} $B0$T0$H2{To: }$I1.2{*} $B0A list of names or other identifications of recipients is wanted. The names must be separated by semi-colons or newlines. The list must end with asterisk $I1.2{(*)} on a line by itself. A file of identities may be given in one or several places in the list by using the form $I1.2{@file} but the list given at the console must end int the same way, with $I1.2{*} on a line by itself. $B1,7$T0$H2{Memo-file: }$I1.2{memo35} $B0The program asks for the name of a file to hold the body of the memorandum. The response must be one of the normal forms for the parameter of Vecce, $I1.2{file} or $I1.2{file/newfile}. In the first case, if the file does not already exist a new file will be created. In the second case, if the file does not already exist this will be reported and the user given an opportunity to provide a new file-name. File names will be extended by `.lay' if no extension is given. $B0 The editor is then entered. $T*0 $B1,5$H2{Editing memo35.lay;1 to create memo35.lay;2 $B0|This is the text that was originally in the file that was nominated to hold the memorandum.} $B1,5$H2{>>}$I1.2{m0g0} $B0$H2{:}$I1.2{This is some additional text which will be put after the text that is printed above.} $B0$H2{:}$I1.2{:} $B0$H2{|**END**} $B1,3$H2{>>}$I1.2{$%c} $B0$H2{Document created in memo35.lay;2} $B0$T1 The editor is entered and behaves as usual. $B1,3$H2{You may change any item other than the permanent heading by answering "yes" to the next prompt.} $B0$H2{Changes? }$I1.2{yes} $B1,3$H2{For each item that may be changed you will be shown the prompt and the current value. Respond with yes if you wish to change its value, and give the new value in response to the prompt that follows.} $B1,2$H2{Change From: ? SSM} $B0$H2{yes/no: }$I1.2{yes} $B0$H2{From: }$I1.2{SM} $B1,7$H2{Change To: ?} $B0$H2{KBD} $B0$H2{HLC} $B0$H2{DAM, Room 1419} $B0$H2{yes/no: }$I1.2{n} $B1$H2{Changes? }$I1.2{n} $T*1,14 $B0The cycle of prompts and values continues until the response to the general query about changes is $I1.2{no}. $B1,6$H2{Send to laser? }$I1.2{y} $B1$H2{Memoranda sent to the printer in lp2:x0156.lay} $B0$H2{Disconnecting...} $T*1 $B0If the response to the last prompt had been $I1.2{no}, the memoranda would have been left in x0156.lay. Since it was $I1.2{yes} the file will be sent to B::LP2: and destroyed. When the despooler next runs on SM's APM, the file will be printed. $T*0 $B0$H2{$$}