.ls 1
.se "Other Commands"

.ss "Returning to the Index Page"

	Type ``i'' (``index'') while reading notes or responses
to return to the index page.

.ss "Searching Titles for Keywords"

	Notesfiles can search backwards for keywords appearing in note titles.
Typing ``x'' (``x is the unknown title'') prompts for the substring to be found.
Searching begins
at the current note (or from the last note shown on the index page)
and proceeds towards note 1.
Upper/lower case information is ignored in the search.
Use upper case ``X'' to continue the search.
The search can be aborted by hitting the RUBOUT (or DELETE) key.

.ss "Searching for Authors"

	The ``a'' command searches backwards for notes or responses written by
a specific author.
Notesfiles prompts for the authors name. 
The ``A'' command continues the search  backwards.
The author name may be preceded by an optional `system!'.
Abort the search by hitting the RUBOUT (or DELETE) key.

	The entire name need not be specified when searching
for articles by a particular author.
Author searching uses substring searching.
Searching for the author ``john'' will yield articles written
by a local user ``john'', 
a remote user ``somewhere!johnston'',
and any articles from the ``uiucjohnny'' machine.
Author searching is case sensitive.

.ss "Stacking Notesfiles"

	Sometimes it is useful to be able to 
glance at another notesfile while reading notes.
Using ``n'', the user can save (stack) his current place and peruse
another notesfile.

	When on the index page or while reading notes/responses,
type ``n'' (``nest'')
to read another notesfile.
Notesfiles prompts for the notesfile to read.
If the notesfile exists, the place is marked in the old notesfile
and the new one's index is displayed.

	Type any of the standard keys to leave the nested notesfile.
Both ``q'' and ``Q'' leave the nested notesfile
and return to the previously stacked notesfile.
Control-d (``signoff'') causes the notesfile program to exit regardless
of the depth of nesting.

	Sequencing is turned off in the new notesfile
regardless of its state in the old notesfile.
The depth of the stack of notesfiles is limited only by the 
amount of memory available to the user.

.ss "Accessing Archives"

	As notesfiles grow, it becomes impractical to keep every discussion.
In some cases, the old discussions are deleted;
other cases require these old discussions to be saved somewhere.
Each active notesfile can have an archive notesfile.
An archive notesfile contains the old discussions from the
active notesfile.

	The archive of an active notesfile is accessed by explicitly
naming the notesfile (/usr/spool/oldnotes/micronotes for example)
or through the ``N'' command from the active notesfile.

.ss "Policy Note"

	A notesfile director can write an optional policy note to describe
the purpose of a notesfile.
Read the policy note by typing ``p'' (``policy'') from the index page.

.se "The Sequencer"

	Most users prefer to scan notesfiles and see only those notes written
since their last reading.
The notesfile ``sequencer'' provides this capability.
It is activated by the ``-s'' option (``sequencer'') on the
command line.
When the sequencer is activated, the notesfile system automatically remembers
the last time the user read notes in each notesfile.
Subsequent entries to the
notesfile can use the ``last time'' information to show only new notes and
responses.
If there is nothing new in a notesfile, 
the sequencer proceeds to the next notesfile specified in the command line.

	The normal sequencer does not give the user a chance to read
the notesfile if there are no new notes or responses;
sometimes it is desirable to be able to do so.
Use the ``-x'' option
to enable the sequencer and enter the  notesfile 
even if there are no new notes.

	No keys need be pressed if there are no new notes in the entire list
and the normal (``-s'') sequencer mode is selected.
With the extended (``-x'') sequencer,
the user must type ``q'', ``Q'', or control-d
for each notesfile regardless of whether
there are new notes.

	The ``-i'' mode of sequencing is similar to the ``-s'' mode. 
Using the ``-i'' mode, notesfiles with no new entries are passed over.
The user starts reading
on the index page of notesfiles which contain new notes.

.ss "Seeing New Notes and Responses"

	The sequencer always shows the base note of a
modified note string,
whether or not is has been shown before,
in order to establish the context of the new response(s).
The ``j'' command skips to the next modified text (note or response).

	If the rest of a particular note string seems uninteresting,
skip to the next modified note string with the ``J'' (``big Jump'')
command.
This skips any new responses on the current note string.
It is common to follow in detail only a few note strings and
skip others with the ``J'' command.

	The ``last time'' information is kept in a special file for
each user.
When the sequencer is enabled, the time for the notesfile
is loaded into
a variable and used to specify which notes and responses are new.
If the sequencer is not enabled, this variable is initialized to
January 1, 1970.
The ``j'' and ``J'' keys use this variable to determine which
notes and responses are ``new''.

	If the sequencer is enabled,
after exiting a notesfile
the ``last time'' information 
is updated to the time that the user entered this notesfile. The
entry time is used rather than the exit time to ensure that all
notes are seen, including ones written during the just completed
session.
If the sequencer is disabled, the ``last time'' information is
not modified.
The ``last time'' information for a particular notesfile is updated
as that notesfile is exited;
using ``Q'' or control-D later will have no effect on the sequencer
information for notesfiles already read.

	The ``o'' and ``O'' commands allow the user to modify the
variable used to determine whether notes and responses are ``new''.
The ``o'' command allows the user to set this variable to any 
date he wishes.
Use the ``O'' command to set this variable to show
only notes and responses written that day.
The ``last time'' file kept for each user is never modified by
the ``o'' and ``O'' commands.

	When no more new notes or responses exist, both the 
``j'' and ``J'' commands will take the user to the index page.
To exit the notesfile, use the ``q'' command.
Exiting with ``q'' will update the user's
``last entry'' time.
Exiting with capital ``Q'' will NOT modify the 
``last entry'' time for that notesfile
(neither will control-D).

	The ``l'' and ``L'' command behave similarly to ``j'' and
``J''.
The difference is that while ``j'' and ''J' take the user to
the last index page when no more new notes or responses
exist, the ``l'' and ``L'' commands will leave the notesfile
as if a ``q'' had been typed.
Thus when no more new notes exist, the ``l'' command is
like typing ``jq''.

.ss "Alternate Sequencers"

	If several people share a signon,
it is convenient for each to have his own set of sequencing
timestamps.
This is accomplished through the use of the 
subsequencer option of notesfiles.

	Specifying the -a option and a subsequencer name
causes notes to use a different sequencing timestamp file.
Many different subsequencer names can be used with
each signon.
Two different users using the same subsequencer name will not
conflict.
It is recommended that all the subsequencer names for a given
user be unique in the first 6 characters.

	The main sequencer file for a given user is distinct from
each of its subsequencer files.
Each of the subsequencer files is normally distinct.
If the subsequencer names are not distinct in the 
first 6 characters, subsequencer files may collide.

.ss "Automatic Sequencing"

	An alternate entry to the notes program
allows the user to invoke notes with the sequencer enabled and a list
of notesfiles to be scanned with a single,
simple
command.
The ``autoseq'' command is invoked by typing

	autoseq

and reads the environment variable ``NFSEQ'' to find the names of all 
notesfiles to be scanned.
On some systems, the ``autoseq'' command
may be known as ``readnotes'', ``autonotes'' or some similar
variant;
substitute the appropriate name in the following paragraphs.
The ``NFSEQ'' variable should be defined in .profile for
Bourne shell users as follows:

.nf
.ls 1
	NFSEQ=``pbnotes,micronotes,helpnotes,works''
	export NFSEQ
.ls
.fi

For users of the C shell, the following line should be
added to the .login file:

.nf
	setenv  NFSEQ   ``pbnotes,micronotes,helpnotes,works''
.fi

	With NFSEQ assigned this value,
a call to autoseq will process the notesfiles 
``pbnotes'',
``micronotes'',
``helpnotes'',
and
``works''
with the sequencer turned on.

	The full naming conventions,
pattern matching capabilities,
and `!' exclusion 
described in section 2.2
(``Notesfile Names and Wildcards'') are available in autoseq.
To read all notesfiles with ``unix'' in their names, and the
four test notesfiles (``test1'' though ``test4''), the NFSEQ 
variable might be defined as:

	NFSEQ=``*unix*,test[1234]''

	If the first character of an entry in the NFSEQ list is ``:'',
