Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ scan(n) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

 

scan − produce a one line per message scan listing scan ­[+folder] ­[msgs] ­[−clear] ­[−noclear] ­[−form formatfile] ­[−format string] ­[−header] ­[−noheader] ­[−width columns] ­[−nocnv] ­[−help]

DESCRIPTION

Scan produces a one−line−per−message listing of the specified messages.  Each scan line contains the message number (name), the date, the “From:” field, the “Subject” field, and, if room allows, some of the body of the message.  For example:
 

15+07/ 5Dcrockernned  <<Last week I asked some of
16 -07/ 5Dcrockermessage id format  <<I recommend
1807/ 6ObrienRe: Exit status from mkdir
1907/ 7Obrien“scan” listing format in MH

 
The ‘+’ on message 15 indicates that it is the current message. The ‘−’ on message 16 indicates that it has been replied to, as indicated by a “Replied:” component produced by an ‘−annotate’ switch to the repl command. 
 
If there is sufficient room left on the scan line after the subject, the line will be filled with text from the body, preceded by <<, and terminated by >> if the body is sufficiently short.  Scan actually reads each of the specified messages and parses them to extract the desired fields.  During parsing, appropriate error messages will be produced if there are format errors in any of the messages. 
 
The ‘−header’ switch produces a header line prior to the scan listing.  Currently, the name of the folder and the current date and time are output (see the HISTORY section for more information). 
 
If the ‘−clear’ switch is used and scan’s output is directed to a terminal, then scan will consult the $TERM and $TERMCAP envariables to determine your terminal type in order to find out how to clear the screen prior to exiting.  If the ‘−clear’ switch is used and scan’s output is not directed to a terminal (e.g., a pipe or a file), then scan will send a formfeed prior to exiting. 
 
For example, the command:
 

(scan −clear −header; show all −show pr −f) | lpr
 
produces a scan listing of the current folder, followed by a formfeed, followed by a formatted listing of all messages in the folder, one per page.  Omitting ‘−show pr −f’ will cause the messages to be concatenated, separated by a one−line header and two blank lines.
 
If scan encounters a message without a “Date:” field, rather than leaving that portion of the scan listing blank, the date is filled−in with the last write date of the message, and post−fixed with a ‘∗’.  This is particularly handy for scanning a draft folder, as message drafts usually aren’t allowed to have dates in them. 
 
To override the output format used by scan, the ‘−format string’ or ‘−format file’ switches are used.  This permits individual fields of the scan listing to be extracted with ease.  The string is simply a format string and the file is simply a format file.  See mh−format (5) for the details. 
 
In addition to the standard escapes, scan also recognizes the following additional escape:

escapesubstitution
bodythe (compressed) first part of the body

 
On hosts where MH was configured with the BERK option, scan has two other switches: ‘−reverse’, and ‘−noreverse’.  These make scan list the messages in reverse order.  In addition, scan will update the MH context prior to starting the listing, so interrupting a long scan listing preserves the new context.  MH purists hate both of these ideas.  ^$HOME/.mh_profile~^The user profile ^Path:~^To determine the user’s MH directory ^Alternate−Mailboxes:~^To determine the user’s mailboxes ^Current−Folder:~^To find the default current folder inc(1), pick(1), show(1), mh−format(5) ‘+folder’ defaults to the folder current ‘msgs’ defaults to all ‘−format’ defaulted as described above ‘−noheader’ ‘−width’ defaulted to the width of the terminal If a folder is given, it will become the current folder.  Prior to using the format string mechanism, ‘−header’ used to generate a heading saying what each column in the listing was.  Format strings prevent this from happening.  The argument to the ‘−format’ switch must be interpreted as a single token by the shell that invokes scan.  Therefore, one must usually place the argument to this switch inside double−quotes. 

NEWS-OS Release 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026