home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / pc / source / mush.lzh / mush.1 / mush / mush.1.c next >
Encoding:
Text File  |  1990-05-06  |  49.2 KB  |  1,601 lines

  1. If the mailbox were already sorted by author,
  2. .sp
  3. .ti +2
  4. pick \-f argv@zipcode.com | sort \-s
  5. .sp
  6. would find all messages from the user \*Qargv@zipcode.com\*U
  7. and sort them by subject.
  8. You may specify the exact message list by specifying
  9. that message list on the command line and using a pipe:
  10. .sp
  11. .ti +2
  12. 10\-. | sort d
  13. .sp
  14. This command means to sort the messages from 10 to the current message
  15. according to the date.
  16. .sp
  17. To specify subsorting from with the curses interface, the temporary
  18. curses escape key must be used (the colon `:') and the command issued
  19. at the `:' prompt (as if giving an \*Qex\*U command to \*Qvi\*U).
  20. When the command is finished, the \*Q...continue...\*U prompt is given and
  21. the user may continue or return to the top level of the curses mode.
  22. .sp
  23. In the tool mode, subsorting can be specified only by typing message numbers
  24. in the \*QRange:\*U item at the top of the main frame, before selecting the
  25. \*QSort\*U item.
  26. The sort range must consist of consecutive messages.
  27. Reversed sorting is not currently available in tool mode.
  28. .sp
  29. If the variable
  30. .I sort
  31. is set, messages are sorted each time the user's system mailbox is
  32. read as the current folder.
  33. The
  34. .I sort
  35. variable can be set either to nothing or to legal "sort" arguments.
  36. .sp
  37. \fINote\fR:  For compatibility with older versions, sort options are
  38. recognized even if they are not preceded by a `\-'.
  39. Also, if a `\-' is given by itself (separated by spaces from any following
  40. arguments) it is interpreted as \-r.
  41. .TP
  42. .B stop
  43. For systems with job control, stop will cause
  44. .I Mush
  45. to send a SIGTSTP to itself.
  46. The command was introduced to facilitate
  47. the stop-job action from a complex command line alias rather than the user
  48. having to type his stop character explicitly.
  49. .TP
  50. .B top
  51. Takes a message list and prints the top few lines of each.
  52. The number of lines printed is controlled by the variable
  53. .B toplines
  54. and defaults to the size of the value of the variable
  55. .B crt.
  56. This command is ignored in the tool mode.
  57. .TP
  58. .BR undigest " [-m] [-p pattern] [msg-list] [filename]"
  59. A \*Qdigest\*U is a mail message which is a collection of other mail messages
  60. mailed to a \*Qmoderator\*U by other users.  The moderator compiles all the
  61. messages into a folder and sends the result to all the subscribers of the
  62. mailing list.  The
  63. .B undigest
  64. command disassembles the entries into the set of messages which comprises
  65. the digest.
  66. .sp
  67. The -m option will merge these messages into the current folder.  Otherwise,
  68. if a filename is specified, a new folder is created and the user can change
  69. folders to read the messages separately.
  70. .sp
  71. The -p option specifies an alternate pattern to be used as the digest
  72. article separator.
  73. This pattern must match literally at the beginning of the line.
  74. The default pattern is \*Q\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\*U (eight hyphens).
  75. This is the defacto USENET standard digest article separator and should
  76. work for most digests, but some use another separator.
  77. The -p option is also useful for \*Qbursting\*U forwarded messages out
  78. of a wrapper message; for example:
  79. .sp
  80. .ti +4
  81. undigest -m -p "--- Forward"
  82. .sp
  83. will burst out messages forwarded by another user of
  84. .I Mush
  85. and merge them into the current folder.
  86. .sp
  87. If a message list is specified, each digest in the list is disassembled to
  88. the same filename (if given).
  89. If no filename is given and the user did not request
  90. a merge, then a temporary file is made.
  91. .TP
  92. .BR update " [-r]"
  93. Updates your current folder, writing back changes just as if you
  94. .BR quit.
  95. Headers are not listed when the folder is read back in.
  96. The \-r option puts the folder into read-only mode
  97. .I after
  98. updating it.
  99. .sp
  100. See the
  101. .BR folder
  102. command for complete information.
  103. .sp
  104. .SH VARIABLES
  105. Shell variables are controlled via the
  106. .B set
  107. and
  108. .B unset
  109. commands.
  110. Options may be either boolean, in which case it is only
  111. significant to see whether or not they are set;
  112. string, in which case the actual value is of interest;
  113. numerical, in which case the numerical value is important;
  114. or multivalued, in which case they may be set to a list of values.
  115. Some variables may have attributes
  116. of boolean and string or multivalued at the same time.
  117. .PP
  118. If you or the program references a variable that is not explicitly set,
  119. then the environment variables are checked and that data is returned.
  120. .PP
  121. Variable values can be modified by one of four variable modifiers, or by a
  122. numeric string.
  123. The modifiers `:h', `:t', `:l' and `:u' may be applied to the variable names.
  124. The current implementation allows only one `:' modifier on each `$' expansion.
  125. .TP
  126. :t
  127. The variable is treated as a file path name, and the name of the file
  128. (the \*Qtail\*U of the path) is substituted for the variable.
  129. That is, everything to the right of the last `/'
  130. is returned.
  131. .TP
  132. :h
  133. The variable is treated as a path name, and the \*Qhead\*U of the pathname
  134. is substituted for the variable.
  135. That is, everything up to, but not including, the last `/' is returned.
  136. .TP
  137. :l
  138. All alphabetic characters in the variable's value are converted to lower case.
  139. .TP
  140. :u
  141. All alphabetic characters in the variable's value are converted to upper case.
  142. .TP
  143. .RI : number
  144. The value of the variable is converted to a list of space-separated words,
  145. which are numbered from one (1), and the word described by
  146. .I number
  147. is selected and returned.
  148. It is not an error for
  149. .I number
  150. to be greater than the actual number of words; an empty string is returned
  151. in this case.
  152. .PP
  153. Following is a list of all variables with predefined meanings.
  154. .TP
  155. .B alwaysignore
  156. (Boolean/Multivalued)
  157. If set with no value, the mail headers set by the
  158. .B ignore
  159. command are always ignored.
  160. Normally, ignored headers are not ignored when sending messages to
  161. the printer, when interpolating messages into letters with ~f or ~I,
  162. when the `P' or `T' command is given (see the \fBprint\f command),
  163. or with the \-I flag to the
  164. .B mail
  165. or
  166. .B reply
  167. commands.
  168. Setting
  169. .B alwaysignore
  170. will ignore those headers even in the situations mentioned here.
  171. No headers can be ignored during updates and when using the
  172. .B save
  173. command since the user may ignore headers that are required by
  174. .I Mush
  175. or any other mail system to read those folders.
  176. .sp
  177. This variable can also be set to a list of words
  178. separated by commas or spaces.
  179. Currently recognized words, and their meanings, are:
  180. .nf
  181. .ta 1.5i
  182. .in +4
  183. .\" \& escapes are to make obvious the tab after each word
  184. forward\&    Ignore headers when forwarding messages (~f).
  185. include\&    Ignore headers when including messages (~I).
  186. pipe\&\&    The \fBpipe\fR command ignores headers.
  187. printer\&    The \fBlpr\fR command ignores headers.
  188. .in -4
  189. .fi
  190. .sp
  191. Also see the
  192. .B ignore
  193. command and the
  194. .B show_hdrs
  195. variable for more information.
  196. .TP
  197. .B ask
  198. (Boolean)
  199. If set, you will be prompted for a subject header for outgoing mail.
  200. Use the tilde escape \*Q~s\*U to set the header once in the message
  201. or specify the \-s option on the
  202. .B mail
  203. command line at the
  204. .I Mush
  205. prompt.
  206. .TP
  207. .B askcc
  208. (Boolean)
  209. If set, you will be prompted for a Cc (carbon copy) list when you are
  210. finished editing a letter to be sent.
  211. If the variable
  212. .B edit_hdrs
  213. is set, prompting will not occur, but a Cc: line will be added to the
  214. edit file.
  215. This also applies to the tool mode.
  216. .TP
  217. .B autodelete
  218. (Boolean)
  219. When exiting mail, all messages that have been read
  220. .I "regardless of whether they have been marked for deletion"
  221. are removed.
  222. Only messages that haven't been read or that have been marked as
  223. .B preserved
  224. are not removed.
  225. .TP
  226. .B autoedit
  227. (Boolean)
  228. If set, you are automatically put into your editor whenever you
  229. send or reply to mail.
  230. .TP
  231. .B autoinclude
  232. (Boolean)
  233. When replying to any mail, a copy of the message being replied to
  234. is automatically inserted into your message body indented by
  235. the string described by the variable
  236. .BR indent_str .
  237. .TP
  238. .B autoprint
  239. (Boolean)
  240. After you delete a message, the next message is printed automatically.
  241. .TP
  242. .B auto_route
  243. (Boolean/String)
  244. If set boolean (not to a string), all the recipients in a message that
  245. is being replied to (via \fBreplyall\fR), will be routed through the path
  246. back to the original author.
  247. .sp
  248. For example, if the original sender of a message came from the remote host
  249. .B c3p0
  250. and the list of recipients looked like
  251. .sp
  252. .nf
  253. .in +2
  254. From: c3p0!user1
  255. To: yourhost!you
  256. Cc: r2d2!user2, r2d2!user3
  257. .in -2
  258. .fi
  259. .sp
  260. then clearly, \*Quser1\*U on the machine c3p0 can talk to your machine
  261. and the machine named r2d2.
  262. However, you would not be able to respond to those users if your machine
  263. did not exchange UUCP mail with the host r2d2.
  264. .sp
  265. .I Mush
  266. will attempt to solve this problem by reconstructing the addresses
  267. for \*Quser2\*U and \*Quser3\*U according to the address of the original
  268. sender, \*Qc3p0\*U.
  269. The new addresses for \*Quser2\*U and \*Quser3\*U should therefore become
  270. .sp
  271. .ti +2
  272. c3p0!r2d2!user2, c3p0!r2d2!user3.
  273. .sp
  274. If your machine not only talks to c3p0,
  275. but talks to r2d2 as well, it becomes unnecessary to route the mail
  276. through both c3p0 and r2d2.
  277. So, the variable
  278. .B known_hosts
  279. may be set to a list of hosts which you know your machine to have
  280. UUCP mail connections with.
  281. This list is checked when constructing mail addresses for replies only and
  282. the shortest path is made by removing from the UUCP path those hosts
  283. that do not need to be called or are redundant.
  284. See the entry for
  285. .B known_hosts
  286. for more information.
  287. .sp
  288. If
  289. .B auto_route
  290. is set to a specific \fBpathname\fR (host names separated by !'s),
  291. all addresses in the reply will have this route prepended to their addresses.
  292. This ignores the original path of the author.  This is quite useful for
  293. hosts which talk uucp to a node which is connected to the internet or uunet
  294. since both of those machines tend to be one-hop away from all other hosts
  295. (or reroute accordingly).  For example, if a message was addressed like so:
  296. .sp
  297. .in +2
  298. .nf
  299. To: root@ucbvax.berkeley.edu, argv@zipcode.uucp
  300. Cc: ucbcad!foo!bar
  301. .sp
  302. .fi
  303. .in -2
  304. If auto_route were set to "ucbcad", then replies to this address would be
  305. directed addressed like so:
  306. .sp
  307. .in +2
  308. .nf
  309. To: ucbcad!ucbvax.berkeley.edu!root, ucbcad!zipcode.uucp!argv
  310. Cc: ucbcad!foo!bar
  311. .sp
  312. .fi
  313. .in -2
  314. .sp
  315. This assumes that the host in question talks uucp with ucbcad.  This example
  316. demonstrates several things.  First, notice that all addresses are converted
  317. to uucp-style format.  Whenever routing is changed, the format is converted
  318. like this.  Secondly, note that the Cc: line did not change.  This is because
  319. all redundant hostnames from UUCP pathnames are removed
  320. to avoid unnecessary UUCP connections and speed up mail delivery.
  321. .sp
  322. Another example of how auto_route truncates UUCP paths:
  323. .sp
  324. .ti +2
  325. pixar!island!sun!island!argv
  326. .sp
  327. Here, mail was probably originally sent to users at pixar and sun from
  328. somewhere undetermined now.
  329. Since sun and pixar do not talk to each other, the users on those machines may
  330. have responded to mail creating the type of addresses stated above.
  331. Here, it can be seen that we can reduce the path to the host
  332. .IR island :
  333. .sp
  334. .ti +2
  335. pixar!island!argv
  336. .sp
  337. See the MAIL ADDRESSES section for more detailed information
  338. about legal mail addresses.
  339. .sp
  340. Note that the -r flag to \fBreply\fR and \fRreplyall\fR overrides the
  341. value of \fBauto_route\fR.
  342. .TP
  343. .B autosign
  344. (Boolean/string)
  345. Append a signature to outgoing mail.
  346. If this variable is set, but not to a string (e.g., boolean-true)
  347. then the file ~/.signature is used.
  348. .sp
  349. Otherwise, the variable is interpreted in one of four ways.
  350. By default, the string is interpreted as a pathname relative to the
  351. .I current
  352. directory.
  353. For this reason, it is advisable to use full pathnames here.
  354. As usual, the special characters `~' and `+' are expanded.
  355. If a file is found, it is opened and its contents are read into the
  356. message buffer.
  357. .sp
  358. If the variable is set to a string that begins with `$', then that string
  359. is interpreted as a user-definable variable and is expanded and appended
  360. to the letter.
  361. .sp
  362. If the variable is set to a string that begins with a backslash (\\)
  363. then the string itself (minus the `\\' character) is used; no expansion
  364. is done and no files are read.
  365. .sp
  366. Finally, if the variable is set to a string that begins with a vertical
  367. bar (or \*Qpipe\*U) character (|), the rest of the string is interpreted
  368. as a command whose output will be used as the signature.
  369. The special characters `~' and `+' are NOT expanded in the command name,
  370. but the command is run via /bin/sh so $PATH will be searched and redirection
  371. can be specified.
  372. The list of addresses to which the letter will be sent is passed to
  373. the command as its arguments, in the same form that they will be passed
  374. to the Mail Transport Agent (MTA).
  375. Depending on your MTA, each address may be followed by a comma.
  376. .sp
  377. In the latter three cases, it is advisable to set the variable using single
  378. quotes to protect the `$', `\\' and `|' characters from being interpreted.
  379. Examples:
  380. .sp
  381. .nf
  382. .ti +2
  383. set autosign = '$foo'
  384. .ti +2
  385. set autosign = '\\  Dan Heller zipcode!argv@ucbcad.berkeley.edu'
  386. .\" Need a pipe example?
  387. .fi
  388. .sp
  389. .BR Warning :
  390. if redirection from the calling shell is used,
  391. no signature or fortune will be added to outgoing mail.
  392. For example,
  393. .sp
  394. .ti +2
  395. % mush \-s report manager < report_file
  396. .sp
  397. In this command, mail is being sent to the user \*Qmanager\*U and the
  398. subject is set to \*Qreport\*U and the file \*Qreport_file\*U is being
  399. redirected as input.
  400. In this case, there will be \fIno\fR signature appended.
  401. .sp
  402. .IR Note :
  403. The `|' syntax for calling a program to sign the letter is a little
  404. counterintuitive and may change in future releases.
  405. .TP
  406. .B autosign2
  407. (String)
  408. This alternate signature is available for special cases where the default
  409. signature is not desired or if no signature is desired for special addresses
  410. or if only special addresses require a signature.
  411. The format for this variable is:
  412. .sp
  413. .ti +2
  414. autosign2 = \*Qaddress1, address2, ... : <signature>\*U
  415. .sp
  416. Each address can be one of these types:
  417. .RS
  418. .TP
  419. 1)  address
  420. Legal mailing addresses that do not contain comment
  421. fields (see the sections MAIL ADDRESSES for more information on legitimate
  422. mail addresses) will match literally.
  423. .TP
  424. 2)  *username
  425. If the username is present on the recipient list, regardless of what
  426. remote site the user may reside on (including locally), the pattern matches.
  427. .TP
  428. 3)  !hostname !host1!host2...
  429. Any user who appears as a recipient will match the pattern provided he
  430. resides on the specified hostname.
  431. If a path of hosts is specified, then the user must reside on the last
  432. host of the specified path.
  433. .\" Nroff note: there is a problem with the @sub.domain line.  Why?
  434. .\" The .br is intended to deal with this.
  435. .TP
  436. 4)  @sub.domain
  437. .br
  438. The user must reside on any host within the domain specified.
  439. Neither the user or the hostname needs to match; only the domain name must
  440. be required to match.
  441. .RE
  442. .\" Nroff note: RE takes us all the way out of TP, so step back in again.
  443. .RS
  444. .sp
  445. Example:
  446. .sp
  447. .nf
  448. .ti +2
  449. set autosign2 = \*Q!zipcode @sun.com @mit.edu *schaefer root: \--dan\*U
  450. .fi
  451. .sp
  452. This means that any mail sent to 1) anyone at zipcode, 2) anyone within
  453. the sun domain, 3) anyone within the mit domain, 4) Bart Schaefer
  454. (at any host anywhere -- even locally),
  455. and 4) root on the local machine only (or, root@local-machine-name)
  456. will be signed with the \*Qalternate\*U signature.
  457. If any address on the
  458. recipient list fails to satisfy these four matches, the mail will be
  459. signed by my regular signature.
  460. .sp
  461. One can have a local signature and a remote signature by specifying
  462. the autosign2 to include the hostname of the home machine the user
  463. is logged into.  Note the \*Qzipcode\*U example above.
  464. .sp
  465. The list of recipients, after alias expansion and comment removal, is
  466. then scanned and the following patterns are matched against those addresses
  467. specified in the autosign2 or fortunates variable according to these rules.
  468. .sp
  469. The signature description is the same as described by
  470. .B autosign
  471. variable.  The colon (:) separates the list of addresses from the signature
  472. description.  If there is no colon or the address list is missing, the
  473. entire string is considered the signature (except for the colon).
  474. .sp
  475. If
  476. .B autosign
  477. is not set, then autosign2 will ONLY work if the tilde command \*Q~S\*U
  478. is specified.  In this way, a user may never have autosign set and just
  479. set autosign2 to be some signature value.  The user may then issue the
  480. tilde command to automatically sign the letter.
  481. If a list of addresses is given (terminated by a colon), then all
  482. recipients of the message must be in the list of addresses in autosign2;
  483. otherwise, the signature in \fBautosign\fR (if set) is used instead.
  484. A null signature in autosign2 will not sign the letter.
  485. .sp
  486. Example:
  487. .sp
  488. .nf
  489. .ti +2
  490. set autosign2 = "fred, barney, wilma, betty: ~/flintstone.sig"
  491. .fi
  492. .sp
  493. If a message is sent to:
  494. .sp
  495. .ti +2
  496. To: fred, wilma
  497. .sp
  498. Then the file ~/flintstone.sig will be used.
  499. However, if the address were:
  500. .sp
  501. .ti +2
  502. To: barney, betty, bambam
  503. .sp
  504. Then autosign2 will not be used because bambam is not in the list.
  505. .sp
  506. Note that mail sent via redirection from the calling shell will not
  507. sign letters or append fortunes.
  508. .RE
  509. .TP
  510. .B cdpath
  511. (String)
  512. Set to a string of pathnames separated by spaces to use when searching
  513. for a directory when the
  514. .B cd
  515. command is issued.
  516. If this variable is used, it is recommended that the path `.' be included.
  517. Note that this differs from the
  518. .IR csh ,
  519. which does not require that `.' be present.
  520. .TP
  521. .B cmd_help
  522. (String)
  523. This variable gives the path name of the general help file, which is read
  524. by the
  525. .B help
  526. command.
  527. This variable is normally reset only in the system initialization files,
  528. when the default location of the help file has changed.
  529. .TP
  530. .B complete
  531. (String)
  532. Setting this variable enables word completion.
  533. The first character of the value of
  534. .B complete
  535. is used as the
  536. .IR "completion character" ;
  537. if
  538. .B complete
  539. is set, but not to a value, the escape character is used as the default.
  540. When the completion character is typed at the end of a word prefix,
  541. .I Mush
  542. will interactively complete that word.
  543. If the prefix is not unique, the word will be completed as far as possible
  544. and a bell will sound (see, however, the variable
  545. .BR quiet ).
  546. If the word contains filename metacharacters,
  547. .IR "all possible matches will be completed" .
  548. If the list overflows the command line buffer, it will be truncated, so
  549. this feature should be used with care.
  550. Metacharacters recognized are the same as in
  551. .IR csh .
  552. .sp
  553. The second character of the value of
  554. .B complete
  555. is used as the completion listing character.
  556. When this character is typed, the possible completions will be printed, and
  557. .I Mush
  558. will prompt again with the original prefix.
  559. If
  560. .B complete
  561. is set to only a single character, completion listing is disabled;
  562. if it is set with no value, control-D (^D) is used as the default
  563. listing character.
  564. .sp
  565. See the description of the variable
  566. .B fignore
  567. for ways to exclude filenames from completions.
  568. .sp
  569. Word completion is currently supported only for file names.
  570. Command name and alias completion may be added in a future version.
  571. Completion is not possible if the \-e (\-echo) flag was given, and
  572. is currently not available in tool mode.
  573. .TP
  574. .B crt
  575. (Numeric)
  576. Set to a value that describes the number of lines a message
  577. must have before invoking the
  578. .B pager
  579. to view a message.
  580. .TP
  581. .B crt_win
  582. (Numeric)
  583. Set to the height (in lines) of the message display window in tool mode.
  584. .TP
  585. .B curses_help
  586. (String)
  587. This variable may be set to a space-separated list of curses mode command
  588. names (see the CURSES section for the possible choices).
  589. If set but without a value, a default list established by your
  590. .I Mush
  591. maintainer is used.
  592. When it is set, a display of the current bindings for the listed commands
  593. will appear at the bottom of the screen in curses mode.
  594. This help display will normally shorten the display of headers, but the
  595. the user may explicitly scroll over the help display if he wishes to see
  596. more headers.
  597. .TP
  598. .B cwd
  599. (String)
  600. The
  601. .B "current working directory"
  602. string is automatically set upon startup of
  603. .I Mush
  604. and is reset each time the commands
  605. .B cd
  606. and
  607. .B pwd
  608. are called.
  609. It may be changed or referenced like any other shell variable.
  610. .TP
  611. .B date_received
  612. (Boolean)
  613. When message headers are printed, the date is normally shown is
  614. the time and date the sender sent the message.  If this variable
  615. is set, then the date displayed is the date received.
  616. .sp
  617. When sorting messages by date, this variable is queried to determine
  618. whether the messages should be sorted by date sent or date received.
  619. .sp
  620. \fBWarning:\fR For mailers that store messages \fIwithout\fR a line
  621. that starts with \*QFrom \*U, this option does nothing.
  622. .TP
  623. .B dead
  624. (String)
  625. File to use instead of dead.letter when interrupted mail is saved.
  626. May be set to a \fIunix\fR command by prefixing the value with `|'.
  627. For more information, see the variable
  628. .B nosave.
  629. .TP
  630. .B domain_route
  631. (Boolean/String)
  632. In combination with
  633. .BR auto_route ,
  634. this variable specifies that addresses containing a fully-qualified domain
  635. should be short-circuited to mail directly to the rightmost fully-qualified
  636. domain.
  637. If set boolean (not to a string), only short-circuiting is done.
  638. If set to a string, the address is rewritten to UUCP form and the value
  639. of the variable is prepended.
  640. Domain short-circuiting applies \fIonly\fR to addresses containing a
  641. fully-qualified domain, but short-circuits in spite of any path specified
  642. with the \-r flag of
  643. .B reply
  644. or through the string value of
  645. .B auto_route
  646. (thus possibly omitting the auto_route or \-r paths altogether).
  647. See
  648. .B auto_route
  649. for more information.
  650. .TP
  651. .B dot
  652. (Boolean)
  653. Causes
  654. .I Mush
  655. to accept a `.' on a line by itself,
  656. in addition to `^D', to terminate messages.
  657. .TP
  658. .B editor
  659. (String)
  660. Specifies the editor to use when the \*Q~e\*U escape or the
  661. .B edit
  662. command is used.
  663. Default is the value of the environment string EDITOR or the variable
  664. .BR visual .
  665. .TP
  666. .B edit_hdrs
  667. (Boolean)
  668. When in letter-composition mode (via \fBmail\fR or \fBreply\fR, etc),
  669. the headers of the outgoing message are stored in the same buffer as
  670. the text of the letter.
  671. So, if the editor is called to edit the message
  672. buffer, the headers of the message can be edited as well.
  673. However, there are some restrictions.
  674. .sp
  675. There must be a To: header.
  676. Without this, 
  677. .I Mush
  678. will not deliver the letter.
  679. Instead, the editor must be reentered and a To: header with
  680. a valid recipient must be inserted.
  681. A valid Cc: header does not remove this restriction.
  682. You may have as many To: and Cc: headers as you like.
  683. .sp
  684. The From: header normally should not be changed.
  685. If you change this header to an address that
  686. .I Mush
  687. is unable to identify as
  688. authentic, the original From: header will silently be put back.
  689. .sp
  690. The Date: header will always be replaced by one with a more accurate
  691. time and date stamp.
  692. Therefore, changing or removing this header has no effect.
  693. .sp
  694. You cannot add a Status: header, and blank headers are dropped.
  695. For example, if an empty Cc: header exists, the header will
  696. not show up in the outgoing message.
  697. Therefore, leaving empty headers has no effect.
  698. .sp
  699. Aliases specified on the command line are expanded and put into the
  700. message buffer in their expanded form regardless of the value of
  701. .B no_expand.
  702. However, if the user changes the headers using the editor and specifies
  703. aliases, those aliases will not be expanded if
  704. .B no_expand
  705. is set.
  706. Otherwise, they are expanded as usual.
  707. .sp
  708. The headers Bcc: and Fcc: are removed as expected.
  709. .sp
  710. One added side effect of
  711. .B edit_hdrs
  712. is that you can add an Fcc: header to specify a \*QFile Carbon Copy\*U.
  713. This must be a pathname to a file or program.
  714. For programs, the pathname must be preceded by a pipe character (|).
  715. Note that \fIall\fR addresses on the Fcc: line that do not begin with `|'
  716. are interpreted as file names; don't put other kinds of addresses there.
  717. .sp
  718. When using
  719. .B edit_hdrs,
  720. certain tilde escapes don't work.
  721. Specifically, any tilde escape that allows you to add or set headers or to
  722. empty the file are inactive.
  723. These functions are to be done in the editor only.
  724. .sp
  725. Once a letter is being edited,
  726. .B edit_hdrs
  727. cannot be set or unset; the user must end the letter (either
  728. by sending it or forcefully terminating it) first.
  729. .sp
  730. Header editing is required (and happens automatically) when using the
  731. \*QCompose\*U tool mode item.
  732. .TP
  733. .B escape
  734. (Character)
  735. When composing a mail message (not in an editor), and the
  736. .B escape
  737. character is the first character on the line, the next character
  738. is examined and a corresponding function associated with that
  739. .I "escape command"
  740. is executed.
  741. See
  742. .B "tilde escapes"
  743. for more information.
  744. .TP
  745. .B fignore
  746. (String)
  747. This variable is tested when filename completion is used (see the variable
  748. .B complete
  749. for details).
  750. The value of
  751. .B fignore
  752. may be a list of filename extensions (\*Q.c\*U, \*Q.o\*Q, etc.), a list
  753. of filename patterns containing metacharacters (*?{}[]), or a mixture of
  754. the two.
  755. Each element in the list must be separated from the others by a space.
  756. When a filename completion occurs, any filenames with the extensions
  757. listed in
  758. .BR fignore ,
  759. or matching the patterns given there, will be omitted from the completion.
  760. .sp
  761. For example,
  762. .sp
  763. .ti +4
  764. set fignore = ".o .s [Mm]ake*"
  765. .sp
  766. will cause any filename ending in \*Q.o\*U or \*Q.s\*U, and any filename
  767. beginning with \*QMake\*U or \*Qmake\*U, to be excluded from completions.
  768. .sp
  769. If all files in the current directory match the extensions or patterns,
  770. .B fignore
  771. is disabled and completion will occur.
  772. For this reason, it is usually not a good idea to include \*Q*\*U in the list.
  773. .TP
  774. .B folder
  775. (String)
  776. The folder variable is set to the path of a directory where folders are kept.
  777. This path is used by various commands to expand the `+' metacharacter (see
  778. the
  779. .B folder
  780. command for details).
  781. \*Q~/Mail\*U is the default expansion of `+'.
  782. .TP
  783. .B fortune
  784. (Boolean/string)
  785. If fortune is set, a random fortune is appended to the end of
  786. all outgoing mail using the
  787. .IR UNIX (TM)
  788. command
  789. .B /usr/games/fortune
  790. (may vary from system to system).
  791. If fortune is set to something that starts with
  792. a `\-', then it is interpreted as a flag to fortune (e.g., \*Q\-o\*U).
  793. If
  794. .B fortune
  795. starts with a `/', then the program described by
  796. the string is executed (thus not doing fortune at all, if you want).
  797. By default,
  798. .I "fortune \-s"
  799. (short fortunes) is used.
  800. .TP
  801. .B fortunates
  802. (String)
  803. When fortunes are added to messages, sometimes it is desirable to
  804. make sure that only a selected group of people get a fortune since
  805. certain people may not understand the messages at the end of your
  806. mail.  Therefore, you can set a list of addresses (either pure addresses
  807. or aliases that are expanded to addresses) to be the only people who
  808. receive fortunes if one is to be appended.  Therefore,
  809. if the To: and Cc: lines contain only address listed in this string
  810. variable, then a fortune is appended to the message.
  811. If those lists contain names that are not on the fortunates
  812. list, then no fortune is added.
  813. This cannot be overridden; using the
  814. tilde command \*Q~F\*U does not force a fortune to be added unless the
  815. individuals on the recipient list are all included in the fortunates
  816. list.  The list is made up of addresses or aliases separated by spaces or
  817. commas.
  818. .I "NOTE: fortune must be set in order for fortunates to work."
  819. .TP
  820. .B hangup
  821. (Boolean)
  822. If this variable is set,
  823. .I Mush
  824. will update your folder before exiting when it receives a SIGHUP signal.
  825. This is useful if you frequently read mail when dialed in over a noisy phone
  826. line that often drops carrier.
  827. .sp
  828. .IR WARNING \|:
  829. Certain errors are ignored during this update, because it is presumed to be
  830. impossible to query the user for instructions.
  831. Except in the event of a write error, the folder will be forced to contain
  832. exactly those messages that were not deleted at the time of the hangup.
  833. In particular, this means that if an error occurs when loading new mail before
  834. the update, the new mail will be lost.
  835. Write errors will still cause both the working tempfile and as much of the
  836. folder as possible to be preserved.
  837. .TP
  838. .B hdr_format
  839. (String)
  840. This variable controls the format of the headers displayed by the
  841. .B headers
  842. command and in the curses and tool modes.
  843. The format style of this variable string is similar to printf in C.
  844. When printing the information, the variable is evaluated and each
  845. character in the string is echoed unless a `%' character is
  846. encountered.
  847. If one is found, the following string substitutions are made:
  848. .sp
  849. .in +2
  850. .nf
  851. .ta 0.5i
  852. %a    address of the author
  853. %c    number of characters (bytes) in the message
  854. %f    entire \*QFrom:\*U field (author)
  855. %l    number of lines in the message
  856. %i    the message-id (may not be present)
  857. %n    name of the author
  858. %s    subject of the message
  859. %t    \*QTo:\*U field (recipients)
  860. %d    date and time of the message
  861. %T    time only of the message
  862. %N    day number of the month of the message
  863. %W    day of the week (Sun, Mon, etc.)
  864. %M    month name of the message
  865. %Y    year of the message
  866. %y    last two digits of %Y
  867. %Z    time zone of the message
  868. \\n    a newline
  869. \\t    a tab
  870. .fi
  871. .in -2
  872. .sp
  873. A field width specifier may be used in all options.
  874. Thus, \*Q%20f\*U will print the
  875. first 20 characters of the from line.
  876. No matter what the formatting string, the message number
  877. followed by a `>' (for current message) is printed.
  878. .sp
  879. The \*Qaddress\*U and \*Qname\*U of the author
  880. are extracted from the \*QFrom:\*U field of the message.
  881. The name may be given in parentheses and
  882. the rest of the line is the address, or the address is given in angle
  883. brackets (`<' and `>') and the rest of the line is the name.
  884. Sometimes the address is the only thing on the line,
  885. in which case the name and address are the same.
  886. .sp
  887. A special format is also provided to obtain the contents of any header
  888. not listed above.
  889. If a format of the form \*Q%?header-name?\*U (both leading and following `?'
  890. characters are required) appears in the value of 
  891. .BR hdr_format ,
  892. the named header will be looked up.
  893. For example,
  894. .sp
  895. .ti +4
  896. set hdr_format = "%a %n %?phone?"
  897. .sp
  898. causes the electronic address, name, and (if a \*QPhone:\*U header is present)
  899. phone number of the sender to be displayed.
  900. .TP
  901. .B history
  902. (Numeric)
  903. This variable is set to the number of commands the shell interface
  904. will remember.  It is just like the history variable used in
  905. .I csh.
  906. If unset, the last command can always be referenced, but none other.
  907. .TP
  908. .B hold
  909. (Boolean)
  910. Normally, on termination of mail, read messages are saved in
  911. your mbox (except those marked as preserved).
  912. Setting
  913. .B hold
  914. prevents this from happening,
  915. and messages remain in /usr/spool/mail/user.
  916. This does not apply to folders, obviously.
  917. .TP
  918. .B home
  919. (String)
  920. This variable describes the user's home directory.
  921. The variable is initialized to the value of the environment variable HOME,
  922. but can be modified at any time during the
  923. .I Mush
  924. session.
  925. The home directory is the same directory where temporary
  926. files are kept for editing and so forth.
  927. If the home directory cannot be found or read/write access is denied, an
  928. alternate directory, typically /tmp, is used.
  929. .TP
  930. .B hostname
  931. (String)
  932. This is the name of your computer.  Currently, its sole usage is to
  933. compose a correct \*QFrom:\*U line for use with Mail Transport Agents
  934. that do not create this header automatically.  This will aid the
  935. recipients of your mail in replying to your messages.
  936. .sp
  937. Note: the user should not have to set
  938. this variable since it should be set automatically by the system.  However,
  939. it may happen that the system's hostname cannot be queried and the user may
  940. have to set this variable manually.
  941. .TP
  942. .B ignore_bang
  943. (Boolean)
  944. If set,
  945. .I Mush
  946. will ignore the `!' character as a history reference.
  947. Note that this severely limits use of the
  948. .B cmd
  949. facility, which depends upon history references for argument substitutions.
  950. .TP
  951. .B ignoreeof
  952. (Boolean/string)
  953. If set, `^D' will not exit from
  954. .IR Mush .
  955. If set to a string, that string is executed as a command
  956. when `^D' is typed.
  957. This does not effect termination of messages under the
  958. .B mail
  959. and
  960. .B reply
  961. commands.
  962. .TP
  963. .B indent_str
  964. (String)
  965. When including messages into the text of a letter you are editing,
  966. each line of the messages is preceded by the value of
  967. .BR indent_str .
  968. If it is unset, the message body is indented by the string \*Q> \*U.
  969. See also the variables
  970. .B pre_indent_str
  971. and
  972. .BR post_indent_str .
  973. .TP
  974. .B in_reply_to
  975. (String)
  976. This variable may be set to a string that will complete the
  977. header \*QIn-Reply-To:\*U.
  978. The format of this string is identical to the options for the variable
  979. .BR hdr_format .
  980. .sp
  981. For example, if the user were to respond to a message
  982. from Dan Heller that was sent on October 21, 1987, at 10:39pm, with
  983. .B in_reply_to
  984. set to the string
  985. .nf
  986. .in +2
  987. .sp
  988. %n's message as of %d.
  989. .sp
  990. .ti -2
  991. the header line
  992. .sp
  993. In-Reply-To: Dan Heller's message as of Oct 21, 1987, 10:39pm.
  994. .in-2
  995. .fi
  996. .sp
  997. would be added to the message.
  998. .TP
  999. .B keepsave
  1000. (Boolean)
  1001. If set, the commands
  1002. .B save
  1003. and
  1004. .B write
  1005. will
  1006. .I not
  1007. mark messages for deletion.
  1008. .TP
  1009. .B known_hosts
  1010. (String)
  1011. Used in conjunction with the variable
  1012. .BR auto_route ,
  1013. this variable is set to a list of hosts, separated by spaces, tabs,
  1014. and/or commas, and describes
  1015. the hosts with whom you know your machine shares UUCP connections.
  1016. When replying to mail, many times you will see that the return path
  1017. constructed will have hostnames that your site could call, but instead
  1018. the mail has been routed through a number of different machines first.
  1019. .sp
  1020. For example, if you respond to mail that would mail to the path
  1021. .sp
  1022. .ti +2
  1023. unicom!pixar!root
  1024. .sp
  1025. but your know your machine already calls pixar, then sending the mail
  1026. to unicom first is unnecessary.
  1027. If you have set your known_hosts string to include pixar in its list,
  1028. the resulting address would look like
  1029. .sp
  1030. .ti +2
  1031. pixar!root
  1032. .sp
  1033. Also see the command
  1034. .B replyall
  1035. for more information on constructing correct return addresses.
  1036. .TP
  1037. .B logfile
  1038. (String)
  1039. Set to a filename which logs the headers of outgoing messages.  The message
  1040. body of the message is not logged as it is for the
  1041. .B record
  1042. filename.  The logfile can be read as a folder to scan for the fact that
  1043. messages have been sent.  If \fBlogfile\fR and \fBrecord\fR are both set,
  1044. then the logfile and the record files will match exactly.  In this case,
  1045. the record file can be quickly scanned by scanning the log file instead.
  1046. .sp
  1047. If set, but not to a string, the log file defaults to ~/mail.log.
  1048. .TP
  1049. .B mail_icon
  1050. (String)
  1051. Set to a pathname for an alternate icon pixmap to use when the
  1052. .I Mush
  1053. tool is closed.
  1054. The number of messages in the mailbox is displayed as an icon label unless
  1055. the string
  1056. .I iconlabel
  1057. appears as one of the values of the variable
  1058. .BR quiet .
  1059. See also the variable
  1060. .B newmail_icon
  1061. for the icon displayed when new mail arrives or is present.
  1062. .TP
  1063. .B mbox
  1064. (String)
  1065. Set to the pathname of a file you'd like 
  1066. .I Mush
  1067. to use as the default folder for read mail.
  1068. The default is ~/mbox.
  1069. .TP
  1070. .B metoo
  1071. (Boolean)
  1072. When replying to mail, you are normally deleted from the list of
  1073. recipients.
  1074. If metoo is set, you remain on the list.
  1075. See the 
  1076. .B alternates
  1077. command
  1078. for information on determining whether or not you're even on the list.
  1079. .TP
  1080. .B mil_time
  1081. (Boolean)
  1082. Whenever the time is displayed in a message header or in the prompt,
  1083. it can be displayed in either 12-hour am/pm format, or in 24 hour
  1084. military time format.
  1085. The default is the 12 hour format, but can be
  1086. reset to use the 24 hour format by setting this variable.
  1087. .TP
  1088. .B newline
  1089. (Boolean/string)
  1090. If set, carriage returns are ignored.
  1091. If set to a string, that string is executed as a command when a
  1092. carriage return is typed.
  1093. Otherwise, carriage return prints the next undeleted message.
  1094. .B newmail_icon
  1095. (String)
  1096. Set to a pathname for an alternate icon pixmap to use
  1097. when new mail is available.
  1098. .TP
  1099. .B no_expand
  1100. (Boolean)
  1101. When a
  1102. .I Mush
  1103. alias is used to reference a list of addresses, the list is expanded on
  1104. the To: and Cc: lines to indicate the complete list of all the recipients of
  1105. the message.
  1106. When no_expand is set, aliases are not expanded and the headers
  1107. reflect the same information as typed by the user.
  1108. .TP
  1109. .B no_hdrs
  1110. (Boolean)
  1111. If set, this variable tells 
  1112. .I Mush
  1113. not to include your personalized mail headers in messages.
  1114. This does not unset your headers, it just disables them.
  1115. .TP
  1116. .B no_reverse
  1117. (Boolean)
  1118. In curses mode and in the tool mode, reverse video is not used to indicate the 
  1119. .I "current message"
  1120. if this variable is set.
  1121. In the tool mode, if reverse video is not in use,
  1122. text is displayed in \*Qbold\*U.
  1123. .TP
  1124. .B nonobang
  1125. (Boolean)
  1126. If this variable is set, history references that don't match anything will
  1127. be left unexpanded, rather than generating error messages.
  1128. This is useful if you want argument referencing in
  1129. .B cmd
  1130. expansions, but do
  1131. not want to remember to escape every `!' you type in UUCP addresses.
  1132. It is also recommended for use with curses mode, because history is not
  1133. kept for line mode escapes from that interface.
  1134. .TP
  1135. .B nosave
  1136. (Boolean)
  1137. When composing a letter, the user can terminate the letter without sending
  1138. it by using the tilde escape \*Q~q\*U or by sending two \*Qinterrupt\*U
  1139. signals.
  1140. When the message is terminated, a copy of it is saved to the
  1141. file \*Qdead.letter\*U in the user's home directory or to the file described
  1142. by the variable
  1143. .BR dead .
  1144. If the variable
  1145. .B nosave
  1146. is set, then a backup copy of the message will not be saved.
  1147. .TP
  1148. .B output
  1149. (Read-only string)
  1150. This variable holds a message list representing the output of the last
  1151. successful command.
  1152. This is useful for recovering from broken pipes or to capture the output
  1153. of a command without affecting the information it displays (some commands
  1154. limit or suppress output when used in a pipeline).
  1155. Commands which return an error status (see the variable
  1156. .BR status )
  1157. do not affect the value of
  1158. .BR output ,
  1159. but successful commands that return no message list will clear it.
  1160. Also, many curses mode commands return an error status to indicate that
  1161. the display has been altered, even if no actual error occurred.
  1162. This variable is thus most useful in line mode and in scripts.
  1163. .TP
  1164. .B pager
  1165. (String)
  1166. If a message is longer than the number of lines that the variable
  1167. .B crt
  1168. is set to, then this program is executed to view a message.
  1169. If the user does not have this variable set, the user's environment PAGER
  1170. is checked.
  1171. If this isn't set, then the default value for pager (set up
  1172. by the system manager) is used.
  1173. This may or may not be the internal pager.
  1174. To use the internal pager, you may set the variable pager to
  1175. .I internal
  1176. or to a null string.
  1177. .TP
  1178. .B pre_indent_str
  1179. (String)
  1180. If this variable is set, when including the body of a message into an outgoing
  1181. mail message (using the \-i option to
  1182. .I reply
  1183. or
  1184. .IR mail ,
  1185. or when using the \*Q~i\*U escape),
  1186. a line preceding the first line of
  1187. included text is printed using the string value of the variable.
  1188. This string uses the same printf style formatting characters as the
  1189. .B hdr_format
  1190. variable.
  1191. For example, you could set
  1192. .B pre_indent_str
  1193. as follows:
  1194. .sp
  1195. .ti +2
  1196. set pre_indent_str = '[In the message entitled "%s", on %7d\\n %n writes:]'
  1197. .sp
  1198. You can then include a message body using \*Q~i\*U, and you might
  1199. get something like this:
  1200. .sp
  1201. .in +2
  1202. .nf
  1203. [In the message entitled "This is a test.", on Jan 19,
  1204.  Dan Heller writes:]
  1205. > This is a test message to show how
  1206. > pre_indent_str might be used.
  1207. .ti -2
  1208. .sp
  1209. .fi
  1210. This example assumes that the string value of
  1211. .B indent_str
  1212. is not set.
  1213. .TP
  1214. .B post_indent_str
  1215. (String)
  1216. This variable has the same function as
  1217. .B pre_indent_str
  1218. except that the string is inserted into the message body
  1219. .I after
  1220. the text of the included message rather than before.
  1221. The purpose of this variable is to complement the string described by
  1222. the variables
  1223. .B pre_indent_str
  1224. and
  1225. .BR indent_str .
  1226. For example,
  1227. .sp
  1228. .in +2
  1229. .nf
  1230. set pre_indent_str = "/*"
  1231. set indent_str = " * "
  1232. set post_indent_str = " */"
  1233. .sp
  1234. .ti -2
  1235. An included message might look something like this:
  1236. .sp
  1237. /*
  1238.  * This is a test message to show how
  1239.  * post_indent_str and pre_indent_str
  1240.  * can work together with indent_str.
  1241.  */
  1242. .fi
  1243. .in -2
  1244. .TP
  1245. .B printer
  1246. (String)
  1247. Used to set the default printer for the lpr command.
  1248. .TP
  1249. .B print_cmd
  1250. (String)
  1251. This string should describe a
  1252. .IR UNIX (TM)
  1253. command other than "lpr" for sending
  1254. messages to the line printer.
  1255. Some people may choose to use a device independent
  1256. troff style program, but virtually any UNIX command will suffice.
  1257. Common usage might include:
  1258. .sp
  1259. .ti +2
  1260. set print_cmd = 'ptroff \-ms \-Plp'
  1261. .ti +2
  1262. lpr .\-$
  1263. .sp
  1264. This command would send all messages from the current message to the last
  1265. message through the ptroff command, supplying the appropriate arguments.
  1266. .TP
  1267. .B prompt
  1268. (String)
  1269. You can set your prompt to tell you many different pieces of information.
  1270. By default, the prompt is set to the string
  1271. .sp
  1272. .ti +2
  1273. \*QMsg %m of %t: \*U
  1274. .sp
  1275. If you have 10 messages and your current message is 5, then your prompt
  1276. would look like:
  1277. .sp
  1278. .ti +2
  1279. Msg 5 of 10:
  1280. .sp
  1281. The string value that prompt is set to will be printed as your prompt.
  1282. If the string contains a `%', then that character is
  1283. ignored, the next character is evaluated and an appropriate
  1284. value is printed in its place:
  1285. .sp
  1286. .nf
  1287. .in +2
  1288. .ta 0.5i
  1289. %F    full path name of the current folder
  1290. %f    name of the current folder (tail of %F)
  1291. %m    \*Qcurrent message\*U number
  1292. %t    total number of messages
  1293. %n    number of \*Qnew\*U messages
  1294. %u    number of unread messages
  1295. %d    number of deleted messages
  1296. %T    current time (hours and seconds)
  1297. %N    today's date (Number of the day in the month)
  1298. %W    weekday name (Sun, Mon, Tue, ...)
  1299. %M    current month
  1300. %Y    this year
  1301. %y    last two digits of %Y
  1302. \\n    a newline
  1303. \\t    a tab
  1304. .fi
  1305. .in -2
  1306. .TP
  1307. .B quiet
  1308. (Boolean/Multivalued)
  1309. This variable tells
  1310. .I Mush
  1311. to be quiet in various circumstances.
  1312. If set, but not to any values, the currently running version of
  1313. .I Mush
  1314. is not printed on startup.
  1315. Otherwise,
  1316. .B quiet
  1317. may be set to one or more words separated by spaces or commas.
  1318. Currently recognized words are:
  1319. .sp
  1320. .nf
  1321. .ta 1.5i
  1322. .in +4
  1323. .\" \& escapes are to make obvious the tab after each word
  1324. autosign    Suppress messages when appending signature.
  1325. await\&\&    Suppress \fBawait\fR's bell for new mail.
  1326. complete    Suppress word completion error bells.
  1327. fkey\&\&    Suppress warnings about unset function keys.
  1328. fortune\&    Suppress messages when appending fortune.
  1329. iconlabel    Suppress showing message count as icon label.
  1330. newmail\&    Suppress new mail notification messages.
  1331. pick\&\&    Suppress descriptions of pick searches.
  1332. startup\&    Suppress the startup message.
  1333. tool\&\&    Suppress tool mode bell for new mail.
  1334. .in -4
  1335. .fi
  1336. .sp
  1337. Error conditions for signatures and fortunes are still reported.
  1338. See the variables
  1339. .BR autosign ,
  1340. .BR complete ,
  1341. and
  1342. .B fortune
  1343. for more details.
  1344. The
  1345. .I newmail
  1346. setting does not prevent automatic inclusion of new mail, it only
  1347. suppresses the announcement of its arrival, including tool mode bells.
  1348. The
  1349. .I fkey
  1350. setting applies only to tool mode.
  1351. .TP
  1352. .B realname
  1353. (String)
  1354. Set to the name of the user.
  1355. The name is initialized to the value of the environment variable
  1356. .B NAME
  1357. upon invocation of the program.
  1358. If that isn't set, then the name is gotten from the password file if
  1359. available.
  1360. If this variable wants to be reset or changed after the
  1361. program has started, the user should issue the command:
  1362. .sp
  1363. .ti +2
  1364. set realname = "Your name here"
  1365. .TP
  1366. .B record
  1367. (String)
  1368. Set to the name of a file to record all outgoing mail.
  1369. This should be a full pathname or the current directory is searched.
  1370. The pathname may begin with `+' (indicating the user's ~/Mail directory
  1371. or the value of the 
  1372. .B folder
  1373. variable) or with a `~' (or \*Q~user\*U)
  1374. indicating the user's home directory.
  1375. .TP
  1376. .B reply_to_hdr
  1377. (String)
  1378. When replying to mail,
  1379. .I Mush
  1380. searches for return paths from the message by searching for
  1381. the message headings \*QReply-to\*U, \*QReturn-path\*U, and \*QFrom:\*U,
  1382. in that order.
  1383. If none are found, then the first line of the
  1384. message created by the delivery system is parsed and the address
  1385. given there is used.  This special message header is created by most
  1386. mail delivery programs, but not all of them (MMDF, for one).  This line
  1387. is called the
  1388. .B From_
  1389. header because it is a colon-less header, but contains the return address
  1390. of the author of the message.
  1391. If the variable
  1392. .B reply_to_hdr
  1393. is set to a list of headers (delimited by spaces or commas), then that list
  1394. is searched.  If none of the headers listed in the variable exist
  1395. in the message, then a warning message is printed and the default
  1396. headers are used.  The special case From_ header can be specified
  1397. as one of the headers to search for.
  1398. .sp
  1399. .nf
  1400. .ti +2
  1401. set reply_to_hdr = "sender reply-to return-path from_"
  1402. .fi
  1403. .sp
  1404. This example shows that 
  1405. .I Mush
  1406. will search for (in order), the headers listed in the reply_to_hdr variable.
  1407. If one header isn't found, then
  1408. .I Mush
  1409. looks for the next in the list.
  1410. If none of the headers in the list are found, the default headers (mentioned
  1411. above) are searched.
  1412. The last header listed in the example is the special \*QFrom \*U header.
  1413. Also see the
  1414. .B reply
  1415. command.
  1416. .TP
  1417. .B save_empty
  1418. (Boolean)
  1419. Normally, when all messages in a folder are deleted and the user updates
  1420. the folder or changes to a new folder, the empty folder is deleted.
  1421. .B save_empty
  1422. prevents the folder from being deleted and it is left zero length.
  1423. Note: the main system mailbox is never deleted, even when empty.
  1424. .TP
  1425. .B screen
  1426. (Numeric)
  1427. May be set to the number of message headers to display at a time in the
  1428. line and curses modes.
  1429. .TP
  1430. .B screen_win
  1431. (Numeric)
  1432. May be set to the number of message headers to display in the tool mode.
  1433. A subwindow is created for message headers, and its size is large
  1434. enough to hold $screen_win headers.
  1435. .TP
  1436. .B sendmail
  1437. (String)
  1438. If set, the program and arguments described by this variable will
  1439. be executed to actually deliver mail sent by
  1440. .I Mush.
  1441. .TP
  1442. .B show_deleted
  1443. (Boolean)
  1444. If true, deleted message headers are displayed along with
  1445. other messages (`*' indicates a deleted message) for the \fBheaders\fR
  1446. command.  Also, deleted messages can be displayed using any command which
  1447. displays a message.
  1448. In curses mode, this variable is ignored and deleted messages are always
  1449. displayed with other messages to facilitate undeleting messages.
  1450. .TP
  1451. .B show_hdrs
  1452. (Multivalued)
  1453. Set to a list (space and/or comma separated) of headers that are to be the
  1454. only headers displayed when viewing a message.
  1455. This variable disables the headers suppressed by the
  1456. .B ignore
  1457. command.
  1458. For example,
  1459. .sp
  1460. .ti +2
  1461. set show_hdrs = \*Qfrom date subject to cc\*U
  1462. .sp
  1463. will only display the headers
  1464. .B From: Date: Subject: To: Cc:
  1465. in their entirety.
  1466. .TP
  1467. .B sort
  1468. (Boolean/string)
  1469. The value of this variable is the same as the arguments to the
  1470. .B sort
  1471. command.
  1472. This variable is used for the initialization file to presort
  1473. mail in the system mailbox upon entering
  1474. .IR Mush .
  1475. See the COMMANDS section for more information.
  1476. .TP
  1477. .B squeeze
  1478. (Boolean)
  1479. Whenever messages are read, piped, or saved, if this variable is set,
  1480. all consecutive blank lines are squeezed into one blank line.
  1481. .TP
  1482. .B status
  1483. (Read-only numeric)
  1484. This variable records the success or failure status of the most recently
  1485. executed command.
  1486. All line-mode commands return 0 (zero) for success and a negative value for
  1487. error.
  1488. Some curses mode commands return an error status to indicate that the
  1489. display has been corrupted, even when no actual error has occurred.
  1490. This variable is most useful in scripts to test the success of an operation
  1491. before proceeding.
  1492. .TP
  1493. .B tmpdir
  1494. (String)
  1495. This variable describes the path to use as the directory
  1496. for all tempfiles that
  1497. .I Mush
  1498. uses.  By default, the user's home directory is used.  If that
  1499. cannot be accessed, a directory writable by all is used (typically, /tmp).
  1500. If \fBtmpdir\fR is set, then it is used first.
  1501. .TP
  1502. .B thisfolder
  1503. (Read-only string)
  1504. The full path name of the current mailbox.
  1505. This variable cannot be modified or displayed by the
  1506. .B set
  1507. command; its value changes whenever a new folder is entered with the
  1508. .B folder
  1509. command.
  1510. During sourcing of the initialization files,
  1511. .B thisfolder
  1512. is not set, because the current folder has not yet been read.
  1513. If you refer to \*Q$thisfolder\*U in an initialization file
  1514. .RI ( e.g. ,
  1515. .IR .mushrc ),
  1516. be sure to do so inside an \*Qif $?thisfolder\*U test.
  1517. .TP
  1518. .B toplines
  1519. (Numeric)
  1520. The number of lines of a message to print when the
  1521. .B top
  1522. command is issued.  If unset, $crt lines are printed.
  1523. Note that the message body only is printed when using the
  1524. .B top
  1525. command; message headers are not counted as lines since they are not displayed.
  1526. .TP
  1527. .B unix
  1528. (Boolean)
  1529. If set, commands that are not
  1530. .I Mush
  1531. commands are considered to be
  1532. .IR UNIX (TM)
  1533. commands.
  1534. This removes the inconvenience of requiring the user to do
  1535. shell escapes to do quick
  1536. .I UNIX
  1537. commands.
  1538. For systems that support job control, SIGTSTP will stop the entire shell as
  1539. well as the process being executed.
  1540. When SIGCONT is delivered, both will receive the
  1541. signal and the shell will continue to wait for the job to finish.
  1542. .sp
  1543. Due to the lack of real job control, input/output redirection and UNIX command
  1544. piping, this mode of the shell is not intended to be used as a login shell.
  1545. .sp
  1546. If a
  1547. .I Mush
  1548. command conflicts with a
  1549. .I UNIX
  1550. command, use the command
  1551. .B sh
  1552. to force execution as a shell command or use the full pathname of the command
  1553. (e.g. starting with a '/').
  1554. .sp
  1555. .BR Warning :
  1556. .I "Be aware that Mush pipes transmit message lists, NOT TEXT."
  1557. You cannot pipe the output of
  1558. .I UNIX
  1559. commands to or from
  1560. .I Mush
  1561. commands or other
  1562. .I UNIX
  1563. commands with the
  1564. .I Mush
  1565. pipe mechanism.  You can, however, pipe
  1566. .I Mush
  1567. commands to a final UNIX
  1568. command (see the \fBpipe\fR command for more information).
  1569. UNIX commands should be simple commands without pipes or metacharacters.
  1570. .sp
  1571. This feature is not available for the tool mode.
  1572. .TP
  1573. .B verbose
  1574. (Boolean)
  1575. Passes verbose flag to mail delivery systems when sending mail, and
  1576. causes
  1577. .I Mush
  1578. to print additional information about the sending process.
  1579. .TP
  1580. .B verify
  1581. (Boolean)
  1582. When through editing messages, just before sending,
  1583. .B verify
  1584. will ask you if you want to send, continue editing, or abort the
  1585. whole message altogether.
  1586. .TP
  1587. .B version
  1588. (Read-only String)
  1589. The value of this variable is the version string, printed by
  1590. .I Mush
  1591. at startup (unless
  1592. .B quiet
  1593. is set) and included in the \*QX-Mailer:\*U header in messages.
  1594. .TP
  1595. .B visual
  1596. (String)
  1597. May be set to the visual editor to use when ~v is specified.
  1598. Default is vi or the environment string VISUAL.
  1599. The visual editor is invoked by the \-e arguments to the
  1600. commands, 
  1601.