the notesfile system reads the file name following for a list of
notesfiles. 
To have the automatic sequencer read the file ``/usr/essick/.nfseq''
for a list of notesfiles to scan, define NFSEQ as:

	NFSEQ=``:/usr/essick/.nfseq''

	For this feature to work, the  file must have group read
privileges.
The notesfile program runs ``set-uid'' and 
can not read files which are readable only by the owner.

	The following definitions are also valid.
The first one reads the notesfiles specified in the file ``/usr/essick/.nfseq''
and then reads the notesfiles pbnotes and micronotes.
The second definition will read the notesfile pbnotes, those specified in
``/usr/essick/.nfseq'', micronotes and the ones specified in
``/usr/essick/.other''.
If the notesfile program is unable to read the file specified, it
skips to the next entry.
For a description of the format of these files, see the section 2.3,
``The -f Option''.

	NFSEQ=``:/usr/essick/.nfseq,pbnotes,micronotes''

	NFSEQ=``pbnotes,:/usr/essick/.nfseq,micronotes,:/usr/essick/.other''


	The automatic sequencer uses the ``-s'' mode of sequencing,
the user does not enter notesfiles which have no new text.
By specifying ``-x'' or ``-i'' on the command line, the user can
use the appropriate sequencer mode.

	The subsequencer option of notes is available from the
autoseq program by specifying ``-a name'' on the command line.
The semantics of this option are identical to those when
invoking notes.

.se "Environment Variables"

	The notesfile program reads several environment variables to
tailor the system to the user's preferences.
Below is a list of the variables,
their purpose,
and
their default values.
These defaults are for UNIX 4.1bsd and may be slightly different 
for other versions of UNIX.

.bx
.ix
``NFED'' specifies which editor will be invoked when the user writes a
note or response. 
If this variable is not specified, the notesfile system looks for
the environment variable ``EDITOR'' (which many other programs use).
If neither ``NFED'' nor ``EDITOR'' are defined, a default editor is
used (/bin/ed).
.ix 
``NFSEQ'' is a list of notesfiles that the user wishes to scan using the
automatic sequencing entry to notesfiles.
The use of this variable is described in the section on sequencing.
If unspecified, the system uses a standard set which usually includes
``general'' and ``net.general''.
.ix
``NFSIG'' specifies the file name containing a signature block to be included
at the end of a note or response.
If this variable is set, notes will prompt whether to include this file
when the user writes a new note or response.
The signature block typically contains the user's name and various mail paths
back to him or her.
It should be kept small and concise.
.ix
``PAGER'' is the paging program (``more'', ``pg'') which is used for scrolling
the help files.
The default paging program is /usr/ucb/more.
.ix
``MAILER'' determines the mail program to use. If undefined, this defaults
to /usr/ucb/mail.
.ix
``WRITE'' is used to specify the program for communication between users.
If undefined, the Unix program ``write'' is used.
.ix
``TERM'' determines the type of terminal in use. This must be set
for notes to know what screen addressing conventions to use. In most
cases the value will be correctly initialized by the system at login
time.
.ix 
``SHELL'' specifies which shell the user is running.
This will almost always be set by the operating system.
.ex
