home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-07-06 | 51.3 KB | 1,651 lines |
- .sp
- When constructing a return mail address to the author of a message,
- .B reply
- ! searches for special mail headers in the author's message which
- indicate the most efficient mail path for return mail.
- .I Mush
- will search for the \*QFrom:\*U, \*QReply-To:\*U,
- --- 2285,2291 ----
- .sp
- When constructing a return mail address to the author of a message,
- .B reply
- ! searches for special mail headers in the author's message that
- indicate the most efficient mail path for return mail.
- .I Mush
- will search for the \*QFrom:\*U, \*QReply-To:\*U,
- ***************
- *** 2338,2344 ****
- .BR saveopts " [file]"
- The complement of
- .BR source ,
- ! .B saveopts
- will save all settable variables, aliases
- and cmd's in the initialization file.
- (See the
- --- 2371,2377 ----
- .BR saveopts " [file]"
- The complement of
- .BR source ,
- ! .B saveopts ,
- will save all settable variables, aliases
- and cmd's in the initialization file.
- (See the
- ***************
- *** 2410,2416 ****
- .in +2
- .ta 1i
- - reverse sort order
- ! d sort by date received
- a sort by author (alphabetical)
- s sort by subject ignoring \*QRe:\*U
- R sort by subject (alphabetical)
- --- 2443,2449 ----
- .in +2
- .ta 1i
- - reverse sort order
- ! d sort by date
- a sort by author (alphabetical)
- s sort by subject ignoring \*QRe:\*U
- R sort by subject (alphabetical)
- ***************
- *** 2426,2431 ****
- --- 2459,2469 ----
- New, unread messages are first, followed by preserved messages,
- and finally deleted messages are placed at the end of the list.
- .sp
- + When sorting by date, the boolean variable
- + .B date_received
- + is checked. If it is set, then sorting goes by date received.
- + Otherwise (default), sorting is by date sent by the original author.
- + .sp
- If the variable
- .I sort
- is set, messages are sorted each time the user's system mailbox is
- ***************
- *** 2504,2514 ****
- Options may be either boolean, in which case it is only
- significant to see whether or not they are set;
- string, in which case the actual value is of interest;
- ! or numerical, in which the numerical value is important.
- Some variables may have attributes
- of boolean and string at the same time.
- .sp
- ! If you or the program references a variable which is not explicitly set,
- then the environment variables are checked and a pointer to that data
- is returned.
- Following is a list of all predefined variables.
- --- 2542,2552 ----
- Options may be either boolean, in which case it is only
- significant to see whether or not they are set;
- string, in which case the actual value is of interest;
- ! or numerical, in which case the numerical value is important.
- Some variables may have attributes
- of boolean and string at the same time.
- .sp
- ! If you or the program references a variable that is not explicitly set,
- then the environment variables are checked and a pointer to that data
- is returned.
- Following is a list of all predefined variables.
- ***************
- *** 2531,2537 ****
- will ignore those headers even in the situations mentioned here.
- No headers can be ignored during updates and when using the
- .B save
- ! command since the user may ignore headers which are required by
- .I Mush
- or any other mail system to read those folders.
- .sp
- --- 2569,2575 ----
- will ignore those headers even in the situations mentioned here.
- No headers can be ignored during updates and when using the
- .B save
- ! command since the user may ignore headers that are required by
- .I Mush
- or any other mail system to read those folders.
- .sp
- ***************
- *** 2559,2569 ****
- .TP
- .B autodelete
- (Boolean)
- ! When exiting mail, all messages which have been read
- .I "regardless of whether they have been marked for deletion"
- are removed.
- Only messages that haven't been read or marked as
- ! .BR preserved ,
- are not removed.
- .TP
- .B autoedit
- --- 2597,2607 ----
- .TP
- .B autodelete
- (Boolean)
- ! When exiting mail, all messages that have been read
- .I "regardless of whether they have been marked for deletion"
- are removed.
- Only messages that haven't been read or marked as
- ! .BR preserved
- are not removed.
- .TP
- .B autoedit
- ***************
- *** 2584,2590 ****
- .TP
- .B auto_route
- (Boolean)
- ! This variable has two functions, both of which only concern the command,
- .BR replyall ,
- and is only important to users who use UUCP to mail to remote sites.
- The first function is to cause replyall to modify the return addresses
- --- 2622,2628 ----
- .TP
- .B auto_route
- (Boolean)
- ! This variable has two functions, both of which only concern the command
- .BR replyall ,
- and is only important to users who use UUCP to mail to remote sites.
- The first function is to cause replyall to modify the return addresses
- ***************
- *** 2594,2609 ****
- destination.
- If the original sender of the message was on a remote
- machine which your machine does not exchange UUCP mail with, then a UUCP
- ! path containing hosts which you do talk to will have to be
- created to respond to the author.
- However, if he mailed to other people
- ! on machines which are also multi-hops away, the addresses he used for
- those recipients may differ from what you should specify if you were to
- try to reply to everyone on the listed in the original message.
- .sp
- ! For example, if the original sender came from remote host,
- .B pixar
- ! and the list of recipients looked like,
- .sp
- .nf
- .in +2
- --- 2632,2647 ----
- destination.
- If the original sender of the message was on a remote
- machine which your machine does not exchange UUCP mail with, then a UUCP
- ! path containing hosts that you do talk to will have to be
- created to respond to the author.
- However, if he mailed to other people
- ! on machines that are also multi-hops away, the addresses he used for
- those recipients may differ from what you should specify if you were to
- try to reply to everyone on the listed in the original message.
- .sp
- ! For example, if the original sender came from remote host
- .B pixar
- ! and the list of recipients looked like
- .sp
- .nf
- .in +2
- ***************
- *** 2625,2631 ****
- An attempt will be made to compensate by reconstructing the addresses
- for \*Quser2\*U and \*Quser3\*U according to the address of the original
- sender, \*Quser1\*U.
- ! The new addresses for \*Quser2\*U and \*Quser3\*U should therefore become,
- .sp
- .ti +2
- pixar!r2d2!user2, pixar!r2d2!user3.
- --- 2663,2669 ----
- An attempt will be made to compensate by reconstructing the addresses
- for \*Quser2\*U and \*Quser3\*U according to the address of the original
- sender, \*Quser1\*U.
- ! The new addresses for \*Quser2\*U and \*Quser3\*U should therefore become
- .sp
- .ti +2
- pixar!r2d2!user2, pixar!r2d2!user3.
- ***************
- *** 2639,2645 ****
- UUCP mail connections with.
- This list is checked when constructing
- mail addresses and the shortest path is made by removing from the
- ! UUCP path those hosts which do not need to be called.
- See the entry for
- .B known_hosts
- for more information.
- --- 2677,2683 ----
- UUCP mail connections with.
- This list is checked when constructing
- mail addresses and the shortest path is made by removing from the
- ! UUCP path those hosts that do not need to be called.
- See the entry for
- .B known_hosts
- for more information.
- ***************
- *** 2676,2682 ****
- .B autosign
- (Boolean/string)
- Append a signature to outgoing mail.
- ! If this variable is set, but not to a string (e.g., boolean-true),
- then the file ~/.signature is used.
- .sp
- Otherwise, the variable is interpreted in one of three ways.
- --- 2714,2720 ----
- .B autosign
- (Boolean/string)
- Append a signature to outgoing mail.
- ! If this variable is set, but not to a string (e.g., boolean-true)
- then the file ~/.signature is used.
- .sp
- Otherwise, the variable is interpreted in one of three ways.
- ***************
- *** 2692,2698 ****
- is interpreted as a user-definable variable and is expanded and appended
- to the letter.
- .sp
- ! Finally, if the variable is set to a string that begins with a backslash (\\),
- then the string itself (minus the `\\' character) is used; no expansion
- is done and no files are read.
- .sp
- --- 2730,2736 ----
- is interpreted as a user-definable variable and is expanded and appended
- to the letter.
- .sp
- ! Finally, if the variable is set to a string that begins with a backslash (\\)
- then the string itself (minus the `\\' character) is used; no expansion
- is done and no files are read.
- .sp
- ***************
- *** 2699,2705 ****
- In the latter two cases, it is advisable to set the variable using single
- quotes to avoid expanding the variable beforehand or eliminating the
- backslash.
- ! Examples,
- .sp
- .ti +2
- set autosign = '$foo'
- --- 2737,2743 ----
- In the latter two cases, it is advisable to set the variable using single
- quotes to avoid expanding the variable beforehand or eliminating the
- backslash.
- ! Examples:
- .sp
- .ti +2
- set autosign = '$foo'
- ***************
- *** 2707,2713 ****
- set autosign = '\\ Dan Heller island!argv@ucbcad.berkeley.edu'
- .sp
- Warning: if redirection from the calling shell is used, there will be
- ! no signature or forutne added to outgoing mail. For example,
- .sp
- .ti +2
- % mush -s report manager < report_file
- --- 2745,2751 ----
- set autosign = '\\ Dan Heller island!argv@ucbcad.berkeley.edu'
- .sp
- Warning: if redirection from the calling shell is used, there will be
- ! no signature or fortune added to outgoing mail. For example,
- .sp
- .ti +2
- % mush -s report manager < report_file
- ***************
- *** 2720,2727 ****
- .B autosign2
- (String)
- This alternate signature is available for special cases where the default
- ! signature is not desired or if no signture is desired for special addresses
- ! or if special addresses only require a signature.
- The format for this variable is:
- .sp
- .ti +2
- --- 2758,2765 ----
- .B autosign2
- (String)
- This alternate signature is available for special cases where the default
- ! signature is not desired or if no signature is desired for special addresses
- ! or if only special addresses require a signature.
- The format for this variable is:
- .sp
- .ti +2
- ***************
- *** 2780,2786 ****
- .TP
- .B crt
- (Numeric)
- ! Set to a value which describes the number of lines a message
- must have before invoking the
- .B pager
- to view a message.
- --- 2818,2824 ----
- .TP
- .B crt
- (Numeric)
- ! Set to a value that describes the number of lines a message
- must have before invoking the
- .B pager
- to view a message.
- ***************
- *** 2792,2807 ****
- string is automatically set upon startup of
- .I Mush
- and is reset each time the command
- ! .BR cd ,
- is called.
- It is referenced each time
- .B pwd
- is called and may be used as any other shell variable.
- .TP
- .B dead
- (String)
- File to use instead of dead.letter when interrupted mail is saved.
- ! For more information, see the variable,
- .B nosave.
- .TP
- .B dot
- --- 2830,2857 ----
- string is automatically set upon startup of
- .I Mush
- and is reset each time the command
- ! .BR cd
- is called.
- It is referenced each time
- .B pwd
- is called and may be used as any other shell variable.
- .TP
- + .B date_received
- + (Boolean)
- + When message headers are printed, the date is normally shown is
- + the time and date the sender sent the message. If this variable
- + is set, then the date displayed is the date received.
- + .sp
- + When sorting messages by date, this variable is queried to determine
- + whether the messages should be sorted by date sent or date received.
- + .sp
- + \fBWarning:\fR For mailers that store messages \fIwithout\fR a line
- + that starts with \*QFrom \*U, this option does nothing.
- + .TP
- .B dead
- (String)
- File to use instead of dead.letter when interrupted mail is saved.
- ! For more information, see the variable
- .B nosave.
- .TP
- .B dot
- ***************
- *** 2818,2824 ****
- (Character)
- When typing in a letter (not in an editor), when the
- .B escape
- ! character is the first character on the line, the following character
- is examined and a corresponding function associated with that
- .B "escape command"
- is executed.
- --- 2868,2874 ----
- (Character)
- When typing in a letter (not in an editor), when the
- .B escape
- ! character is the first character on the line, the next character
- is examined and a corresponding function associated with that
- .B "escape command"
- is executed.
- ***************
- *** 2855,2869 ****
- make sure that only a selected group of people get a fortune since
- certain people may not understand the messages at the end of your
- mail. Therefore, you can set a list of addresses (either pure addresses
- ! or aliases which are expanded to addresses) to be the only people who
- receive fortunes if one is to be appended. Therefore,
- if the To: and Cc: lines contain only address listed in this string
- variable, then a fortune is appended to the message.
- ! If those lists contain names which are not on the fortunates
- list, then no fortune is added.
- This cannot be overriden; using the
- tilde command \*Q~F\*U does not force a fortune to be added unless the
- ! list of individuals on the recipient list are all included in the fortunates
- list. The list is made up of addresses or aliases separated by spaces or
- commas.
- .I "NOTE: fortune must be set in order for fortunates to work."
- --- 2905,2919 ----
- make sure that only a selected group of people get a fortune since
- certain people may not understand the messages at the end of your
- mail. Therefore, you can set a list of addresses (either pure addresses
- ! or aliases that are expanded to addresses) to be the only people who
- receive fortunes if one is to be appended. Therefore,
- if the To: and Cc: lines contain only address listed in this string
- variable, then a fortune is appended to the message.
- ! If those lists contain names that are not on the fortunates
- list, then no fortune is added.
- This cannot be overriden; using the
- tilde command \*Q~F\*U does not force a fortune to be added unless the
- ! individuals on the recipient list are all included in the fortunates
- list. The list is made up of addresses or aliases separated by spaces or
- commas.
- .I "NOTE: fortune must be set in order for fortunates to work."
- ***************
- *** 2915,2920 ****
- --- 2965,2977 ----
- in which case the name and address are the same.
- .sp
- .TP
- + .B history
- + (Numeric)
- + This variable is set to the number of commands the shell interface
- + will remember. It is just like the history variable used in
- + .I csh.
- + If unset, the last command can always be referenced, but none other.
- + .TP
- .B hold
- (Boolean)
- Normally, on termination of mail, read messages are saved in
- ***************
- *** 2937,2942 ****
- --- 2994,3011 ----
- If the home directory cannot be found or read/write access is denied, an
- alternate directory, typically /tmp, is used.
- .TP
- + .B hostname
- + (String)
- + This is the name of your computer. Currently, its sole usage is to
- + compose a correct \*QFrom:\*U line for use with Mail Transport Agents
- + that do not create this header automatically. This will aid the
- + recipients of your mail in replying to your messages.
- + .sp
- + Note: the user should not have to set
- + this variable since it should be set automatically by the system. However,
- + it may happen that the system's hostname cannot be queried and the user may
- + have to set this variable manually.
- + .TP
- .B ignore_bang
- (Boolean)
- If set,
- ***************
- *** 2955,2969 ****
- .B reply
- commands.
- .TP
- .B in_reply_to
- (String)
- ! This variable may be set to a string which will complete the
- header \*QIn-Reply-To:\*U.
- The format of this string is identical to the options for the variable
- .BR hdr_format .
- .sp
- For example, if the user were to respond to a message
- ! from Dan Heller that was sent on October 21, 1987 at 10:39pm, with
- .B in_reply_to
- set to the string
- .in +2
- --- 3024,3049 ----
- .B reply
- commands.
- .TP
- + .B indent_str
- + (String)
- + When including messages into the text of a letter you are editing,
- + each line of the messages is preceded by the value of
- + .BR indent_str .
- + If it is unset, the message body is indented by the string \*Q> \*U.
- + See also the variables
- + .B pre_indent_str
- + and
- + .BR post_indent_str .
- + .TP
- .B in_reply_to
- (String)
- ! This variable may be set to a string that will complete the
- header \*QIn-Reply-To:\*U.
- The format of this string is identical to the options for the variable
- .BR hdr_format .
- .sp
- For example, if the user were to respond to a message
- ! from Dan Heller that was sent on October 21, 1987, at 10:39pm, with
- .B in_reply_to
- set to the string
- .in +2
- ***************
- *** 2973,2994 ****
- .ti -2
- the header line
- .sp
- ! In-Reply-To: Dan Heller's message as of Oct 21, 1987 10:39pm.
- .in-2
- .sp
- would be added to the message.
- .TP
- - .B indent_str
- - (String)
- - When including messages into the text of a letter you are editing,
- - each line of the messages is preceded by the value of
- - .BR indent_str .
- - If it is unset, the message body is indented by the string \*Q> \*U.
- - See also the variables
- - .B pre_indent_str
- - and
- - .BR post_indent_str .
- - .TP
- .B keepsave
- (Boolean)
- If set, the commands
- --- 3053,3063 ----
- .ti -2
- the header line
- .sp
- ! In-Reply-To: Dan Heller's message as of Oct 21, 1987, 10:39pm.
- .in-2
- .sp
- would be added to the message.
- .TP
- .B keepsave
- (Boolean)
- If set, the commands
- ***************
- *** 3007,3016 ****
- and/or commas, and describes
- the hosts with whom you know your machine shares UUCP connections.
- When replying to mail, many times you will see that the return path
- ! constructed will have hostnames which your site could call, but instead
- the mail has been routed through a number of different machines first.
- .sp
- ! For example, if you respond to mail which would mail to the path,
- .sp
- .ti +2
- unicom!pixar!root
- --- 3076,3085 ----
- and/or commas, and describes
- the hosts with whom you know your machine shares UUCP connections.
- When replying to mail, many times you will see that the return path
- ! constructed will have hostnames that your site could call, but instead
- the mail has been routed through a number of different machines first.
- .sp
- ! For example, if you respond to mail that would mail to the path
- .sp
- .ti +2
- unicom!pixar!root
- ***************
- *** 3018,3024 ****
- but your know your machine already calls pixar, then sending the mail
- to unicom first is unnecessary.
- If you have set your known_hosts string to include pixar in its list,
- ! the resulting address would look like,
- .sp
- .ti +2
- pixar!root
- --- 3087,3093 ----
- but your know your machine already calls pixar, then sending the mail
- to unicom first is unnecessary.
- If you have set your known_hosts string to include pixar in its list,
- ! the resulting address would look like
- .sp
- .ti +2
- pixar!root
- ***************
- *** 3073,3079 ****
- When no_expand is set, aliases are not expanded and the headers
- reflect the same information as typed by the user.
- .TP
- ! .B no_hdr
- (Boolean)
- If set, this variable tells
- .I Mush
- --- 3142,3148 ----
- When no_expand is set, aliases are not expanded and the headers
- reflect the same information as typed by the user.
- .TP
- ! .B no_hdrs
- (Boolean)
- If set, this variable tells
- .I Mush
- ***************
- *** 3095,3103 ****
- signals.
- When the message is terminated, a copy of it is saved to the
- file \*Qdead.letter\*U in the user's home directory or to the file described
- ! by the variable,
- .BR dead .
- ! If the variable,
- .B nosave
- is set, then a backup copy of the message will not be saved.
- .TP
- --- 3164,3172 ----
- signals.
- When the message is terminated, a copy of it is saved to the
- file \*Qdead.letter\*U in the user's home directory or to the file described
- ! by the variable
- .BR dead .
- ! If the variable
- .B nosave
- is set, then a backup copy of the message will not be saved.
- .TP
- ***************
- *** 3133,3139 ****
- as follows:
- .sp
- .ti +2
- ! set pre_indent_str = '[In the message entitled "%s", on %7d\n %n writes:]'
- .sp
- You can then include a message body using \*Q~i\*U, and you might
- get something like this:
- --- 3202,3208 ----
- as follows:
- .sp
- .ti +2
- ! set pre_indent_str = '[In the message entitled "%s", on %7d\\n %n writes:]'
- .sp
- You can then include a message body using \*Q~i\*U, and you might
- get something like this:
- ***************
- *** 3215,3221 ****
- .B prompt
- (String)
- You can set your prompt to tell you many different pieces of information.
- ! By default, the prompt is set to the string,
- .sp
- .ti +2
- \*QMsg %m of %t: \*U
- --- 3284,3290 ----
- .B prompt
- (String)
- You can set your prompt to tell you many different pieces of information.
- ! By default, the prompt is set to the string
- .sp
- .ti +2
- \*QMsg %m of %t: \*U
- ***************
- *** 3238,3243 ****
- --- 3307,3313 ----
- %D today's day (Sun, Mon, Tue, ...)
- %f filename of the current folder
- %m \*Qcurrent message\*U number
- + %M current month
- %n number of \*Qnew\*U messages
- %N today's date (Number of the day in the month)
- %T current time (hours and seconds)
- ***************
- *** 3255,3260 ****
- --- 3325,3343 ----
- .I Mush
- is not printed on startup.
- .TP
- + .B realname
- + (String)
- + Set to the name of the user. The name is initialized to the value of
- + the environment variable
- + .B NAME
- + upon invocation of the program.
- + If that isn't set, then the name is gotten from the password file if
- + available. If this variable wants to be reset or changed after the
- + program has started, the user should issue the command:
- + .sp
- + .ti +2
- + set realname = "Your name here"
- + .TP
- .B record
- (String)
- Set to the name of a file to record all outgoing mail.
- ***************
- *** 3277,3283 ****
- given there is used.
- If the variable
- .B reply_to_hdr
- ! is set to a of headers (delimited by spaces or commas), then that list
- is searched.
- If none of the headers listed in the variable exist
- in the message, then a warning message is printed and the default
- --- 3360,3366 ----
- given there is used.
- If the variable
- .B reply_to_hdr
- ! is set to a list of headers (delimited by spaces or commas), then that list
- is searched.
- If none of the headers listed in the variable exist
- in the message, then a warning message is printed and the default
- ***************
- *** 3286,3296 ****
- .B reply
- command for more details.
- .TP
- ! .B sendmail
- ! (String)
- ! If set, the program and arguments described by this variable will
- ! be executed to actually deliver mail sent by
- ! .I Mush.
- .TP
- .B screen
- (Numeric)
- --- 3369,3381 ----
- .B reply
- command for more details.
- .TP
- ! .B save_empty
- ! (Boolean)
- ! Normally, when all messages in a folder are deleted and the user updates
- ! the folder or changes to a new folder, the empty folder is deleted.
- ! .B save_empty
- ! prevents the folder from being deleted and it is left zero length.
- ! Note: the main system mailbox is never deleted when empty anyway.
- .TP
- .B screen
- (Numeric)
- ***************
- *** 3299,3308 ****
- .TP
- .B screen_win
- (Numeric)
- ! Man be set to the number of message headers to display in the tool mode.
- A subwindow is created for message headers, and its size is large
- enough to hold $screen_win headers.
- .TP
- .B show_deleted
- (Boolean)
- If true, deleted message headers are displayed along with
- --- 3384,3399 ----
- .TP
- .B screen_win
- (Numeric)
- ! May be set to the number of message headers to display in the tool mode.
- A subwindow is created for message headers, and its size is large
- enough to hold $screen_win headers.
- .TP
- + .B sendmail
- + (String)
- + If set, the program and arguments described by this variable will
- + be executed to actually deliver mail sent by
- + .I Mush.
- + .TP
- .B show_deleted
- (Boolean)
- If true, deleted message headers are displayed along with
- ***************
- *** 3312,3320 ****
- .TP
- .B show_hdrs
- (String)
- ! Set to a list (space and/or comma separated) of headers which are to be the
- only headers displayed when viewing a message.
- ! This variable disables the headers supressed by the
- .B ignore
- command.
- For example,
- --- 3403,3411 ----
- .TP
- .B show_hdrs
- (String)
- ! Set to a list (space and/or comma separated) of headers that are to be the
- only headers displayed when viewing a message.
- ! This variable disables the headers suppressed by the
- .B ignore
- command.
- For example,
- ***************
- *** 3322,3328 ****
- .ti +2
- set show_hdrs = "from date subject to cc"
- .sp
- ! will only display the headers,
- .B From: Date: Subject: To: Cc:
- in their entirety.
- .TP
- --- 3413,3419 ----
- .ti +2
- set show_hdrs = "from date subject to cc"
- .sp
- ! will only display the headers
- .B From: Date: Subject: To: Cc:
- in their entirety.
- .TP
- ***************
- *** 3342,3348 ****
- .TP
- .B tmpdir
- (String)
- ! This variable describes the path to use as the directory to use
- for all tempfiles that
- .I Mush
- uses. By default, the user's home directory is used. If that
- --- 3433,3439 ----
- .TP
- .B tmpdir
- (String)
- ! This variable describes the path to use as the directory
- for all tempfiles that
- .I Mush
- uses. By default, the user's home directory is used. If that
- ***************
- *** 3351,3363 ****
- .TP
- .B toplines
- (Numeric)
- ! The number of lines of a message to print when the "top" command
- ! is issued.
- ! If unset, $crt lines are printed.
- .TP
- .B unix
- (Boolean)
- ! If set, commands which are not
- .I Mush
- commands are considered to be
- .I UNIX
- --- 3442,3457 ----
- .TP
- .B toplines
- (Numeric)
- ! The number of lines of a message to print when the
- ! .B top
- ! command is issued. If unset, $crt lines are printed.
- ! Note that the message body only is printed when using the
- ! .B top
- ! command; message headers are not counted as lines since they are not displayed.
- .TP
- .B unix
- (Boolean)
- ! If set, commands that are not
- .I Mush
- commands are considered to be
- .I UNIX
- ***************
- *** 3393,3399 ****
- When through editing messages, just before sending,
- .B verify
- will ask you if you want to send, continue editing, or abort the
- ! whole message all together.
- .TP
- .B visual
- (String)
- --- 3487,3493 ----
- When through editing messages, just before sending,
- .B verify
- will ask you if you want to send, continue editing, or abort the
- ! whole message altogether.
- .TP
- .B visual
- (String)
- ***************
- *** 3436,3442 ****
- will be aware of changes in other environments should they be forced
- to use them.
- There may also be warning messages of failed routines
- ! or assertions which are not fatal enough to interrupt normal running
- of the program.
- .TP
- .B wrap
- --- 3530,3536 ----
- will be aware of changes in other environments should they be forced
- to use them.
- There may also be warning messages of failed routines
- ! or assertions that are not fatal enough to interrupt normal running
- of the program.
- .TP
- .B wrap
- ***************
- *** 3452,3463 ****
- .B next
- command.
- .SH "MAIL ADDRESSES"
- ! Whenever a command which requires a user address or set of addresses
- is specified
- .RB ( mail ,
- .BR reply ,
- .BR alias ,
- ! .BR etc ),
- the addresses given must be separated by commas.
- Most casual users specify addresses that contain no comments or whitespace.
- The simplest addresses are just the login names of the users you wish to send
- --- 3546,3557 ----
- .B next
- command.
- .SH "MAIL ADDRESSES"
- ! Whenever a command that requires a user address or set of addresses
- is specified
- .RB ( mail ,
- .BR reply ,
- .BR alias ,
- ! .BR etc )
- the addresses given must be separated by commas.
- Most casual users specify addresses that contain no comments or whitespace.
- The simplest addresses are just the login names of the users you wish to send
- ***************
- *** 3565,3571 ****
- .nf
- .in +2
- .ta 1.5i
- ! alias george George Jetson <george@spacely.space.sprokets>
- alias jane Jane Jetson <jane@sky-high.appts>
- alias group george, jane
- .in -2
- --- 3659,3665 ----
- .nf
- .in +2
- .ta 1.5i
- ! alias george George Jetson <george@spacely.space.sprockets>
- alias jane Jane Jetson <jane@sky-high.appts>
- alias group george, jane
- .in -2
- ***************
- *** 3573,3579 ****
- .sp
- You can mail using the alias as an address and it will be expanded
- accordingly.
- ! You can not, however, reference an alias and specify a
- comment or another address at the same time.
- .sp
- .ti +2
- --- 3667,3673 ----
- .sp
- You can mail using the alias as an address and it will be expanded
- accordingly.
- ! You cannot, however, reference an alias and specify a
- comment or another address at the same time.
- .sp
- .ti +2
- ***************
- *** 3593,3599 ****
- ~/.mushXXXXXX Temporary mail file (copy of current folder)
- .fi
- .PP
- ! Temporary files which are created by the program are always
- created with read/write access to the owner only; group and other
- permissions are never set.
- This is also true for the /usr/spool/mail/* files.
- --- 3687,3693 ----
- ~/.mushXXXXXX Temporary mail file (copy of current folder)
- .fi
- .PP
- ! Temporary files that are created by the program are always
- created with read/write access to the owner only; group and other
- permissions are never set.
- This is also true for the /usr/spool/mail/* files.
- ***************
- *** 3634,3641 ****
- argv@spam.istc.sri.com sun!island!argv
- .SH BUGS
- The curses interface uses the curses library.
- ! The routines from the library that are used are the most basic and simple to
- ! avoid possible bugginess that different versions of UNIX might have.
- However, one unavoidable problem is the reverse video mode.
- Depending on your terminal,
- the termcap entry for it, and the version of curses you are running,
- --- 3728,3735 ----
- argv@spam.istc.sri.com sun!island!argv
- .SH BUGS
- The curses interface uses the curses library.
- ! The routines from the library that are used are the most basic and simple
- ! so as to avoid possible bugginess that different versions of UNIX might have.
- However, one unavoidable problem is the reverse video mode.
- Depending on your terminal,
- the termcap entry for it, and the version of curses you are running,
- ***************
- *** 3650,3656 ****
- and there is no swap space left, there may be problems.
- One such problem is sending mail.
- If this happens, then sending mail
- ! will fail and a segmentation fault from the spawned forked child will occur
- unless the -v flag was given to mail.
- The unsent letter will not be removed from the editing file ($home/.edXXXXXX)
- and may be recovered.
- --- 3744,3750 ----
- and there is no swap space left, there may be problems.
- One such problem is sending mail.
- If this happens, then sending mail
- ! will fail and a segmentation fault from the spawned/forked child will occur
- unless the -v flag was given to mail.
- The unsent letter will not be removed from the editing file ($home/.edXXXXXX)
- and may be recovered.
- ***************
- *** 3671,3677 ****
- .I window
- to run commands from.
- It is impossible to determine whether or not the user wants to run an
- ! interactive program or not so it is best to disallow its usage all together.
- The experienced window user
- can figure out how to really do shell layers from within the tool mode.
- .PP
- --- 3765,3771 ----
- .I window
- to run commands from.
- It is impossible to determine whether or not the user wants to run an
- ! interactive program or not, so it is best to disallow its usage all together.
- The experienced window user
- can figure out how to really do shell layers from within the tool mode.
- .PP
- ***************
- *** 3684,3691 ****
- The function keys and their ability to
- .I work
- has been variable depending on the version of SunWindows/SunView
- ! your Sun Workstation has.
- ! From time to time, it works, but when it
- doesn't, it seems to be related to other user or system definable
- dot-files or whatever.
- I hardly use them, so I haven't had a chance
- --- 3778,3784 ----
- The function keys and their ability to
- .I work
- has been variable depending on the version of SunWindows/SunView
- ! your Sun Workstation has. From time to time, it works, but when it
- doesn't, it seems to be related to other user or system definable
- dot-files or whatever.
- I hardly use them, so I haven't had a chance
- ***************
- *** 3706,3717 ****
- .I Mush
- may complain or not even run since it needs temporary space with which
- to work.
- ! Instead of finding new filesystems on it's own,
- .I Mush
- leaves this task up to the user.
- The workaround is to set the variable
- .B home
- ! in the initialization file to be a writable place in a filesystem which
- has enough disk space.
- This will set the user's home directory to be
- set incorrectly, but resetting the home manually once in the shell
- --- 3799,3810 ----
- .I Mush
- may complain or not even run since it needs temporary space with which
- to work.
- ! Instead of finding new filesystems on its own,
- .I Mush
- leaves this task up to the user.
- The workaround is to set the variable
- .B home
- ! in the initialization file to be a writable place in a filesystem that
- has enough disk space.
- This will set the user's home directory to be
- set incorrectly, but resetting the home manually once in the shell
- *** OLD/mush.h Thu May 12 21:14:46 1988
- --- mush.h Wed Jul 6 12:06:20 1988
- ***************
- *** 1,19 ****
- /* @(#)mush.h (c) copyright 1986 (Dan Heller) */
-
- ! #define VERSION "Mail User's Shell (6.2 5/11/88)"
-
- #include "config.h"
-
- #ifdef CURSES
- #ifdef USG
- # define _USG
- # undef USG
- #endif /* USG */
- #include <curses.h>
- #if !defined(USG) && defined(_USG)
- # define USG
- ! # undef _USG
- ! #endif /* USG && _USG */
- #else /* CURSES */
- #include <stdio.h>
- #if defined(SYSV) && defined(USG)
- --- 1,27 ----
- /* @(#)mush.h (c) copyright 1986 (Dan Heller) */
-
- ! #define VERSION "Mail User's Shell (6.3 6/25/88)"
-
- #include "config.h"
-
- #ifdef CURSES
- +
- #ifdef USG
- # define _USG
- # undef USG
- #endif /* USG */
- + #ifdef SYSV
- + # define _SYSV
- + # undef SYSV
- + #endif /* SYSV */
- #include <curses.h>
- #if !defined(USG) && defined(_USG)
- # define USG
- ! #endif /* USG */
- ! #if !defined(SYSV) && defined(_SYSV)
- ! # define SYSV
- ! #endif /* SYSV */
- !
- #else /* CURSES */
- #include <stdio.h>
- #if defined(SYSV) && defined(USG)
- ***************
- *** 87,94 ****
- * on_intr() and off_intr() macros, initialize WAS_INTR to false.
- */
- #define on_intr() \
- ! turnoff(glob_flags, WAS_INTR), oldint = signal(SIGINT, interrupt), \
- ! oldquit = signal(SIGQUIT, interrupt)
-
- #define off_intr() \
- turnoff(glob_flags, WAS_INTR), (void) signal(SIGINT, oldint), \
- --- 95,102 ----
- * on_intr() and off_intr() macros, initialize WAS_INTR to false.
- */
- #define on_intr() \
- ! turnoff(glob_flags, WAS_INTR), oldint = signal(SIGINT, intr), \
- ! oldquit = signal(SIGQUIT, intr)
-
- #define off_intr() \
- turnoff(glob_flags, WAS_INTR), (void) signal(SIGINT, oldint), \
- ***************
- *** 104,110 ****
-
- /* for system-V machines that run termio */
- #if defined(SYSV) && defined(USG)
- ! unsigned char vmin;
- #define sg_erase c_cc[2]
- #define sg_flags c_lflag
- #define sg_kill c_cc[3]
- --- 112,118 ----
-
- /* for system-V machines that run termio */
- #if defined(SYSV) && defined(USG)
- ! unsigned char vmin, vtime;
- #define sg_erase c_cc[2]
- #define sg_flags c_lflag
- #define sg_kill c_cc[3]
- ***************
- *** 117,124 ****
- #define cbrkon() \
- (_tty.sg_flags &= ~ICANON, _tty.c_cc[VMIN] = 1, stty(0, &_tty))
- #define cbrkoff() \
- ! (_tty.sg_flags |= ICANON, _tty.c_cc[VMIN] = vmin, stty(0, &_tty))
- ! #define savetty() (void) gtty(0, &_tty), vmin = _tty.c_cc[VMIN]
- #define cbreak() cbrkon()
- #define nocbreak() cbrkoff()
-
- --- 125,134 ----
- #define cbrkon() \
- (_tty.sg_flags &= ~ICANON, _tty.c_cc[VMIN] = 1, stty(0, &_tty))
- #define cbrkoff() \
- ! (_tty.sg_flags |= ICANON, _tty.c_cc[VMIN] = vmin, \
- ! _tty.c_cc[VTIME] = vtime, stty(0, &_tty))
- ! #define savetty() \
- ! (void) gtty(0, &_tty), vtime = _tty.c_cc[VTIME], vmin = _tty.c_cc[VMIN]
- #define cbreak() cbrkon()
- #define nocbreak() cbrkoff()
-
- ***************
- *** 296,301 ****
- --- 306,312 ----
- #define CNTD_CMD 18 /* curses.c -- "...continue..." prompt in curses */
- #define IS_SENDING 19 /* was started to send mail, not to be run as a shell */
- #define MIL_TIME 20 /* if $mil_time is set, use 24hr military time fmt */
- + #define DATE_RECV 21 /* if $date_received, show date received on msgs */
-
- #define VERBOSE 1 /* verbose flag for sendmail */
- #define INCLUDE 2 /* include msg in response */
- ***************
- *** 314,323 ****
- #define INDENT 13 /* indent included msg with string */
- #define NO_IGNORE 14 /* don't ignore headers */
- #define PRESERVE 15 /* preserve in mailbox unless deleted */
- ! #define TOP 15 /* just print the top of msg (same as pre) */
- #define FORWARD 16 /* Forward messages into the message buffer */
- #define REPLIED 17 /* Messages that have been replied to */
- #define NEW_SUBJECT 18 /* new subject regardless of $ask (mail -s) */
-
- #define MAXMSGS_BITS MAXMSGS/sizeof(char) /* number of bits for bitmap */
-
- --- 325,335 ----
- #define INDENT 13 /* indent included msg with string */
- #define NO_IGNORE 14 /* don't ignore headers */
- #define PRESERVE 15 /* preserve in mailbox unless deleted */
- ! #define M_TOP 15 /* just print the top of msg (same as pre) */
- #define FORWARD 16 /* Forward messages into the message buffer */
- #define REPLIED 17 /* Messages that have been replied to */
- #define NEW_SUBJECT 18 /* new subject regardless of $ask (mail -s) */
- + #define SAVED 19 /* when message has been saved */
-
- #define MAXMSGS_BITS MAXMSGS/sizeof(char) /* number of bits for bitmap */
-
- ***************
- *** 415,428 ****
- n_array[128], /* array of message numbers in the header window */
- screen, /* number of headers window can handle */
-
- ! quit(), cleanup(), catch(), do_alias(), respond(), cd(), sh(), stop(),
- folder(), save_msg(), delete(), do_mail(), lpr(), alts(), set(), do_hdrs(),
- ! rm_edfile(), pick(), save_opts(), preserve(), sort(), readmsg(),
- do_pick(), print_help(), folders(), question_mark(), do_from(), my_stty(),
- ! do_version(), disp_hist(), source(), do_echo(), sigchldcatcher(), ls(),
- ! nopenfiles(), Setenv(), Unsetenv(), Printenv(), bus_n_seg(), msg_flags(),
- ! toggle_debug(), stop_start(), interrupt();
-
- long
- still_more, /* there is still more message to display */
- spool_size, /* size of sppol mail regardless of current folder */
- --- 427,445 ----
- n_array[128], /* array of message numbers in the header window */
- screen, /* number of headers window can handle */
-
- ! quit(), do_alias(), respond(), cd(), sh(), stop(),
- folder(), save_msg(), delete(), do_mail(), lpr(), alts(), set(), do_hdrs(),
- ! pick(), save_opts(), preserve(), sort(), readmsg(),
- do_pick(), print_help(), folders(), question_mark(), do_from(), my_stty(),
- ! do_version(), disp_hist(), source(), do_echo(), ls(),
- ! nopenfiles(), Setenv(), Unsetenv(), Printenv(), msg_flags(), toggle_debug();
-
- + #ifndef SIGRET
- + #define SIGRET int
- + #endif /* SIGRET */
- + SIGRET
- + rm_edfile(), stop_start(), bus_n_seg(), sigchldcatcher(), catch(), intr();
- +
- long
- still_more, /* there is still more message to display */
- spool_size, /* size of sppol mail regardless of current folder */
- ***************
- *** 430,437 ****
- time(); /* satisfy lint */
-
- void
- ! xfree(), free_vec(), error(), getmail(), mail_status(),
- ! file_to_fp(), init(), display_msg();
- /* printf(), fclose(), fflush(), fputs(), fputc() */
- #ifdef TIOCGLTC
- struct ltchars ltchars; /* tty character settings */
- --- 447,454 ----
- time(); /* satisfy lint */
-
- void
- ! xfree(), free_vec(), error(), getmail(), mail_status(), close_lock(),
- ! file_to_fp(), init(), display_msg(), putstring(), cleanup(), fs_error();
- /* printf(), fclose(), fflush(), fputs(), fputc() */
- #ifdef TIOCGLTC
- struct ltchars ltchars; /* tty character settings */
- *** OLD/pick.c Thu May 12 21:14:48 1988
- --- pick.c Tue Jun 28 21:38:28 1988
- ***************
- *** 38,43 ****
- --- 38,44 ----
- register char **argv, list[];
- {
- register char c;
- + char pattern[256];
- int o_before = before, o_after = after, o_search_from = search_from,
- o_search_subj = search_subj, o_search_to = search_to, o_xflg = xflg,
- o_mdy[3], n;
- ***************
- *** 113,123 ****
- clear_msg_list(list);
- return -1;
- }
- if (verbose) {
- print_more("Searching for messages");
- if (mdy[1] == 0) {
- print(" that %s \"%s\"", (xflg)? "doesn't contain": "contains",
- ! (*argv)? *argv: "<previous expression>");
- if (search_subj)
- print_more(" in subject line");
- else if (search_from)
- --- 114,126 ----
- clear_msg_list(list);
- return -1;
- }
- + pattern[0] = 0;
- + (void) argv_to_string(pattern, argv);
- if (verbose) {
- print_more("Searching for messages");
- if (mdy[1] == 0) {
- print(" that %s \"%s\"", (xflg)? "doesn't contain": "contains",
- ! (*pattern)? pattern: "<previous expression>");
- if (search_subj)
- print_more(" in subject line");
- else if (search_from)
- ***************
- *** 138,144 ****
- }
- if (mdy[1] > 0 && icase)
- print("using date: -i flag ignored.\n");
- ! ret = find_pattern(*argv, list);
- bad:
- before = o_before, after = o_after, search_from = o_search_from;
- search_subj = o_search_subj, search_to = o_search_to, xflg = o_xflg;
- --- 141,147 ----
- }
- if (mdy[1] > 0 && icase)
- print("using date: -i flag ignored.\n");
- ! ret = find_pattern(pattern, list);
- bad:
- before = o_before, after = o_after, search_from = o_search_from;
- search_subj = o_search_subj, search_to = o_search_to, xflg = o_xflg;
- ***************
- *** 302,308 ****
- char pattern[128];
- register int this_msg = current_msg, val = 0;
- static char *err = (char *)-1, direction;
- ! int (*oldint)(), (*oldquit)();
- #ifdef REGCMP
- char *regcmp();
- #else /* REGCMP */
- --- 305,311 ----
- char pattern[128];
- register int this_msg = current_msg, val = 0;
- static char *err = (char *)-1, direction;
- ! SIGRET (*oldint)(), (*oldquit)();
- #ifdef REGCMP
- char *regcmp();
- #else /* REGCMP */
- *** OLD/setopts.c Thu Apr 7 22:47:56 1988
- --- setopts.c Tue Jun 28 21:38:29 1988
- ***************
- *** 66,71 ****
- --- 66,75 ----
- prompt = (tmp->value)? tmp->value : DEF_PROMPT;
- else if (!strcmp(tmp->option, "mil_time"))
- turnon(glob_flags, MIL_TIME);
- + #ifndef MSG_SEPARATOR
- + else if (!strcmp(tmp->option, "date_received"))
- + turnon(glob_flags, DATE_RECV);
- + #endif /* MSG_SEPARATOR */
- else if (!strcmp(tmp->option, "escape"))
- escape = (tmp->value)? tmp->value : DEF_ESCAPE;
- else if (!strcmp(tmp->option, "hdr_format"))
- ***************
- *** 189,194 ****
- --- 193,202 ----
- prompt = DEF_PROMPT;
- else if (!strcmp(p, "mil_time"))
- turnoff(glob_flags, MIL_TIME);
- + #ifndef MSG_SEPARATOR
- + else if (!strcmp(p, "date_received"))
- + turnoff(glob_flags, DATE_RECV);
- + #endif /* MSG_SEPARATOR */
- else if (!strcmp(p, "escape"))
- escape = DEF_ESCAPE;
- else if (!strcmp(p, "hdr_format"))
- *** OLD/signals.c Fri Jun 10 12:38:25 1988
- --- signals.c Tue Jul 5 12:08:37 1988
- ***************
- *** 90,96 ****
- }
- #endif /* SUNTOOL */
-
- ! interrupt(sig)
- {
- Debug("interrupt() caught: %d\n", sig);
- turnon(glob_flags, WAS_INTR);
- --- 90,97 ----
- }
- #endif /* SUNTOOL */
-
- ! SIGRET
- ! intr(sig)
- {
- Debug("interrupt() caught: %d\n", sig);
- turnon(glob_flags, WAS_INTR);
- ***************
- *** 101,106 ****
- --- 102,108 ----
- * If signals are ignored, return. If we're running the shell, longjmp back.
- */
- /*ARGSUSED*/
- + SIGRET
- catch(sig)
- {
- Debug("Caught signal: %d\n", sig);
- ***************
- *** 125,130 ****
- --- 127,133 ----
- }
-
- #ifdef SIGCONT
- + SIGRET
- stop_start(sig)
- {
- extern FILE *ed_fp;
- ***************
- *** 194,199 ****
- --- 197,203 ----
- #endif /* SIGCONT */
-
- /*ARGSUSED*/
- + void
- cleanup(sig)
- {
- char buf[128], c = ison(glob_flags, IGN_SIGS)? 'n' : 'y';
- ***************
- *** 215,224 ****
- }
- if (c != 'n' && *tempfile && unlink(tempfile) && !sig && errno != ENOENT)
- error(tempfile);
- - #ifdef SUNTOOL
- - if (istool && tool)
- - tool_destroy(tool);
- - #endif /* SUNTOOL */
- if (sig == SIGSEGV || sig == SIGBUS) {
- if (isoff(glob_flags, IGN_SIGS)) {
- fprintf(stderr, "coredump [n]? "), fflush(stderr);
- --- 219,224 ----
- ***************
- *** 320,325 ****
- --- 320,326 ----
- }
-
- /*ARGSUSED*/ /* we ignore the sigstack, cpu-usage, etc... */
- + SIGRET
- bus_n_seg(sig)
- {
- fprintf(stderr, "%s: %s\n", prog_name,
- *** OLD/sort.c Fri Feb 19 20:30:57 1988
- --- sort.c Tue Jun 28 21:38:31 1988
- ***************
- *** 11,17 ****
- register char *argv[], list[];
- {
- int status_cmp(), author_cmp(), date_cmp(), subject_cmp(), subj_with_re();
- ! int (*oldint)(), (*oldquit)();
- int (*how)() = status_cmp;
- int n, offset = -1, range = 0;
-
- --- 11,17 ----
- register char *argv[], list[];
- {
- int status_cmp(), author_cmp(), date_cmp(), subject_cmp(), subj_with_re();
- ! SIGRET (*oldint)(), (*oldquit)();
- int (*how)() = status_cmp;
- int n, offset = -1, range = 0;
-
- ***************
- *** 35,40 ****
- --- 35,41 ----
- print("Not enough messages to sort.\n");
- return -1;
- }
- + turnon(glob_flags, IGN_SIGS);
- on_intr();
-
- if (list && ison(glob_flags, IS_PIPE)) {
- ***************
- *** 59,64 ****
- --- 60,66 ----
- print("WARNING: Sorting interrupted: unpredictable order.\n");
- turnon(glob_flags, DO_UPDATE);
- }
- + turnoff(glob_flags, IGN_SIGS);
- off_intr();
- return -1;
- }
- ***************
- *** 115,120 ****
- --- 117,126 ----
- if (ison(msg1->m_flags,REPLIED) && isoff(msg2->m_flags,REPLIED))
- return -order;
- if (isoff(msg1->m_flags,REPLIED) && ison(msg2->m_flags,REPLIED))
- + return order;
- + if (ison(msg1->m_flags,SAVED) && isoff(msg2->m_flags,SAVED))
- + return -order;
- + if (isoff(msg1->m_flags,SAVED) && ison(msg2->m_flags,SAVED))
- return order;
-
- return order;
- *** OLD/strings.c Thu May 12 21:14:49 1988
- --- strings.c Tue Jun 28 21:38:31 1988
- ***************
- *** 221,235 ****
- #ifdef SYSV
- #include <varargs.h>
- char *
- ! Sprintf(buf, fmt, va_alist)
- ! register char *buf, *fmt;
- va_dcl
- {
- va_list ap;
- ! #ifdef VPRINTF
- va_start(ap);
- (void) vsprintf(buf, fmt, ap);
- - va_end(ap);
- #else
- {
- FILE foo;
- --- 221,237 ----
- #ifdef SYSV
- #include <varargs.h>
- char *
- ! Sprintf(va_alist)
- va_dcl
- {
- + char *buf, *fmt;
- va_list ap;
- !
- va_start(ap);
- + buf = va_arg(ap, char *);
- + fmt = va_arg(ap, char *);
- + #ifdef VPRINTF
- (void) vsprintf(buf, fmt, ap);
- #else
- {
- FILE foo;
- ***************
- *** 236,247 ****
- foo._cnt = BUFSIZ;
- foo._base = foo._ptr = buf; /* may have to be cast (unsigned char *) */
- foo._flag = _IOWRT+_IOSTRG;
- - va_start(ap);
- (void) _doprnt(fmt, ap, &foo);
- - va_end(ap);
- *foo._ptr = '\0'; /* plant terminating null character */
- }
- #endif /* VPRINTF */
- return buf;
- }
- #endif /* SYSV */
- --- 238,248 ----
- foo._cnt = BUFSIZ;
- foo._base = foo._ptr = buf; /* may have to be cast (unsigned char *) */
- foo._flag = _IOWRT+_IOSTRG;
- (void) _doprnt(fmt, ap, &foo);
- *foo._ptr = '\0'; /* plant terminating null character */
- }
- #endif /* VPRINTF */
- + va_end(ap);
- return buf;
- }
- #endif /* SYSV */
- ***************
- *** 259,262 ****
- --- 260,285 ----
- fflush(stdout);
- } else
- wprint("\n");
- + }
- +
- + /*
- + * putstring -- put a string into a file. Expand \t's into tabs and \n's
- + * into newlines. Append a \n and fflush(fp);
- + */
- + void
- + putstring(p, fp)
- + register char *p;
- + register FILE *fp;
- + {
- + for ( ; *p; ++p)
- + if (*p != '\\')
- + fputc(*p, fp);
- + else
- + switch(*++p) {
- + case 'n': fputc('\n', fp);
- + when 't': fputc('\t', fp);
- + otherwise: fputc(*p, fp);
- + }
- + fputc('\n', fp);
- + fflush(fp);
- }
- *** OLD/viewopts.c Thu May 12 21:14:50 1988
- --- viewopts.c Tue Jun 28 21:38:32 1988
- ***************
- *** 45,50 ****
- --- 45,52 ----
- "Path to search for directories when the \"cd\" command is issued." },
- { "crt", "Lines", TEXT,
- "The number of lines a message must have for 'pager' to be invoked." },
- + { "date_received", NULL, TOOL | TEXT,
- + "Time displayed for message headers shows date received (or sent)." },
- { "dead", "Filename", TOOL | TEXT,
- "The name of the file to store dead mail. ~/dead.letter by default." },
- { "dot", NULL, TOOL | TEXT,
- ***************
- *** 65,70 ****
- --- 67,76 ----
- "How many commands to remember (like csh)." },
- { "hold", NULL, TOOL | TEXT,
- "Read but not deleted messages are saved in spool -- not mbox." },
- + { "home", "Directory", TOOL | TEXT,
- + "The user's home directory." },
- + { "hostname", "Hostname", TOOL | TEXT,
- + "user definable name for the name of your machine." },
- { "ignore_bang", NULL, TEXT,
- "Ignore '!' as a history reference. Otherwise, escape by: \\!" },
- { "ignoreeof", "-Command", TEXT,
- ***************
- *** 89,95 ****
- "Ignore RETURN. If set to a string, execute \"command\"" },
- { "no_expand", NULL, TEXT | TOOL,
- "Prevents expansion of Mush aliases in outgoing mail." },
- ! { "no_hdr", NULL, TOOL | TEXT,
- "If set, personalized headers are NOT inserted to outgoing mail." },
- { "no_reverse", NULL, TOOL | TEXT,
- "disables reverse video in curses mode -- uses \"bold\" in tool mode." },
- --- 95,101 ----
- "Ignore RETURN. If set to a string, execute \"command\"" },
- { "no_expand", NULL, TEXT | TOOL,
- "Prevents expansion of Mush aliases in outgoing mail." },
- ! { "no_hdrs", NULL, TOOL | TEXT,
- "If set, personalized headers are NOT inserted to outgoing mail." },
- { "no_reverse", NULL, TOOL | TEXT,
- "disables reverse video in curses mode -- uses \"bold\" in tool mode." },
- ***************
- *** 109,118 ****
- "Your prompt. \"help prompt\" for more information." },
- { "quiet", NULL, TEXT,
- "Don't print the version number of Mush on startup." },
- { "record", "Filename", TOOL | TEXT,
- "Save all outgoing mail in specified filename" },
- { "reply_to_hdr", "Headers", TOOL | TEXT,
- ! "List of headers use to construct reply adresses from a message.", },
- { "screen", "Number of Headers", TEXT,
- "Number of headers to print in non-suntools (text) mode" },
- { "screen_win", "Number of Headers", TOOL,
- --- 115,128 ----
- "Your prompt. \"help prompt\" for more information." },
- { "quiet", NULL, TEXT,
- "Don't print the version number of Mush on startup." },
- + { "realname", "Name:", TOOL | TEXT,
- + "Your real name." },
- { "record", "Filename", TOOL | TEXT,
- "Save all outgoing mail in specified filename" },
- { "reply_to_hdr", "Headers", TOOL | TEXT,
- ! "List of headers use to construct reply adresses from a message." },
- ! { "save_empty", NULL, TOOL | TEXT,
- ! "Folders which have all messages deleted are NOT removed on updates." },
- { "screen", "Number of Headers", TEXT,
- "Number of headers to print in non-suntools (text) mode" },
- { "screen_win", "Number of Headers", TOOL,
- ***************
- *** 127,133 ****
- "Pre-sorting of messages on program startup (set to valid sort option)" },
- { "squeeze", NULL, TOOL | TEXT,
- "When reading messages, squeeze all blank lines into one." },
- ! { "top", "Lines", TOOL | TEXT,
- "Number of lines to print of a message for the 'top' command." },
- { "tmpdir", "Directory", TOOL | TEXT,
- "Directory to use for temporary files used by Mush." },
- --- 137,143 ----
- "Pre-sorting of messages on program startup (set to valid sort option)" },
- { "squeeze", NULL, TOOL | TEXT,
- "When reading messages, squeeze all blank lines into one." },
- ! { "toplines", "Lines", TOOL | TEXT,
- "Number of lines to print of a message for the 'top' command." },
- { "tmpdir", "Directory", TOOL | TEXT,
- "Directory to use for temporary files used by Mush." },
-