07/18/86 memo Syntax as a command: memo {-memo_options} memo_text or: memo {-action_args} {-memo_options} {-selection_args} Syntax as an active function: [memo memo_text] or: [memo -list {-totals}] Function: maintains a user-created reminder list in a memo segment, which is normally Person_ID.memo, in your home directory. Arguments: memo_text is the text of the memo being set. It cannot be longer than 132 characters. You can specify it in one of two forms: STR is the string without an initial hyphen that begins the memo text. No further arguments are accepted. -memo STRs treats all succeeding STRs as part of the memo text, whether or not they begin with hyphens. List of memo_options: Use these control arguments to control various options of the memo being set or to select memos being otherwise processed. -alarm, -al specifies that the memo is to be an alarm. An alarm memo is printed, or executed if set with -call, when its timer goes off, if timers are enabled, rather than being explicitly processed. It is deleted immediately after it reaches maturity, unless you supplied -retain. -call passes the memo text to the command processor as a command line when the memo matures, rather than printing it. -date DT, -dt DT identifies a date for the memo to mature. DT is truncated to the midnight preceding the date in which DT falls. (See "Notes" below.) -expires DT, -exp DT identifies the memo's expiring time; this is treated as a delta from the maturity time (which it must be greater than) so that repeating memos with expiration times work properly. When used as a selection argument, all expiring memos are selected, regardless of the expiration dates. (See "Notes" and "Notes on expiring memos" below.) -invisible, -iv specifies that the memo never be mature and never be printed during a normal memo print. -no_retain, -nret processes the memo only once and then deletes it. (Default for alarm memos) -repeat DT, -rpt DT identifies the memo's repeat interval, where DT must be greater than or equal to one minute. When the memo is reset, the new maturity time will be the next successive interval that matures in the future. When used as a selection argument, all repeating memos are selected, regardless of the repeat intervals given. (See "Notes" and "Notes on repeating memos.") -repeat_when_processed, -rwp specifies that the repeat time of a repeating memo be applied from the time the memo is processed, rather than from the maturity time. -retain, -ret keeps an alarm memo as an ordinary printing (or executing if set with -call) memo after it matures, rather than being deleted. (Default for nonalarm memos) -time DT, -tm DT identifies a time for the memo to mature (see "Notes"). List of action_args: These control arguments control various memo options. The -delete, -list, -postpone, -print, and -process actions are mutually exclusive. -brief, -bf does not print message "No memos." if no memos are found. -delete {-force}, -dl {-fc} deletes all memos selected by the optional arguments. You must explicitly supply at least one memo. It queries you before deleting nonmature memos; however, with -force, it deletes memos--without querying you--even if they are not yet mature. -list, -ls prints text and control information of selected memos; no memos are executed. If you don't explicitly select memos, all memos are listed. If you also give -totals, only the total number of selected memos is printed. -off suppresses all memo alarms until the next memo command with no explicitly specified action. You can combine -on and -off with other actions. -on enables memo alarms without printing or executing nonalarm memos. -pathname -default, -pn -dft resets the default memo segment to Person.ID.memo in your home directory. -pathname path, -pn path changes the default memo segment to path if specified with no other action; otherwise the memo segment specified by path is used for the execution only of the current memo command. If you supply -pathname along with -on or -off, the default memo segment is changed and alarms are turned on or off, as appropriate, for the new segment. You need not give the suffix .memo. -postpone DT, -pp DT reschedules the maturity of the selected memos to the time specified by DT, if DT is later than the current maturity time. You must explicitly provide at least one memo. (See "Notes.") -print, -pr prints text of all selected memos. No memos are executed. If you don't explicitly select memos, only mature memos are printed. -process causes all mature memos to be processed, and alarms to be turned on, if not otherwise specified. This is equivalent to explicitly specifying no action. -status, -st prints information about the current default memo segment. If you specify it, it must be the only argument. -totals, -tt you can only use it together with -list. When you give it, the total number of memos selected is printed, rather than listing each of the memos. List of selection_args: These arguments are used to select memos to be listed, printed, deleated, or postponed. You can also use some memo_options to specify types of memos to be selected (see "Notes"). When you supply more than one selection_args, only those memos that match all the selection criteria are chosen. memo_number is either a positive decimal number specifying a single memo (e.g., 32) or two such numbers separated by a colon, specifying a range of memos (e.g., 12:16). -from DT, -fm DT selects all memos that mature on, or after, DT. You can combine it with -to, but specify each only once. It is incompatible with -date and -time. (See "Notes.") -match STR specifies a string against which memo texts are matched to select memos. STR cannot be longer than 32 characters. You can supply up to 40 STRs; all memos that match at least one are selected. -to DT selects all memos that mature on, or before, DT. This control argument is incompatible with -date and -time. (See "Notes.") Notes: See time_strings.gi. No more than 5082 memos can be contained in a single memo segment. An individual memo can be no more than 132 characters long. If you explicitly specify no action and set no memo, all mature memos are processed (printed or executed) and the alarm timer is turned on, enabling the processing of alarm memos. You can use the memo_options to specify types of memos to be selected; those that take a date/time interval (-repeat, -expires, but not -date or -time) cause the selection of all repeating or expiring memos, as the time interval (which you must specify) is ignored. Notes on default memo segment: The memo command operates on the default memo segment (unless -pathname is specified with one of the actions -delete, -list, -postpone, -print or -process). This default memo segment is also used when processing alarm timers, to find the memos which should be processed for the alarm. If the default memo segment has never been explicitly specified (by using -pathname without any other actions), it is the segment Person_ID.memo in the user's home directory. The default memo segment is created if it does not already exist. If the default memo segment is changed, alarms are turned off for the old memo segment, and then turned on for the new one (if requested). Thus, only one memo segment can have alarms active at a time. Notes on repeating memos: A repeating memo repeats by setting a new memo that is identical to the original one, and then turning off the repeat specification in the original memo. Thus the actual repeating memo, rather than its visible consequences, gets a new number each time it repeats. Since the repeat specification is turned off in the original memo, it never repeats again, but remains until deleted, unless it has an expiration date or was set with -no_retain. An alarm memo that repeats will mature once, and then be automatically deleted, unless it was set with -retain, in which case it is turned into an ordinary, non-alarm memo and lasts until it expires or is deleted. Notes on expiring memos: Expired memos are deleted without being reprinted or executed. However, if they are repeating memos, they are repeated before being deleted. This is useful for cases such as a reminder of a weekly meeting, where the reminder of this week's meeting should always be set, but the reminder of this week's meeting should not be printed if the current time is after the end of this week's meeting. A sequence of repeating memos must be terminated manually (by deleting the current memo); the -expires control argument is not useful for this purpose. Notes on active function: The memo active function can only be used to set and list memos. When a memo is set, the number assigned to the newly set memo is returned. When memos are listed, a string consisting of the memo numbers selected, separated by spaces, is returned; if -totals is specified, the total count is returned. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved