-Subject: Developers' notes
-From: Thomas Roessler <roessler@guug.de>
-Date: Tue, 9 May 2000 19:48:08 +0200
-
-
Required tools
--------------
-If you are planning to hack on mutt-ng, please subscribe to the
-mutt-dev mailinglist (mutt-ng-deve-@lists.berlios.de).
+If you are planning to hack on Mutt-ng, please subscribe to the
+Mutt-ng-dev mailinglist (mutt-ng-deve-@lists.berlios.de).
Announcements about recent development
versions go to that mailing list, as go technical discussions and
patches.
- GNU make may be needed for the dependency tricks
-Getting started from CVS
+Getting started from SVN
------------------------
-Once you've checked out a copy of the source from CVS, you'll need to
+Once you've checked out a copy of the source from SVN from
+svn.berlios.de/svnroot/repos/mutt-ng , you'll need to
run the script called 'prepare' that is in the root directory. The
script does all the automake/autoconf magic that needs to be done with
a fresh checkout.
A word about warnings
---------------------
-Mutt's default build process sets some pretty restrictive compiler
+Mutt-ng's default build process sets some pretty restrictive compiler
flags which may lead to lots of warnings. Generally, warnings are
something which should be eliminated.
Nevertheless, the code in intl/ is said to generate some warnings with
the compiler settings we usually rely upon. This code is not
-maintained by the mutt-ng developpers, so please redirect any comments to
+maintained by the Mutt-ng developpers, so please redirect any comments to
the GNU gettext library's developpers.
- when adding new options, make the old behaviour the
default.
-- try to keep mutt-ng as portable as possible.
+- try to keep Mutt-ng as portable as possible.
- do not use C++-style comments (i.e. "// Comment")
This is used to protect indentations in tables.
Do _not_ use any other SGML or nroff formatting instructions here!
-
-$Id: devel-notes.txt,v 3.0 2002/01/24 13:35:07 roessler Exp $
.\"
.TH dotlock 1 "AUGUST 1999" Unix "User Manuals"
.SH NAME
-mutt_dotlock \- Lock mail spool files.
+muttng_dotlock \- Lock mail spool files.
.SH SYNOPSIS
.PP
-.B mutt_dotlock
+.B muttng_dotlock
[-t|-f|-u|-d] [-p] [-r \fIretries\fP] \fIfile\fP
.SH DESCRIPTION
.PP
-.B mutt_dotlock
+.B muttng_dotlock
implements the traditional mail spool file locking method:
To lock \fIfile\fP, a file named \fIfile\fP.lock is
created. The program operates with group mail privileges
.PP
.IP "-t"
Just try.
-.B mutt_dotlock
+.B muttng_dotlock
won't actually lock a file, but inform the invoking
process if it's at all possible to lock \fIfile\fP.
.IP "-f"
Force the lock. If another process holds a lock on
\fIfile\fP longer than a certain amount of time,
-.B mutt_dotlock
+.B muttng_dotlock
will break that lock by removing the lockfile.
.IP "-u"
Unlock.
-.B mutt_dotlock
+.B muttng_dotlock
will remove \fIfile\fP.lock.
.IP "-d"
Delete.
-.B mutt_dotlock
+.B muttng_dotlock
will lock \fIfile\fP, remove it if it has length 0, and afterwards
remove \fIfile\fP.lock.
.IP "-p"
Use privileges. If given this option,
-.B mutt_dotlock
+.B muttng_dotlock
will operate with group mail privileges when creating and
deleting lock files.
.IP "-r \fIretries\fP"
This command line option tells
-.B mutt_dotlock
+.B muttng_dotlock
to try locking
\fIretries\fP times before giving up or (if invoked with
the
.B -f
command line option) break a lock. The default value is 5.
-.B mutt_dotlock
+.B muttng_dotlock
waits one second between successive locking attempts.
.SH FILES
.PP
.IP "\fIfile\fP.lock"
The lock file
-.B mutt_dotlock
+.B muttng_dotlock
generates.
.SH SEE ALSO
.PP
.BR fcntl (2),
.BR flock (2),
.BR lockfile (1),
-.BR mutt (1)
+.BR muttng (1)
.SH DIAGNOSTICS
.PP
-.B mutt_dotlock
+.B muttng_dotlock
gives all diagnostics in its return values:
.TP
.B "0 \- DL_EX_OK"
The
user wants to lock a file which has been locked by
another process already. If
-.B mutt_dotlock
+.B muttng_dotlock
is invoked with the
.B -f
command line option,
-.B mutt_dotlock
+.B muttng_dotlock
won't generate this error, but break other processes'
locks.
.TP
.B "4 \- DL_EX_NEED_RPIVS"
This return value only occurs if
-.B mutt_dotlock
+.B muttng_dotlock
has been invoked
with the
.B -t
command line option. It means that
-.B mutt_dotlock
+.B muttng_dotlock
will have to use its group mail privileges to lock
\fIfile\fP.
.TP
.B "5 \- DL_EX_IMPOSSIBLE"
This return value only occurs if
-.B mutt_dotlock
+.B muttng_dotlock
has been invoked with the
.B -t
command line option. It means that
-.B mutt_dotlock
+.B muttng_dotlock
is unable to lock \fIfile\fP even with group mail
privileges.
.SH NOTES
.PP
-.B mutt_dotlock
+.B muttng_dotlock
tries to implement an NFS-safe dotlocking method which was
borrowed from
.B lockfile
.PP
If the user can't open \fIfile\fP for reading with his
normal privileges,
-.B mutt_dotlock
+.B muttng_dotlock
will return the
.B DL_EX_ERROR
exit value to avoid certain attacks against other users'
comments in dotlock.c.
.SH HISTORY
.PP
-.B mutt_dotlock
-is part of the Mutt mail user agent package. It has been
+.B muttng_dotlock
+is part of the Mutt-ng mail user agent package. It has been
created to avoid running mutt with group mail privileges.
.SH AUTHOR
Thomas Roessler <roessler@guug.de>
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
.\"
-.TH muttrc 5 "September 2002" Unix "User Manuals"
+.TH muttngrc 5 "September 2002" Unix "User Manuals"
.SH NAME
-muttrc \- Configuration file for the Mutt Mail User Agent
+muttngrc \- Configuration file for the Mutt-ng Mail User Agent
.SH DESCRIPTION
.PP
-A mutt configuration file consists of a series of \(lqcommands\(rq.
+A Mutt-ng configuration file consists of a series of \(lqcommands\(rq.
Each line of the file may contain one or more commands. When
multiple commands are used, they must be separated by a semicolon
(\(lq\fB;\fP\(rq).
\fBunalternates\fP [\fB * \fP | \fIregexp\fP [ \fB,\fP \fIregexp\fP [ ... ]] ]
.fi
.IP
-\fBalternates\fP is used to inform mutt about alternate addresses
+\fBalternates\fP is used to inform Mutt-ng about alternate addresses
where you receive mail; you can use regular expressions to specify
-alternate addresses. This affects mutt's idea about messages
+alternate addresses. This affects Mutt-ng's idea about messages
from you, and messages addressed to you. \fBunalternates\fP removes
a regular expression from the list of known alternates.
.PP
.fi
.IP
\fBalternative_order\fP command permits you to define an order of preference which is
-used by mutt to determine which part of a
+used by Mutt-ng to determine which part of a
\fBmultipart/alternative\fP body to display.
A subtype of \(lq\fB*\fP\(rq matches any subtype, as does an empty
subtype. \fBunalternative_order\fP removes entries from the
\fBunauto_view\fP \fItype\fP[\fB/\fP\fIsubtype\fP] [ ... ]
.fi
.IP
-This commands permits you to specify that mutt should automatically
+This commands permits you to specify that Mutt-ng should automatically
convert the given MIME types to text/plain when displaying messages.
For this to work, there must be a
.BR mailcap (5)
.fi
.IP
This command permits you to define a list of "data" MIME content
-types for which mutt will try to determine the actual file type from
+types for which Mutt-ng will try to determine the actual file type from
the file name, and not use a
.BR mailcap (5)
entry given for the original MIME type. For instance, you may add
.BR pager ", " pgp ", " postpone ", "
.BR mix .
.IP
-For more information on keys and functions, please consult the Mutt
+For more information on keys and functions, please consult the Mutt-ng
Manual.
.TP
\fBaccount-hook\fP [\fB!\fP]\fIregexp\fP \fIcommand\fP
\fBcharset-hook\fP \fIalias\fP \fIcharset\fP
This command defines an alias for a character set. This is useful
to properly display messages which are tagged with a character set
-name not known to mutt.
+name not known to Mutt-ng.
.TP
\fBiconv-hook\fP \fIcharset\fP \fIlocal-charset\fP
This command defines a system-specific name for a character set.
.B "iconv-hook iso-8859-1 8859-1"
.TP
\fBmessage-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
-Before mutt displays (or formats for replying or forwarding) a
+Before Mutt-ng displays (or formats for replying or forwarding) a
message which matches the given \fIpattern\fP (or, when it is
preceded by an exclamation mark, does not match the \fIpattern\fP),
the given \fIcommand\fP is executed. When multiple
which they occur in the configuration file.
.TP
\fBfolder-hook\fP [\fB!\fP]\fIregexp\fP \fIcommand\fP
-When mutt enters a folder which matches \fIregexp\fP (or, when
+When Mutt-ng enters a folder which matches \fIregexp\fP (or, when
\fIregexp\fP is preceded by an exclamation mark, does not match
\fIregexp\fP), the given \fIcommand\fP is executed.
.IP
\fBunsubscribe\fP \fIregexp\fP [ \fIregexp\fP ... ]
.fi
.IP
-Mutt maintains two lists of mailing list address patterns, a list of
+Mutt-ng maintains two lists of mailing list address patterns, a list of
subscribed mailing lists, and a list of known mailing lists. All
subscribed mailing lists are known. Patterns use regular expressions.
.IP
it from the list of subscribed mailing lists.
.TP
\fBmbox-hook\fP [\fB!\fP]\fIpattern\fP \fImailbox\fP
-When mutt changes to a mail folder which matches \fIpattern\fP,
+When Mutt-ng changes to a mail folder which matches \fIpattern\fP,
\fImailbox\fP will be used as the \(lqmbox\(rq folder, i.e., read
messages will be moved to that folder when the mail folder is left.
.IP
user-defined headers.
.TP
\fBhdr_order\fP \fIheader1\fP \fIheader2\fP [ ... ]
-With this command, you can specify an order in which mutt will
+With this command, you can specify an order in which Mutt-ng will
attempt to present headers to you when viewing messages.
.TP
\fBsave-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
.IP
These commands provide a way to handle compressed folders. The given
\fBregexp\fP specifies which folders are taken as compressed (e.g.
-"\fI\\\\.gz$\fP"). The commands tell Mutt how to uncompress a folder
+"\fI\\\\.gz$\fP"). The commands tell Mutt-ng how to uncompress a folder
(\fBopen-hook\fP), compress a folder (\fBclose-hook\fP) or append a
compressed mail to a compressed folder (\fBappend-hook\fP). The
\fIcommand\fP string is the
These commands are used to set and manipulate configuration
varibles.
.IP
-Mutt knows four basic types of variables: boolean, number, string
+Mutt-ng knows four basic types of variables: boolean, number, string
and quadoption. Boolean variables can be \fBset\fP (true),
\fBunset\fP (false), or \fBtoggle\fPd. Number variables can be assigned
a positive integer value.
\fBnospam\fP \fIpattern\fP
.fi
These commands define spam-detection patterns from external spam
-filters, so that mutt can sort, limit, and search on
+filters, so that Mutt-ng can sort, limit, and search on
``spam tags'' or ``spam attributes'', or display them
-in the index. See the Mutt manual for details.
+in the index. See the Mutt-ng manual for details.
.TP
\fBunhook\fP [\fB * \fP | \fIhook-type\fP ]
This command will remove all hooks of a given type, or all hooks
can be any of the \fB-hook\fP commands documented above.
.SH PATTERNS
.PP
-In various places with mutt, including some of the abovementioned
+In various places with Mutt-ng, including some of the abovementioned
\fBhook\fP commands, you can specify patterns to match messages.
.SS Constructing Patterns
.PP
A simple pattern consists of an operator of the form
\(lq\fB~\fP\fIcharacter\fP\(rq, possibly followed by a parameter
-against which mutt is supposed to match the object specified by
+against which Mutt-ng is supposed to match the object specified by
this operator. (For a list of operators, see below.)
.PP
With some of these operators, the object to be matched consists of
.PP
You can construct complex patterns by combining simple patterns with
logical operators. Logical AND is specified by simply concatenating
-two simple patterns, for instance \(lq~C mutt-dev ~s bug\(rq.
+two simple patterns, for instance \(lq~C mutt-ng-dev ~s bug\(rq.
Logical OR is specified by inserting a vertical bar (\(lq\fB|\fP\(rq)
-between two patterns, for instance \(lq~C mutt-dev | ~s bug\(rq.
+between two patterns, for instance \(lq~C mutti-ng-dev | ~s bug\(rq.
Additionally, you can negate a pattern by prepending a bang
(\(lq\fB!\fP\(rq) character. For logical grouping, use braces
-(\(lq()\(rq). Example: \(lq!(~t mutt|~c mutt) ~f elkins\(rq.
+(\(lq()\(rq). Example: \(lq!(~t Mutt-ng|~c Mutt-ng) ~f elkins\(rq.
.SS Simple Patterns
.PP
-Mutt understands the following simple patterns:
+Mutt-ng understands the following simple patterns:
.PP
.TS
l l.
followed by a year specifications. Omitted fields default to the
current month and year.
.PP
-Mutt understands either two or four digit year specifications. When
-given a two-digit year, mutt will interpret values less than 70 as
+Mutt-ng understands either two or four digit year specifications. When
+given a two-digit year, Mutt-ng will interpret values less than 70 as
lying in the 21st century (i.e., \(lq38\(rq means 2038 and not 1938,
and \(lq00\(rq is interpreted as 2000), and values
greater than or equal to 70 as lying in the 20th century.
.PP
-Note that this behaviour \fIis\fP Y2K compliant, but that mutt
+Note that this behaviour \fIis\fP Y2K compliant, but that Mutt-ng
\fIdoes\fP have a Y2.07K problem.
.PP
If a date range consists of a single date, the operator in question